awesome-linters
A community-driven list of awesome linters.
AI summary
Code standardizer
A community-driven list of linters and static analysis tools for coding standards and best practices
- stars
- 939
- forks
- 92
- watching
- 29
- awesome list
- 1
- entries
- 106
What's in the list
106 links in 48 sections, with live GitHub stats.activeno commit in 2y
Linters / Language Agnostic
coala
Language agnostic linter based on rules and standards. Written in Python
commitlint
- 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)
- 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
a library for parsing reports from static code analyzers. Can be used with Jenkins, Gradle, Maven and command line tools
Linters / Ansible
ansible-lint
Checks playbooks for practices and behaviour that could potentially be improved
Linters / Awesome Lists
awesome-lint
Linter for Awesome lists. Helps to create and maintain Awesome lists. Written in JavaScript
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
Source code checker for C/C++ files following Google's internal C++ style guide
oclint
Static analysis for C, C++ and Objective-C. Written in C++
uncrustify
Source code beautifier for C, C++, C#, ObjectiveC, D, Java, Pawn and VALA
Linters / CoffeeScript
@coffelint/cli
Configurable linter written in CoffeScript to analyze CoffeScript
Linters / Crystal
ameba
Static code analysis tool for Crystal
Linters / CSS
csslint
CSS static analysis written in JavaScript. Uses pluggable rules
csscomb
CSS tool that beautifies CSS based on a configuration. Helps with keeping CSS consistent. Written in JavaScript
ie8linter
Static analysis for Internet Explorer 8 compatibility. Written in JavaScript
postcss-bem-linter
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
Linters / CSV
csvlint.rb
The gem behind
Linters / Dart
linter
Linter for Dart mostly focused on style lints. It's configurable but comes with configured rules out of the box. Written in Dart
Linters / Dockerfile
dockerfile_lint
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
Dockerfilelint is a node module that analyzes a Dockerfile and looks for common traps, mistakes and helps enforce best practices
Dockerlint
Linting tool for Dockerfiles based on recommendations from Dockerfile Reference and Best practices for writing Dockerfiles as of Docker 1.6
hadolint
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
Linters / Elixir
credo
Static code analysis tool for the Elixir language with a focus on code consistency and teaching
Linters / Elm
elm-review
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
Linters / English
Linters / Env
dotenv-linter
- ⚡️Lightning-fast linter for files. Written in Rust 🦀
Linters / EPUB
EPUBCheck
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
Linters / Erlang
elvis
Configurable Erlang linter written in Erlang
Linters / Go
golangci-lint
Linters Runner for Go. 5x faster than gometalinter. Nice colored output. Can report only new issues. Fewer false-positives. Yaml/toml config
golint
Go style linter written in Go. Focus with coding styles more than with correctness
gometalinter
Concurrently run Go lint tools and normalise their output
- go vet
Examines Go source code and reports suspicious constructs
Linters / GraphQL
graphql-schema-linter
- Validate GraphQL schema definitions against a set of rules
Linters / Groovy
npm-groovy-lint
Validate, format and auto-fix Groovy, Jenkinsfile and Gradle files
Linters / Haskell
hlint
Tool for suggesting possible improvements to Haskell code. These suggestions include ideas such as using alternative functions, simplifying code and spotting redundancies
Linters / Haxe
haxe-checkstyle
Haxe Checkstyle is a static analysis tool to help developers write Haxe code that adheres to a coding standard
Linters / HTML
htmlhint
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
Bootlint is a tool that checks for several common HTML mistakes in webpages that are using Bootstrap
jinjalint
A prototype linter which checks the indentation and the correctness of Jinja-like/HTML templates. Also supports Django Templates
LintHTML
LintHTML is a fork of htmllint. It is extendable via plugins
Nu Html Checker
An offline version of W3C's official validator for HTML, CSS, and SVG. Written in Java
Linters / Java
checkstyle
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
Source code beautifier for C, C++, C#, ObjectiveC, D, Java, Pawn and VALA
Linters / JavaScript
clinton
JavaScript project style linter
eslint
Fully pluggable tool for identifying and reporting on patterns in JavaScript
jshint
Community-driven tool that detects errors and potential problems in JavaScript code
prettier
Opinionated JavaScript formatter inspired by refmt with advanced support for language features from ES2017, JSX, and Flow
putout
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
JavaScript style linter that allows no configuration
xo
Opinionated but configurable ESLint wrapper with lots of goodies included. Enforces strict and readable code
Linters / Kotlin
ktlint
An anti-bikeshedding Kotlin linter with built-in formatter
Linters / Lua
Linters / Markdown
markdownlint
Node.js style checker and lint tool for Markdown/CommonMark files
mdl
Check markdown files and flag style issues. Written in ruby and is distributed as a rubygem
remark-lint
Written in JavaScript. remark-lint provides configurable Markdown style linting
Linters / npm
lockfile-lint
Lint an npm or yarn lockfile to analyze and detect security issues
npm-package-json-lint
- Configurable linter to enforce standards in npm package.json files
Linters / Objective-C
oclint
Static source code analysis tool to improve quality and reduce defects for C, C++ and Objective-C. Written in C++
uncrustify
Source code beautifier for C, C++, C#, ObjectiveC, D, Java, Pawn and VALA
Linters / OpenAPI (Swagger)
speccy
A handy toolkit for OpenAPI, with a linter to enforce quality rules
Linters / Perl
- perlcritic
The leading static analyzer for Perl. Configurable, extensible, powerful
- Perltidy
a Perl code autoformatter/beautifier
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
PHPMD can be seen as a user friendly and easy to configure frontend for the raw metrics measured by PHP Depend
Linters / Polymer
polylint
Catch errors in your polymer project before even running your code. Written in TypeScript
Linters / Pug
pug-lint
— An unopinionated and configurable linter and style checker for Pug (formerly Jade)
Linters / Puppet
puppet-lint
Test modules and manifests against the recommended Puppet style guidelines from the Puppet Labs style guide. Written in Ruby
Linters / Python
black
The uncompromising Python code formatter. Blackened code looks the same regardless of the project you're reading
flake8
Runs PyFlakes, pycodestyle and other tools from only one CLI. Written in Python
pycodestyle (formerly called pep8)
- Tool to check your Python code against some of the style conventions in PEP 8
pylint
Source code analyzer which looks for programming errors, helps enforcing a coding standard and sniffs for some code smells
ruff
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
- The strictest and most opinionated python linter ever
yala
YALA combines many linters to improve the quality of your code
Linters / Rego
regal
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
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
- Validate reST files either as a module or from a CLI utility. Written in Python
Linters / Ruby
rubocop
Ruby static code analyzer. Out of the box it will enforce many of the guidelines outlined in the community Ruby Style Guide
Linters / Rust
rust-clippy
Collection of lints to catch common mistakes and improve your Rust code
Linters / SaltStack
salt-lint
A command-line utility that checks for best practices in SaltStack
Linters / Sass
sass-lint
Node-only Sass linter for both sass and scss syntax
scss-lint
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
Linters / Scala
linter
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
Another similar tool to Checkstyle for Java. Flags suspicious language usage in code
- wartRemover
Flexible and configurable Scala linter written in Scala
Linters / Shell
shellcheck
Gives warnings and suggestions for bash/sh shell scripts
shfmt
a shell (POSIX shell / bash / mksh) parser, formatter, and interpreter written in Go 1.13-and-above
Linters / SQL
sqlfluff
SQLFluff is a dialect-flexible and configurable SQL linter
Linters / Swift
swiftlint
Tool to enforce Swift style and conventions, loosely based on GitHub's Swift Style Guide
Linters / TypeScript
tslint
Customizable TypeScript linter with automatic fixing of formating and style violations
Linters / YAML
Nothing in this list matches your filter.
Featured in 1 awesome list
Each link jumps to the spot where the list mentions awesome-linters.