DEV Community

Cover image for A collection of 106 open-source linters
Cédric Teyton for Packmind

Posted on • Updated on • Originally published at packmind.com

A collection of 106 open-source linters

Linters are commonly used in software development as they help to identify in your code :

  • Possible bugs
  • Code smells (method too long, with too many parameters, ...)
  • Vulnerabilities issues
  • And so much more...

They're used on local code repositories during coding or before a commit, and also during CI/CD with some break conditions that can stop the full process.

You may already know some of them. At Promyze, we try to regularly maintain a list of open-source linters and to identify new promising projects as well as those which are less and less updated.

This year we decided to provide a new fresh list, and we'll prepare next year an updated list with the evolution of some indicators, like the number of stars on Github.

Here is the complete list in the table below. Please now that N/A means that projects are not hosted on Github.

You can find the PDF/PNG version of the infographic on this page.

Language Name Stars Github Last Activity
Ansible ansible-lint 2534 June 24, 2021
C++ oclint 3,333 July 1, 2021
C++ vera++ 0 July 28, 2020
C++ cppcheck 0 July 4, 2021
C++ cpplint 821 May 20, 2021
C# gendarme 155 December 9, 2020
C# dotnet-format 1,040 July 8, 2021
C# code-cracker 1,058 May 19, 2021
C# Roslynator 2,077 July 4, 2021
Chef cookstyle 95 July 6, 2021
Clojure eastwood 1,018 July 1, 2021
Clojure joker 1,198 June 11, 2021
Clojure kibit 1,668 April 13, 2021
Clojure clf-kondo 1,180 July 7, 2021
CSS stylelint 8,849 May 31, 2021
CSS csslint 4,613 February 21, 2019
CSS csscomb.js 3,097 June 24, 2019
CSS doiuse 988 April 2, 2021
D D-Scanner 226 June 5, 2021
Dart dart_style 502 July 2, 2021
Dart linter 419 July 8, 2021
Docker hadolint 5,564 July 5, 2021
Docker dockerfilelint 778 September 15, 2020
Elixir credo 3,955 July 7, 2021
Elixir dogma 475 January 19, 2018
Erlang elvis 389 April 6, 2021
F# fantomas 510 July 7, 2021
F# FSharpLint 235 July 5, 2021
Go golangci-lint 8,045 July 7, 2021
Go goreporter 2,880 September 2, 2018
Go revive 2,821 June 30, 2021
Go go-critic 953 June 29, 2021
Go ineffassign 330 May 22, 2021
Groovy CodeNarc 259 July 4, 2021
Haml haml-lint 249 June 22, 2021
Haskell hlint 1,182 July 3, 2021
Haskell brittany 647 May 18, 2021
HTML HTMLHint 2,645 June 14, 2021
HTML tidy-html5 2,312 July 1, 2021
HTML bootlint 2,399 May 10, 2021
HTML validator 1,092 July 8, 2021
Java checkstyle 6,095 July 8, 2021
Java error-prone 5,637 July 8, 2021
Java pmd 3,364 July 8, 2021
Java spotbugs 2381 July 6, 2021
Java spoon 1,160 July 8, 2021
JavaScript flow 21,339 July 8, 2021
JavaScript prettier 40,046 July 8, 2021
JavaScript standard 25,690 July 4, 2021
JavaScript eslint 18,759 July 8, 2021
JavaScript xo 5,955 July 8, 2021
JavaScript rslint 1,522 June 25, 2021
JavaScript hegel 1,735 May 17, 2021
Julia Lint.jl 161 August 21, 2019
Kotlin ktlint 4,315 July 4, 2021
Kotlin detekt 3,755 July 7, 2021
Kubernetes kube-lint 154 February 20, 2020
Kubernetes kubeval 2,413 April 26, 2021
Markdown markdownlint 2,572 February 12, 2021
Markdown textlint 2,047 July 7, 2021
Ocaml mascot 0 August 29, 2012
PHP PHP-CS-Fixer 10,272 June 28, 2021
PHP phpstan 9,986 July 8, 2021
PHP phpcpd 2,063 May 19, 2021
PHP PHP_CodeSniffer 8,679 July 1, 2021
PHP phan 5,101 June 27, 2021
PHP psalm 4,204 July 8, 2021
PHP phplint 702 July 8, 2021
Puppet puppet-lint 758 January 18, 2021
Python pycodestyle 4,341 May 7, 2021
Python pylint 3,423 July 7, 2021
Python bandit 3,924 June 29, 2021
Python flake8 1,360 July 6, 2021
Python mypy 10,982 July 8, 2021
Python pyre-check 5,458 July 7, 2021
Python pyright 6,920 July 6, 2021
R pylama 860 July 4, 2021
R styler 484 July 8, 2021
Ruby rubocop 11,411 July 7, 2021
Ruby brakeman 6,149 July 5, 2021
Ruby reek 3,558 July 4, 2021
Ruby sorbet 2,612 July 7, 2021
Rust rust-clippy 6,029 July 6, 2021
Rust rust-analyzer 6,739 July 8, 2021
Scss scss-lint 3,511 July 26, 2020
Scala scapegoat 421 July 5, 2021
Scala scalastyle 676 March 4, 2019
Scala wartremover 967 June 25, 2021
Shell shellcheck 25,304 July 2, 2021
Shell bashate 0 May 31, 2021
Solidity Ethlint 721 September 14, 2019
SQL sqlint 364 April 2, 2021
SQL sqlfluff 1,783 July 6, 2021
Swift SwiftLint 14,939 July 6, 2021
Terraform tflint 2,430 July 5, 2021
Terraform tfsec 2,868 July 8, 2021
Terraform terrascan 1,905 July 7, 2021
Terraform terragrunt 5,097 June 22, 2021
TypeScript typescript-eslint 9,874 July 5, 2021
TypeScript gts 3,498 July 7, 2021
TypeScript codelyzer 2,420 July 5, 2021
Yaml yamllint 1,577 June 10, 2021
Yaml spectral 1,005 July 8, 2021
Multi-lang Sonarqube 5,905 July 7, 2021
Multi-lang super-linter 6,819 June 29, 2021
Multi-lang mega-linter 230 July 7, 2021

Top comments (0)