Topics / #linter

Linter projects on GitHub

Static linting tools that flag style and correctness issues in code.

As of , the most-starred Linter projects on GitHub are ruff (50.1K stars), shellcheck (40.2K stars) and vimrc (31.8K stars). GitHub.Locker tracks 51 Linter repositories with 679.3K stars combined. The fastest-growing on October 16 was yomiyasu, with +115 stars in a day.

51Projects
679.3KStars in total
+397Stars in a day

Hot right now

Most stars gained in a day · Oct 16

The all-time top

51 projects · by stars

  1. #1 · astral-sh/ruff

    ruff

    Ruff is an extremely fast Python linter and code formatter written in Rust, built to replace tools like Flake8, Black, isort, pydocstyle, pyupgrade, and autoflake with a single command-line tool.

    50.1K
  2. #2 · koalaman/shellcheck

    shellcheck

    ShellCheck is a free static analysis tool for shell scripts: it reads your bash/sh code and reports warnings and suggestions for problems in it.

    40.2K
  3. #3 · amix/vimrc

    vimrc

    The Ultimate vimrc: a polished, ready-made Vim configuration the author has been tweaking for over 10 years. You install it into your home directory and get a much better Vim out of the box.

    31.8K
  1. 4

    p3c

    30.9Kalibaba/p3c · Kotlin

    Alibaba Java Coding Guidelines (P3C): Java coding rules distilled from the accumulated best practices of Alibaba Group's technical teams, shipped as PMD static-analysis rules and IDE plugins.

  2. 5

    standard

    29.4Kstandard/standard · JavaScript

    JavaScript Standard Style — a zero-configuration style guide, linter and automatic code fixer for JavaScript. It enforces one consistent style and catches programmer errors early, with nothing to set up.

  3. 6

    eslint

    27.6Keslint/eslint · JavaScript

    ESLint is a linter for JavaScript: a tool that identifies and reports on patterns found in ECMAScript/JavaScript code, so problems get caught before they ship.

  4. 7

    biome

    26Kbiomejs/biome · Rust

    Biome is a toolchain for web projects: one fast tool that both formats and lints JavaScript, TypeScript, JSX, JSON, CSS and GraphQL, run from the CLI or your editor via LSP.

  5. 8

    tools

    23.4Krome/tools · Rust

    Rome is a unified toolchain for JavaScript, TypeScript, and the web: one program that formats, lints, and bundles code, built to replace separate tools like Babel, ESLint, webpack, Prettier, and Jest.

  6. 9

    oxc

    23.1Koxc-project/oxc · Rust

    Oxc — the Oxidation Compiler — is a collection of high-performance tools for JavaScript and TypeScript written in Rust: a parser, linter, formatter, transformer, minifier, and module resolver.

  7. 10

    wepy

    22.5KTencent/wepy · JavaScript

    WePY is a framework for component-based development of WeChat Mini Programs: you write code in your preferred style and pre-compilation turns it into mini program code. It adds Promises, async functions and other conveniences to make mini program development simpler and more efficient.

  8. 11

    mypy

    20.7Kpython/mypy · Python

    Mypy is a static type checker for Python: you add type hints (PEP 484) to your code and it warns you when you use those types incorrectly, catching bugs without even running the program.

  9. 12

    SwiftLint

    19.8Krealm/SwiftLint · Swift

    SwiftLint is an open-source linter that enforces Swift style and conventions — rules generally accepted by the Swift community, loosely based on the now-archived GitHub Swift Style Guide.

  10. 13

    golangci-lint

    19.4Kgolangci/golangci-lint · Go

    A fast linters runner for Go: one tool that runs over a hundred Go linters on your codebase in a single pass.

  11. 14

    commitlint

    18.8Kconventional-changelog/commitlint · TypeScript

    commitlint checks whether your commit messages meet the conventional commit format, linting them against a configurable rule set.

  12. 15

    ruby-style-guide

    16.5Krubocop/ruby-style-guide

    A community-driven Ruby coding style guide: it recommends best practices so real-world Ruby programmers can write code that other people can maintain. It deliberately favors established real-world usage over unproven ideals.

  13. 16

    typescript-eslint

    16.4Ktypescript-eslint/typescript-eslint · TypeScript

    typescript-eslint is the monorepo that provides the tooling enabling ESLint to understand and lint TypeScript code, including the parser and plugin rules.

  14. 17

    ast-grep

    16.3Kast-grep/ast-grep · Rust

    ast-grep (sg) is a CLI tool for structural search, linting and rewriting of source code — like grep, but matching the abstract syntax tree instead of raw text.

  15. 18

    pre-commit

    15.6Kpre-commit/pre-commit · Python

    pre-commit is a framework for managing and running git pre-commit hooks across many programming languages, so you can catch issues (formatting, lint errors, secrets, etc.) before a commit is made.

  16. 19

    react-doctor

    15Kmillionco/react-doctor · TypeScript

    React Doctor is a code-review tool that scans React code for the kind of mistakes AI coding agents tend to introduce, so bad patterns get caught before they ship.

  17. 20

    static-analysis

    14.8Kanalysis-tools-dev/static-analysis · Rust

    A curated list of static analysis (SAST) tools, linters and formatters for all programming languages, config files and build tools, focused on tools that improve code quality.

  18. 21

    lint-staged

    14.7Klint-staged/lint-staged · JavaScript

    lint-staged runs linters and formatters only on the files you have staged in git, so you check and clean up just what you're about to commit instead of the whole project.

  19. 22

    ale

    14Kdense-analysis/ale · Vim Script

    ALE (Asynchronous Lint Engine) is a Vim/Neovim plugin that lints your code asynchronously as you type and can fix files, acting as a Language Server Protocol client for things like completion, go-to-definition, and hover info.

  20. 23

    yapf

    14Kgoogle/yapf · Python

    YAPF is a Python code formatter based on clang-format: instead of just enforcing style rules, it calculates the best way to reformat your code to conform to a configured style, aiming to produce code as good as a programmer following the style guide would write.

  21. 24

    PHP-CS-Fixer

    13.6KPHP-CS-Fixer/PHP-CS-Fixer · PHP

    PHP CS Fixer is a tool that automatically fixes your PHP code to follow coding standards — unlike a plain linter, it does not just detect problems, it fixes them for you.

  22. 25

    rubocop

    12.9Krubocop/rubocop · Ruby

    RuboCop is a static code analyzer (linter) and code formatter for Ruby that enforces the community Ruby Style Guide out of the box, and it is also configurable to enforce your own style.

  23. 26

    hadolint

    12.5Khadolint/hadolint · Haskell

    Hadolint is a smarter Dockerfile linter written in Haskell that helps you build best-practice Docker images. It flags mistakes and bad patterns in your Dockerfile before you build the image.

  24. 27

    knip

    12.5Kwebpro-nl/knip · TypeScript

    Knip is a free and open-source tool that finds unused files, dependencies and exports in your JavaScript and TypeScript projects, so you can cut them before you ship.

  25. 28

    stylelint

    11.5Kstylelint/stylelint · JavaScript

    Stylelint is a CSS linter that catches errors and enforces coding conventions in your stylesheets, with over 100 built-in rules for modern CSS.

  26. 29

    buf

    11.5Kbufbuild/buf · Go

    Buf is a modern toolchain for Protocol Buffers that replaces protoc and shell scripts with a fast compiler, linter, breaking-change detector, code generator, and dependency manager, plus a client for the Buf Schema Registry.

  27. 30

    syntastic

    11.2Kvim-syntastic/syntastic · Vim script

    Syntastic is a syntax checking plugin for Vim: it runs your files through external syntax checkers and displays the errors inside Vim, on demand or automatically whenever you save.

  28. 31

    TypeScript-React-Starter

    11Kmicrosoft/TypeScript-React-Starter · TypeScript

    Microsoft's starter template and step-by-step guide for wiring up TypeScript with React. By the end you have a project with TSLint linting, Jest and Enzyme testing, and Redux state management.

  29. 32

    PHP_CodeSniffer

    10.8Ksquizlabs/PHP_CodeSniffer · PHP

    PHP_CodeSniffer is a pair of PHP scripts: 'phpcs', which tokenizes PHP, JavaScript, and CSS files to detect violations of a defined coding standard, and 'phpcbf', which automatically fixes many of those violations.

  30. 33

    super-linter

    10.6Ksuper-linter/super-linter · Shell

    A ready-to-run bundle of linters and code analyzers that validates your source code, enforces best practices and consistent formatting across dozens of languages, and reports issues as console output and GitHub Actions status checks.

  31. 34

    open-pencil

    9.1Kopen-pencil/open-pencil · TypeScript

    OpenPencil is an open-source AI-native design editor and Figma alternative. It opens .fig and .pen files, has built-in AI, and doubles as a programmable toolkit with a headless Vue SDK for building custom editors.

  32. 35

    closure-compiler

    7.7Kgoogle/closure-compiler · JavaScript

    A tool for making JavaScript download and run faster — a true compiler for JavaScript: it compiles JavaScript to better JavaScript, parsing your code, removing dead code and rewriting and minimizing what is left.

  33. 36

    anti-slop

    5.6Kdmmulroy/anti-slop · TypeScript

    A set of opinionated Oxlint rules that reject low-evidence and low-signal patterns in TypeScript and JavaScript codebases.

  34. 37

    asd-ste100-skill

    5.1Kdanyuchn/asd-ste100-skill · Python

    A Claude Code skill that rewrites dense, ambiguous English into ASD-STE100 Simplified Technical English (the controlled-language standard aerospace manuals use), but aimed at text an AI agent has to parse — tool descriptions, error messages, and inter-agent messages — instead of human readers.

  35. 38

    lint

    3.2Kshadcn-ui/lint · TypeScript

    An agent-first linter for Tailwind design systems: you define what is allowed, and when an agent breaks a rule the error explains what is wrong and suggests a fix using your components, variants, and theme.

  36. 39

    yomiyasu

    2.1Knanaism/yomiyasu · Python

    yomiyasu is an Agent Skill that revises AI-generated Japanese text into more natural, information-dense Japanese, meant to be loaded into AI coding environments such as Codex, Claude Code, and Cursor.

  37. 40

    Tech-Doc-Style-Chinese

    1.5KFenng/Tech-Doc-Style-Chinese · Python

    It is a reusable writing 'Skill' (a rule file plus helper scripts) for Chinese technical documentation and product copy, meant to be loaded by AI coding agents like Claude Code or Codex so they rewrite Chinese text more precisely and less like marketing fluff.

  38. 41

    SlopMonster

    1.1KItsssssJack/SlopMonster · Python

    SlopMonster is a linter that scores written copy out of 5 for telltale AI-writing patterns and can fail a CI build on a bad score; it also has a cleanse step that uses a rival AI model to rewrite the flagged lines.

  39. 42

    simplified-technical-english

    9950xpili/simplified-technical-english · Python

    This is an Agent Skill that makes an LLM write and check text in Simplified Technical English (STE), the ASD-STE100 controlled language used by the aerospace and defense industries for manuals. It ships the SKILL.md rules, the approved word list, and a Python check tool.

  40. 43

    gdp-ts

    812rauchg/gdp-ts · TypeScript

    gdp-ts is a tiny TypeScript library plus a linter and an AI coding-agent skill that implements the 'Ghosts of Departed Proofs' pattern, letting you catch authorization and entitlement bugs (like checking if a user can read or pay for a resource) at compile time instead of at runtime.

  41. 44

    openqodex

    729openqodex/openqodex · TypeScript

    OpenQodex is an open source AI code review tool for Claude Code and Codex that runs before you push: it scans only the lines you changed, then has a separate reviewer process check every scanner finding.

  42. 45

    svg-diagram

    627bybit-exchange/svg-diagram · JavaScript

    It is an Agent Skill that teaches coding agents like Claude Code and Codex a strict house style for hand-drawn SVG diagrams (architecture, flowchart, sequence, data-flow, lifecycle), plus a zero-dependency linter called svg-lint that checks the finished SVG against that style.

  43. 46

    lintapple

    494gholtzap/lintapple · JavaScript

    lintapple is a CLI tool that checks a running web app's UI for layout and design mistakes AI coding tools commonly make, like bad fonts, low contrast, misaligned elements, and inconsistent spacing.

  44. 47

    sloptrim

    396seyedehsanhadi/sloptrim · Python

    Sloptrim is a local detector for AI-writing patterns: it scores prose files your coding agent saves against documented stylistic tells, using only Python's standard library with no network calls or ML model.

  45. 48

    perch

    353lakeday-org/perch · JavaScript

    Perch is a command-line semantic code linter that scans a codebase for real issues using Decision Models, rather than plain syntax rules, and ranks what it finds worst-first.

  46. 49

    procoder

    211azrtydxb/procoder · Go

    A discipline layer for AI coding agents: one Go binary that gives the agent a commit gate it cannot talk its way past, quality controllers that refuse to call unfinished work done, and a self-learning loop for escaped bugs.

  47. 50

    workbooklens

    142chenweixin123/workbooklens · Python

    WorkbookLens is a local-first tool that lints, regression-tests, semantic-diffs, and conservatively repairs Excel workbooks, running entirely on your machine without Excel, LibreOffice, an AI key, or a cloud service.

  48. 51

    jevlint

    126codegirl-007/jevlint · Go

    Jevlint is a CLI linter that checks code against plain-language rules: it uses Tree-sitter to extract code units (functions, types, comments, fields, statements), then asks a configured AI decision backend called Jev whether each one passes.

Often tagged together