{"id":20749148,"url":"https://github.com/g-research/fsharp-analyzers","last_synced_at":"2025-04-28T12:22:41.891Z","repository":{"id":200966437,"uuid":"688484605","full_name":"G-Research/fsharp-analyzers","owner":"G-Research","description":"Analyzers for F#","archived":false,"fork":false,"pushed_at":"2025-02-15T08:26:35.000Z","size":437,"stargazers_count":18,"open_issues_count":9,"forks_count":1,"subscribers_count":17,"default_branch":"main","last_synced_at":"2025-03-30T09:31:34.243Z","etag":null,"topics":["analyzer","analyzers","code-quality","code-scanning","dotnet","fsharp"],"latest_commit_sha":null,"homepage":"https://g-research.github.io/fsharp-analyzers/","language":"F#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/G-Research.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-09-07T12:49:24.000Z","updated_at":"2025-03-16T10:21:49.000Z","dependencies_parsed_at":null,"dependency_job_id":"5f1f4223-d70b-42d9-9ba0-b33eb33be8c3","html_url":"https://github.com/G-Research/fsharp-analyzers","commit_stats":null,"previous_names":["g-research/fsharp-analyzers"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/G-Research%2Ffsharp-analyzers","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/G-Research%2Ffsharp-analyzers/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/G-Research%2Ffsharp-analyzers/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/G-Research%2Ffsharp-analyzers/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/G-Research","download_url":"https://codeload.github.com/G-Research/fsharp-analyzers/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251311647,"owners_count":21569070,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["analyzer","analyzers","code-quality","code-scanning","dotnet","fsharp"],"created_at":"2024-11-17T08:21:17.221Z","updated_at":"2025-04-28T12:22:41.874Z","avatar_url":"https://github.com/G-Research.png","language":"F#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# G-Research Fsharp Analyzers\n\n![GitHub Workflow Status (event)](https://img.shields.io/github/actions/workflow/status/G-Research/fsharp-analyzers/release.yml?branch=main\u0026label=CI\u0026style=flat-square)\n[![Nuget (with prereleases)](https://img.shields.io/nuget/vpre/G-Research.FSharp.Analyzers?style=flat-square)](https://www.nuget.org/packages/G-Research.FSharp.Analyzers/absoluteLatest)\n\nA curated set of [Ionide SDK analyzers](https://ionide.io/FSharp.Analyzers.SDK/) for F#.\n\n## Usage\n\nTo run any analyzer you need to find a way to download the NuGet package locally.\nAt the time of writing there is no standard way to do this, one way this can be done is by using the [\u003cPackageDownload\u003e](https://learn.microsoft.com/en-us/nuget/consume-packages/packagedownload-functionality)\n\n```xml\n\u003cProject Sdk=\"Microsoft.Build.NoTargets/1.0.80\"\u003e \u003c!-- This is not a project we want to build. --\u003e\n\n  \u003cPropertyGroup\u003e\n    \u003cIsPackable\u003efalse\u003c/IsPackable\u003e\n    \u003cRestorePackagesPath\u003e./.analyzerpackages/\u003c/RestorePackagesPath\u003e \u003c!-- Changes the global packages folder--\u003e\n    \u003c!-- \u003cMSBuildProjectExtensionsPath\u003e$(RestorePackagesPath)obj/\u003c/MSBuildProjectExtensionsPath\u003e --\u003e \u003c!-- It's still PackageReference, so project intermediates are still created. --\u003e\n    \u003cTargetFramework\u003enet6.0\u003c/TargetFramework\u003e \u003c!-- This is not super relevant, as long as your SDK version supports it. --\u003e\n    \u003cDisableImplicitNuGetFallbackFolder\u003etrue\u003c/DisableImplicitNuGetFallbackFolder\u003e \u003c!-- If a package is resolved to a fallback folder, it may not be downloaded.--\u003e\n    \u003cAutomaticallyUseReferenceAssemblyPackages\u003efalse\u003c/AutomaticallyUseReferenceAssemblyPackages\u003e \u003c!-- We don't want to build this project, so we do not need the reference assemblies for the framework we chose.--\u003e\n  \u003c/PropertyGroup\u003e\n\n  \u003cItemGroup\u003e\n    \u003cPackageDownload Include=\"G-Research.FSharp.Analyzers\" Version=\"[0.1.4]\" /\u003e\n  \u003c/ItemGroup\u003e\n\n\u003c/Project\u003e\n```\n\nRunning `dotnet restore` will download this locally to `./.analyzerpackages`.\n\nThen you need to install the [fsharp-analyzers tool](https://www.nuget.org/packages/fsharp-analyzers).\n\nNext you can run `dotnet fsharp-analyzers --project YourProject.fsproj --analyzers-path ./.analyzerpackages/g-research.fsharp.analyzers/0.1.4/lib/net6.0`\n\nPlease checkout the documentation over at [FSharp.Analyzers.SDK](https://ionide.io/FSharp.Analyzers.SDK/).\n\n## Contributing\n\nWe welcome new contributors! We'll happily receive PRs for bug fixes\nor small changes. If you're contemplating something larger please get\nin touch first by opening a GitHub Issue describing the problem and\nhow you propose to solve it.\n\n### Scaffold new analyzer\n\nRun\n\n    dotnet fsi build.fsx -- -p NewAnalyzer\n\nto scaffold a new analyzer.\n\n## License\n\nCopyright \u0026copy; 2023 G-Research\n\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use these files except in compliance with the License.\nYou may obtain a copy of the License at\n\nhttp://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fg-research%2Ffsharp-analyzers","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fg-research%2Ffsharp-analyzers","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fg-research%2Ffsharp-analyzers/lists"}