Linter

Top 23 Linter Open-Source Projects

  1. ruff

    An extremely fast Python linter and code formatter, written in Rust.

    Project mention: Python MCP Remote Server — The Dawn of the Streamable HTTP Era ~ With a Minimalist Template Featuring uv / Docker / pytest ~ | dev.to | 2025-05-11

    Ruff: A Rust-based, ultra-fast Python linter and formatter developed by Astral (official website). What's astounding is not just its speed, but its ability to cover most of the checks and formatting previously done by multiple tools like Flake8, isort, pydocstyle, pyupgrade, etc., with Ruff alone. This simplifies configuration files and significantly reduces tool management costs. Ruff hooks are defined in .pre-commit-config.yaml. When you try to commit, static code analysis (detecting potential bugs or deprecated practices) and formatting (unifying coding style) are automatically executed. If issues are found, the commit is aborted, prompting you to fix them. In many cases, Ruff can automatically fix the problems it finds.

  2. InfluxDB

    InfluxDB – Built for High-Performance Time Series Workloads. InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.

    InfluxDB logo
  3. ShellCheck

    ShellCheck, a static analysis tool for shell scripts

    Project mention: Shellcheck | news.ycombinator.com | 2025-04-16
  4. Standard

    🌟 JavaScript Style Guide, with linter & automatic code fixer

    Project mention: Step-by-Step Guide to Front-end Engineering — A Comprehensive Tutorial | dev.to | 2025-04-02

    standard (24.5k stars) Chinese version

  5. ESLint

    Find and fix problems in your JavaScript code.

    Project mention: Never lose valuable error context in JavaScript | dev.to | 2025-05-21

    While ESLint is the go-to tool for code quality in JavaScript, it doesn’t provide any built-in rule for this.

  6. mypy

    Optional static typing for Python

    Project mention: Ty: An fast Python type checker and language server, written in Rust | news.ycombinator.com | 2025-05-07

    https://github.com/python/mypy/blob/501a07b45af8e44eda665e53...

    Also did you know mypy ignores typing of class decorators? You simply can't return a different type other than type[thisclass].

  7. SwiftLint

    A tool to enforce Swift style and conventions.

    Project mention: Add SwiftLint to Xcode 15.4 on M1 mac | dev.to | 2024-08-06

    if [[ "$(uname -m)" == arm64 ]]; then export PATH="/opt/homebrew/bin:$PATH" fi if which swiftlint > /dev/null; then swiftlint --fix && swiftlint else echo "warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint" fi

  8. biome

    A toolchain for web projects, aimed to provide functionalities to maintain them. Biome offers formatter and linter, usable via CLI and LSP.

    Project mention: Should you stop using prettier? Maybe | dev.to | 2025-05-22

    biome is a replacement for both ESlint and prettier. It's a pretty cool project but I've already spent considerable time setting up my ESlint so this is not a realistic option.

  9. SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  10. golangci-lint

    Fast linters runner for Go

    Project mention: Golang Project Level 0 | dev.to | 2025-05-15

    Consider using golangci-lint for comprehensive linting

  11. oxc

    ⚓ A collection of JavaScript tools written in Rust.

    Project mention: React Compiler RC: What it means for React devs | dev.to | 2025-05-05

    The React team is also collaborating with the oxc team to eventually add native support for the compiler. Once Rolldown, a Rust-based bundler for JavaScript and TypeScript, is released and supported in Vite, developers should be able to integrate the compiler without relying on Babel.

  12. lint-staged

    🚫💩 — Run tasks like formatters and linters against staged git files

    Project mention: Set up git hook in a multi-package monorepo | dev.to | 2025-02-24

    To lint staged files we’re going to use the lint-staged package: it’s easy to configure and supports different configurations per each project.

  13. static-analysis

    ⚙️ A curated list of static analysis (SAST) tools and linters for all programming languages, config files, build tools, and more. The focus is on tools which improve code quality.

  14. pre-commit

    A framework for managing and maintaining multi-language pre-commit hooks.

    Project mention: How one bad coder made our stack unbreakable | dev.to | 2025-05-18

    The time he hardcoded a token into the repo? → That’s when we finally added Git hooks and implemented secret scanning.

  15. ale

    Check syntax in Vim/Neovim asynchronously and fix files, with Language Server Protocol (LSP) support

  16. rubocop

    A Ruby static code analyzer and formatter, based on the community Ruby style guide.

    Project mention: Tiny JITs for a Faster FFI | news.ycombinator.com | 2025-02-12

    If you're looking for static typing a dynamic language is going to be a poor fit. I find a place for both. I love Rust, but trying to write a tool that consumed a GraphQL API with was a brutal exercise in frustation. I'd say that goes for typing of JSON or YAML or whatever structured format in general. It's refreshing being able to just work with data in the form I already know it's in. Ruby can be an incredibly productive language to work with.

    If you're looking for static analysis in general, please note that there are mature tools available. Rubocop¹ is probably the most popular and allows for linting and code formatting. Brakeman² is a vulnerability scanner for Rails. Sorbet³ is a static type checker.

    The tooling is there if you want to try things out. But, if you want a statically typed language then that's a debate that's been going since the dawn of programming language design. I doubt it's going to get resolved in this thread.

    ¹ - https://github.com/rubocop/rubocop

    ² - https://brakemanscanner.org/

    ³ - https://sorbet.org/

  17. stylelint

    A mighty CSS linter that helps you avoid errors and enforce conventions.

    Project mention: Rethinking CSS in JS | dev.to | 2024-09-12
  18. hadolint

    Dockerfile linter, validate inline bash, written in Haskell

    Project mention: Stop shipping insecure Dockerfiles: real devs don’t run as root | dev.to | 2025-05-03

    Hadolint Dockerfile Linter

  19. super-linter

    Combination of multiple linters to run as a GitHub Action or standalone (by super-linter)

  20. ast-grep

    ⚡A CLI tool for code structural search, lint and rewriting. Written in Rust

    Project mention: Using ast-grep with a vue project | dev.to | 2024-12-31

    The amazing ast-grep tool does not support vue and scss by default but can be configured to do so.

  21. reviewdog

    🐶 Automated code review tool integrated with any code analysis tools regardless of programming language

    Project mention: Supply Chain Attack on Reviewdog GitHub Actions | news.ycombinator.com | 2025-03-20
  22. XO

    ❤️ JavaScript/TypeScript linter (ESLint wrapper) with great defaults

  23. bandit

    Bandit is a tool designed to find common security issues in Python code.

    Project mention: 🔒 Bandit: Python Static Application Security Testing Guide | dev.to | 2025-04-23

    Bandit Documentation: https://bandit.readthedocs.io OWASP Source Code Analysis Tools: https://owasp.org/www-community/Source_Code_Analysis_Tools Python Security Best Practices: https://docs.python.org/3/library/security.html GitHub Actions: https://docs.github.com/en/actions

  24. tfsec

    Tfsec is now part of Trivy

    Project mention: 🛡️ Secure, Lint, and Validate Your Terraform Like a Pro | dev.to | 2025-05-19
  25. isort

    A Python utility / library to sort imports.

    Project mention: Nix Flake Templates | dev.to | 2025-05-05

    Use black and isort for formatting.

  26. SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020).

