{"id":13492006,"url":"https://github.com/fsprojects/FSharpLint","last_synced_at":"2025-03-28T09:33:41.847Z","repository":{"id":13199049,"uuid":"15882825","full_name":"fsprojects/FSharpLint","owner":"fsprojects","description":"Lint tool for F#","archived":false,"fork":false,"pushed_at":"2024-03-14T17:34:00.000Z","size":58638,"stargazers_count":297,"open_issues_count":95,"forks_count":71,"subscribers_count":19,"default_branch":"master","last_synced_at":"2024-05-19T05:46:06.025Z","etag":null,"topics":["dotnet","fsharp","lint","linter"],"latest_commit_sha":null,"homepage":"https://fsprojects.github.io/FSharpLint/","language":"F#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fsprojects.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","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":"2014-01-13T21:41:58.000Z","updated_at":"2024-06-08T19:45:24.165Z","dependencies_parsed_at":"2024-01-17T15:03:19.342Z","dependency_job_id":"c1ef1808-860f-43d7-9364-e739361b2b52","html_url":"https://github.com/fsprojects/FSharpLint","commit_stats":null,"previous_names":[],"tags_count":56,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsprojects%2FFSharpLint","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsprojects%2FFSharpLint/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsprojects%2FFSharpLint/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsprojects%2FFSharpLint/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fsprojects","download_url":"https://codeload.github.com/fsprojects/FSharpLint/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246004106,"owners_count":20708133,"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":["dotnet","fsharp","lint","linter"],"created_at":"2024-07-31T19:01:02.300Z","updated_at":"2025-03-28T09:33:41.177Z","avatar_url":"https://github.com/fsprojects.png","language":"F#","readme":"# FSharpLint [![GitHub Actions Build Status](https://github.com/fsprojects/FSharpLint/workflows/CI/badge.svg)](https://github.com/fsprojects/FSharpLint/actions?query=branch%3Amaster)\n\nFSharpLint is a style checking tool for F#. It points out locations where a set of rules on how F# is to be styled have been broken.\nThe tool is configurable via JSON and can be run from a console app, or as an MSBuild task. It also provides an interface to easily integrate the tool into other software.\n\nThe project aims to let the user know of problems through [matching user defined hints](https://fsprojects.github.io/FSharpLint/how-tos/rules/FL0065.html) a la [HLint](http://community.haskell.org/~ndm/hlint/), and also by using custom rules written in F# similar to the rules in [Mascot](http://mascot.x9c.fr/manual.html) and [StyleCop](https://github.com/StyleCop/StyleCop).\n\nThe tool in use (running as an MSBuild task with TreatWarningsAsErrors set to true):\n\n![Example](http://i.imgur.com/D4c9g1m.png)\n\n## Usage\n\nFSharpLint can be used in several ways:\n\n* [Running as dotnet tool from command line](https://fsprojects.github.io/FSharpLint/how-tos/install-dotnet-tool.html).\n* [In VS Code using the Ionide-FSharp plugin](https://marketplace.visualstudio.com/items?itemName=Ionide.Ionide-fsharp).\n* [In Visual Studio using the F# Lint extension](https://marketplace.visualstudio.com/items?itemName=asti.fslint-vs).\n* [As an MSBuild Task](http://fsprojects.github.io/FSharpLint/how-tos/msbuild-task.html).\n* [In other editors through FsAutoComplete Language Server](https://github.com/fsharp/FsAutoComplete)\n\n## Documentation\n\nThe [docs](http://fsprojects.github.io/FSharpLint/) contain an overview of the tool and how to use it, including a list of the [available rules](http://fsprojects.github.io/FSharpLint/how-tos/rule-configuration.html#ruleList) for linting.\n\n## Nuget Packages\n\nPackage | Version\n------- | --------\n[dotnet tool](https://www.nuget.org/packages/dotnet-fsharplint/) | [![NuGet Status](http://img.shields.io/nuget/v/dotnet-fsharplint.svg?style=flat)](https://www.nuget.org/packages/dotnet-fsharplint/)\n[API](https://www.nuget.org/packages/FSharpLint.Core/) | [![NuGet Status](http://img.shields.io/nuget/v/FSharpLint.Core.svg?style=flat)](https://www.nuget.org/packages/FSharpLint.Core/)\n\n## How to build\n\n1. Make sure you've installed the .NET version defined in [global.json](global.json)\n2. Run `dotnet tool restore` to install all developer tools required to build the project\n3. Run `dotnet fake build -t Build` to build (which executes the `Build` target from the FAKE-based [build script](build.fsx))\n4. To run tests use `dotnet fake build -t Test`\n5. To build documentation use `dotnet fake build -t Docs`\n\n## How to work with documentation\n\n1. Make sure you've installed the .NET version defined in [global.json](global.json)\n2. Run `dotnet tool restore` to install all developer tools required to build the project\n3. Run `dotnet fake build` to build default target of [build script](build.fsx)\n4. Build documentation to make sure everything is fine with `dotnet fake build -t Docs`\n5. Go to docs folder `cd docs` and start Fornax in watch mode `dotnet fornax watch`\n6. Your documentation should be now accessible on `localhost:8080` and will be regenerated on every file save\n\n## How to release\n\nPlease [read the Releasing Guidelines](./RELEASE.md) if you're a maintainer.\n\n## How to contribute\n\nBug reports, feature requests, and pull requests are very welcome! Please [read the Contribution Guidelines](./CONTRIBUTING.md)\nto get started.\n\n## Licensing\n\nThe project is licensed under MIT. For more information on the license see the LICENSE file.\n\n## Maintainer(s)\n\n- [@duckmatt](https://github.com/duckmatt)\n- [@knocte](https://github.com/knocte)\n- [@jgardella](https://github.com/jgardella)\n\nThe default maintainer account for projects under \"fsprojects\" is [@fsprojectsgit](https://github.com/fsprojectsgit) - F# Community Project Incubation Space (repo management)\n","funding_links":[],"categories":["F#","Programming Languages","Development Tools"],"sub_categories":["Editor Plugins"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffsprojects%2FFSharpLint","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffsprojects%2FFSharpLint","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffsprojects%2FFSharpLint/lists"}