awesome-linters
Code standardizer
A community-driven list of linters and static analysis tools for coding standards and best practices
A community-driven list of awesome linters.
932 stars
28 watching
91 forks
last commit: 4 months ago
Linked from 1 awesome list
linterstatic-analysisstatic-analyzersstyle-linter
Awesome Linters / Linters / Language Agnostic | |||
coala | 3,553 | 10 months ago | Language agnostic linter based on rules and standards. Written in Python |
commitlint | 16,893 | 7 days ago | - commitlint checks if your commit messages meet the |
MegaLinter | Linters aggregator of 49 languages, 22 formats, 21 tooling formats , copy-pastes and spell. Can automatically apply fixes with commit or Pull Request | ||
Scanmycode CE (Community Edition) | 817 | 8 days ago | - Code Scanning/SAST/Static Analysis/Linting using many tools/Scanners with One Report |
tidyall | an all-in-one code tidier and validator with many available backends, caching, filtering-by-paths, and some other features | ||
violations-lib | 148 | about 2 months ago | a library for parsing reports from static code analyzers. Can be used with Jenkins, Gradle, Maven and command line tools |
Awesome Linters / Linters / Ansible | |||
ansible-lint | 3,503 | about 18 hours ago | Checks playbooks for practices and behaviour that could potentially be improved |
Awesome Linters / Linters / Awesome Lists | |||
awesome-lint | 611 | 6 months ago | Linter for Awesome lists. Helps to create and maintain Awesome lists. Written in JavaScript |
Awesome Linters / Linters / C/C++ | |||
clang-format | Formats C/C++ code according to a coding style (Google, LLVM, Mozilla, Webkit, and Chromium available) | ||
clang-tidy | A clang-based C/C++ linter tool to provide an extensible framework for diagnosing and fixing typical programming errors | ||
cppcheck | Cppcheck is a static analysis tool for C/C++ code. It provides unique code analysis to detect bugs and focuses on detecting undefined behaviour and dangerous coding constructs. The goal is to detect only real errors in the code (i.e. have very few false positives) | ||
cpplint | 1,586 | about 2 months ago | Source code checker for C/C++ files following Google's internal C++ style guide |
oclint | 3,776 | over 2 years ago | Static analysis for C, C++ and Objective-C. Written in C++ |
uncrustify | 2,866 | 7 days ago | Source code beautifier for C, C++, C#, ObjectiveC, D, Java, Pawn and VALA |
Awesome Linters / Linters / CoffeeScript | |||
@coffelint/cli | 16 | 12 days ago | Configurable linter written in CoffeScript to analyze CoffeScript |
Awesome Linters / Linters / Crystal | |||
ameba | 522 | 16 days ago | Static code analysis tool for Crystal |
Awesome Linters / Linters / CSS | |||
csslint | 4,770 | over 4 years ago | CSS static analysis written in JavaScript. Uses pluggable rules |
csscomb | 3,289 | almost 2 years ago | CSS tool that beautifies CSS based on a configuration. Helps with keeping CSS consistent. Written in JavaScript |
ie8linter | 727 | about 1 year ago | Static analysis for Internet Explorer 8 compatibility. Written in JavaScript |
postcss-bem-linter | 572 | about 1 year ago | Plugin for PostCSS to lint CSS according to . Written in JavaScript |
stylelint | CSS linter that is unopinionated, supports plugins and has a wide range of rules built-in. Written in JavaScript, it parses by default CSS-like syntaxes such as SCSS, Sass, Less and SugarSS | ||
Awesome Linters / Linters / CSV | |||
csvlint.rb | 287 | 25 days ago | The gem behind |
Awesome Linters / Linters / Dart | |||
linter | 636 | 8 days ago | Linter for Dart mostly focused on style lints. It's configurable but comes with configured rules out of the box. Written in Dart |
Awesome Linters / Linters / Dockerfile | |||
dockerfile_lint | 86 | about 2 years ago | Rule based linter for Dockerfiles. The linter rules can be used to check file syntax as well as arbitrary semantic and best practice attributes determined by the rule file writer. The linter can also be used to check LABEL rules against docker images |
Dockerfilelint | 992 | about 1 year ago | Dockerfilelint is a node module that analyzes a Dockerfile and looks for common traps, mistakes and helps enforce best practices |
Dockerlint | 188 | over 4 years ago | Linting tool for Dockerfiles based on recommendations from Dockerfile Reference and Best practices for writing Dockerfiles as of Docker 1.6 |
hadolint | 10,453 | 26 days ago | Linter for Dockerfiles. The linter is parsing the Dockerfile into an AST and performs rules on top of the AST. It is standing on the shoulders of ShellCheck to lint the Bash code inside RUN instructions |
Awesome Linters / Linters / Elixir | |||
credo | 4,932 | 18 days ago | Static code analysis tool for the Elixir language with a focus on code consistency and teaching |
Awesome Linters / Linters / Elm | |||
elm-review | 255 | about 2 months ago | Analyzes whole Elm projects, with a focus on shareable and custom rules written in Elm that add guarantees the Elm compiler doesn't give you |
Awesome Linters / Linters / English | |||
alex | 4,811 | 4 months ago | Linter to help catch insensitive writing in English. Written in JavaScript |
proselint | 4,363 | 4 months ago | Linter for English that provides guidelines to make better writing. It has plugins for several editors and is configurable |
textlint | The pluggable linting tool for natural language texts | ||
Awesome Linters / Linters / Env | |||
dotenv-linter | 1,835 | 25 days ago | - ⚡️Lightning-fast linter for files. Written in Rust 🦀 |
Awesome Linters / Linters / EPUB | |||
EPUBCheck | 1,655 | 4 months ago | a tool to validate the conformance of EPUB publications against the EPUB specifications. Can be run as a standalone command-line tool or used as a Java library |
Awesome Linters / Linters / Erlang | |||
elvis | 426 | about 2 months ago | Configurable Erlang linter written in Erlang |
Awesome Linters / Linters / Go | |||
golangci-lint | 15,737 | 1 day ago | Linters Runner for Go. 5x faster than gometalinter. Nice colored output. Can report only new issues. Fewer false-positives. Yaml/toml config |
golint | 3,976 | over 3 years ago | Go style linter written in Go. Focus with coding styles more than with correctness |
gometalinter | 3,505 | over 5 years ago | Concurrently run Go lint tools and normalise their output |
go vet | Examines Go source code and reports suspicious constructs | ||
Awesome Linters / Linters / GraphQL | |||
graphql-schema-linter | 694 | 24 days ago | - Validate GraphQL schema definitions against a set of rules |
Awesome Linters / Linters / Groovy | |||
npm-groovy-lint | 208 | 7 days ago | Validate, format and auto-fix Groovy, Jenkinsfile and Gradle files |
Awesome Linters / Linters / Haskell | |||
hlint | 1,475 | 10 days ago | Tool for suggesting possible improvements to Haskell code. These suggestions include ideas such as using alternative functions, simplifying code and spotting redundancies |
Awesome Linters / Linters / Haxe | |||
haxe-checkstyle | 124 | 26 days ago | Haxe Checkstyle is a static analysis tool to help developers write Haxe code that adheres to a coding standard |
Awesome Linters / Linters / HTML | |||
htmlhint | 3,089 | 22 days ago | HTMLHint is a Static Code Analysis Tool for HTML, you can use it with IDE or in build system |
html-validate | Offline HTML5 validator. Validates either a full document or a smaller (incomplete) template | ||
bootlint | 2,397 | almost 3 years ago | Bootlint is a tool that checks for several common HTML mistakes in webpages that are using Bootstrap |
jinjalint | 69 | over 1 year ago | A prototype linter which checks the indentation and the correctness of Jinja-like/HTML templates. Also supports Django Templates |
LintHTML | 85 | about 1 month ago | LintHTML is a fork of htmllint. It is extendable via plugins |
Nu Html Checker | 1,708 | 11 days ago | An offline version of W3C's official validator for HTML, CSS, and SVG. Written in Java |
Awesome Linters / Linters / Java | |||
checkstyle | 8,354 | 1 day ago | Checkstyle is a development tool to help programmers write Java code that adheres to a coding standard |
findbugs | Uses static analysis to look for bugs in Java code | ||
pmd | Static analyzer that finds common programming flaws. It supports Java, JavaScript, Salesforce.com Apex, PLSQL, Apache Velocity, XML, XSL | ||
uncrustify | 2,866 | 7 days ago | Source code beautifier for C, C++, C#, ObjectiveC, D, Java, Pawn and VALA |
Awesome Linters / Linters / JavaScript | |||
clinton | 122 | about 5 years ago | JavaScript project style linter |
eslint | 25,110 | 8 days ago | Fully pluggable tool for identifying and reporting on patterns in JavaScript |
jshint | 8,990 | about 1 year ago | Community-driven tool that detects errors and potential problems in JavaScript code |
prettier | 49,431 | 7 days ago | Opinionated JavaScript formatter inspired by refmt with advanced support for language features from ES2017, JSX, and Flow |
putout | 708 | 12 days ago | Linter that fixes everything it can find, supports JS/TS/Flow and wrap ESLint (when exists) |
quick-lint-js | Finds bugs in JavaScript programs. Designed for editors | ||
standard | 29,135 | 2 months ago | JavaScript style linter that allows no configuration |
xo | 7,698 | about 1 month ago | Opinionated but configurable ESLint wrapper with lots of goodies included. Enforces strict and readable code |
Awesome Linters / Linters / Kotlin | |||
ktlint | 6,233 | 10 days ago | An anti-bikeshedding Kotlin linter with built-in formatter |
Awesome Linters / Linters / Lua | |||
luacheck | 364 | 3 months ago | A tool for linting and static analysis of Lua code |
lualint | 85 | over 1 year ago | lualint performs luac-based static analysis of global variable usage in Lua source code |
Awesome Linters / Linters / Markdown | |||
markdownlint | 4,819 | 8 days ago | Node.js style checker and lint tool for Markdown/CommonMark files |
mdl | 1,813 | 11 months ago | Check markdown files and flag style issues. Written in ruby and is distributed as a rubygem |
remark-lint | 952 | 4 months ago | Written in JavaScript. remark-lint provides configurable Markdown style linting |
Awesome Linters / Linters / npm | |||
lockfile-lint | 785 | 2 months ago | Lint an npm or yarn lockfile to analyze and detect security issues |
npm-package-json-lint | 224 | 11 days ago | - Configurable linter to enforce standards in npm package.json files |
Awesome Linters / Linters / Objective-C | |||
oclint | 3,776 | over 2 years ago | Static source code analysis tool to improve quality and reduce defects for C, C++ and Objective-C. Written in C++ |
uncrustify | 2,866 | 7 days ago | Source code beautifier for C, C++, C#, ObjectiveC, D, Java, Pawn and VALA |
Awesome Linters / Linters / OpenAPI (Swagger) | |||
speccy | 828 | almost 2 years ago | A handy toolkit for OpenAPI, with a linter to enforce quality rules |
Awesome Linters / Linters / Perl | |||
perlcritic | The leading static analyzer for Perl. Configurable, extensible, powerful | ||
Perltidy | a Perl code autoformatter/beautifier | ||
Awesome Linters / Linters / PHP | |||
phplint | Node wrapper around the native php linter that allows for parallel linting and integration with build systems like Grunt, Gulp and more | ||
PHP Mess Detector | 2,342 | about 2 months ago | PHPMD can be seen as a user friendly and easy to configure frontend for the raw metrics measured by PHP Depend |
Awesome Linters / Linters / Polymer | |||
polylint | 116 | about 7 years ago | Catch errors in your polymer project before even running your code. Written in TypeScript |
Awesome Linters / Linters / Pug | |||
pug-lint | 228 | over 1 year ago | — An unopinionated and configurable linter and style checker for Pug (formerly Jade) |
Awesome Linters / Linters / Puppet | |||
puppet-lint | 819 | about 1 year ago | Test modules and manifests against the recommended Puppet style guidelines from the Puppet Labs style guide. Written in Ruby |
Awesome Linters / Linters / Python | |||
black | 39,184 | 9 days ago | The uncompromising Python code formatter. Blackened code looks the same regardless of the project you're reading |
flake8 | 3,460 | 25 days ago | Runs PyFlakes, pycodestyle and other tools from only one CLI. Written in Python |
pycodestyle (formerly called pep8) | 5,042 | 25 days ago | - Tool to check your Python code against some of the style conventions in PEP 8 |
pylint | 5,321 | 11 days ago | Source code analyzer which looks for programming errors, helps enforcing a coding standard and sniffs for some code smells |
ruff | 32,812 | 8 days ago | An extremely fast Python linter, written in Rust which is orders of magnitude faster than alternative tools while integrating more functionality behind a single, common interface |
wemake-python-styleguide | 2,541 | 8 days ago | - The strictest and most opinionated python linter ever |
yala | 16 | about 1 year ago | YALA combines many linters to improve the quality of your code |
Awesome Linters / Linters / Rego | |||
regal | 261 | 8 days ago | Regal is a linter for the policy language . Regal aims to catch bugs and mistakes in policy code, while at the same time helping people learn the language, best practices and idiomatic constructs |
Awesome Linters / Linters / reStructuredText | |||
doc8 | Doc8 is an opinionated style checker for rst (with basic support for plain text) styles of documentation. Notice, it does not support additional sphinx extensions. Project is also available on or | ||
reStructuredText Lint | 171 | over 2 years ago | - Validate reST files either as a module or from a CLI utility. Written in Python |
Awesome Linters / Linters / Ruby | |||
rubocop | 12,650 | 6 days ago | Ruby static code analyzer. Out of the box it will enforce many of the guidelines outlined in the community Ruby Style Guide |
Awesome Linters / Linters / Rust | |||
rust-clippy | 106 | about 1 month ago | Collection of lints to catch common mistakes and improve your Rust code |
Awesome Linters / Linters / SaltStack | |||
salt-lint | 154 | 3 months ago | A command-line utility that checks for best practices in SaltStack |
Awesome Linters / Linters / Sass | |||
sass-lint | 1,767 | about 1 year ago | Node-only Sass linter for both sass and scss syntax |
scss-lint | 3,656 | 10 months ago | Tool to help keep your SCSS files clean and readable by running it against a collection of configurable linter rules |
stylelint | CSS linter that is unopinionated, supports plugins and has a wide range of rules built-in. Written in JavaScript, it parses by default CSS-like syntaxes such as SCSS, Sass, Less and SugarSS | ||
Awesome Linters / Linters / Scala | |||
linter | 268 | over 6 years ago | Scala static analysis compiler plugin which adds compile-time checks for various possible bugs, inefficiencies, and style problems |
scalastyle | Examines your Scala code and indicates potential problems with it. Similar to Checkstyle for Java | ||
scapegoat | 530 | 5 days ago | Another similar tool to Checkstyle for Java. Flags suspicious language usage in code |
wartRemover | Flexible and configurable Scala linter written in Scala | ||
Awesome Linters / Linters / Shell | |||
shellcheck | 36,479 | 19 days ago | Gives warnings and suggestions for bash/sh shell scripts |
shfmt | 7,325 | 4 days ago | a shell (POSIX shell / bash / mksh) parser, formatter, and interpreter written in Go 1.13-and-above |
Awesome Linters / Linters / SQL | |||
sqlfluff | 7,927 | 10 days ago | SQLFluff is a dialect-flexible and configurable SQL linter |
Awesome Linters / Linters / Swift | |||
swiftlint | 18,683 | 11 days ago | Tool to enforce Swift style and conventions, loosely based on GitHub's Swift Style Guide |
Awesome Linters / Linters / TypeScript | |||
tslint | 5,906 | over 3 years ago | Customizable TypeScript linter with automatic fixing of formating and style violations |
Awesome Linters / Linters / YAML | |||
spectral | 2,534 | 9 days ago | A flexible JSON/YAML linter, with out of the box support for OpenAPI v2/v3 and AsyncAPI v2 |
yamllint | 2,897 | 3 days ago | Linter for YAML files |