Linter discussion

Log in or Post with

Linter related posts

  • How one bad coder made our stack unbreakable

    1 project | dev.to | 18 May 2025
  • Golang Project Level 0

    2 projects | dev.to | 15 May 2025
  • Clean Code Principles & Code Conventions for React + TypeScript

    1 project | dev.to | 11 May 2025
  • Python MCP Remote Server — The Dawn of the Streamable HTTP Era ~ With a Minimalist Template Featuring uv / Docker / pytest ~

    8 projects | dev.to | 11 May 2025
  • Ty: An fast Python type checker and language server, written in Rust

    11 projects | news.ycombinator.com | 7 May 2025
  • From Vibe Coder to AI-Assisted Architect

    5 projects | dev.to | 7 May 2025
  • Ty: Astral's New Type Checker (Formerly Red-Knot) – Talk Python Live Stream [video]

    1 project | news.ycombinator.com | 6 May 2025
  • A note from our sponsor - InfluxDB
    www.influxdata.com | 24 May 2025
    InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now. Learn more →

Index

What are some of the best open-source Linter projects? This list will help you:

# Project Stars
1 ruff 39,245
2 ShellCheck 37,420
3 Standard 29,313
4 ESLint 25,941
5 mypy 19,321
6 SwiftLint 18,996
7 biome 18,951
8 golangci-lint 17,044
9 oxc 14,502
10 lint-staged 13,868
11 static-analysis 13,808
12 pre-commit 13,793
13 ale 13,757
14 rubocop 12,738
15 stylelint 11,252
16 hadolint 10,941
17 super-linter 9,839
18 ast-grep 8,684
19 reviewdog 8,407
20 XO 7,779
21 bandit 6,983
22 tfsec 6,821
23 isort 6,730

Sponsored
InfluxDB – Built for High-Performance Time Series Workloads
InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
www.influxdata.com

Did you know that Rust is
the 5th most popular programming language
based on number of references?