Linter

Top 23 Linter Open-Source Projects

  • ShellCheck

    ShellCheck, a static analysis tool for shell scripts

  • Project mention: Ask HN: Is there a GUI for bash shell? | news.ycombinator.com | 2024-04-19

    ncurse, dialog, zenity[2]. i/o buffering may be an issue [3a,3b]

    Assuming using same account, use history command to show past commands[0a, 0b]

    'load random example' on shellcheck using own custom examples from history command.[1]

    --------

    [3a] : http://www.gnu.org/software/coreutils/manual/html_node/stdbu...

    [3b] : http://unix.stackexchange.com/questions/25372/how-to-turn-of...

    [2] : http//funprojects.blog/2021/01/25/zenity-command-line-dialogs/

    [1] : http://www.shellcheck.net/

    [0a] : http://www.tecmint.com/history-command-examples/

    [0b] : http://www.tecmint.com/remember-linux-commands/

    web based documentation: https://www.tecmint.com/linux-commands-cheat-sheet/

    commands grouped by typical usage patterns : https://www.tecmint.com/essential-linux-commands/

  • Standard

    🌟 JavaScript Style Guide, with linter & automatic code fixer

  • Project mention: Why is Prettier rock solid? | news.ycombinator.com | 2024-02-19

    I picked up standard[1] a while back for this reason, I don't want to have to think about it. It works fine, I have no complaints (took me a while to get used to not using semi-colons but now I prefer it) Same reason I use `cargo fmt` as well.

    [1] https://standardjs.com/

  • SurveyJS

    Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.

    SurveyJS logo
  • ruff

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

  • Project mention: Ask HN: High quality Python scripts or small libraries to learn from | news.ycombinator.com | 2024-04-19

    I think I mention this all the time when this comes up, but I learned the most 'best practices' through using ruff.

    https://docs.astral.sh/ruff/

    I just installed and enabled all the rules by setting

  • ESLint

    Find and fix problems in your JavaScript code.

  • Project mention: To Review or Not to Review: The Debate on Mandatory Code Reviews | dev.to | 2024-04-24

    Automating code checks with static code analysis allows us to enforce code styling effectively. By integrating tools into our workflow, we can identify errors at an early stage, while coding instead of blocking us at the end. For instance, flake8 checks Python code for style and errors, eslint performs similar checks for JavaScript, and prettier automatically formats code to maintain consistency.

  • SwiftLint

    A tool to enforce Swift style and conventions.

  • Project mention: A problem when adding Swiftlint as a dependency on my won package? | /r/swift | 2023-10-27
  • mypy

    Optional static typing for Python

  • Project mention: The GIL can now be disabled in Python's main branch | news.ycombinator.com | 2024-03-11
  • golangci-lint

    Fast linters Runner for Go

  • Project mention: makefile para projetos em Go | dev.to | 2024-02-19
  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • ale

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

  • Project mention: A decent VS Code and Ruby on Rails setup | news.ycombinator.com | 2024-02-21

    I saw no mention of RBS+Steep, the latter providing a LSP. I use it a lot and very much like it, although it's still young and needs love, but it's making good, steady progress! I've been very pleasantly surprised by some of the crazy things Steep can catch, completely statically!

    You appear to be working on projects with Sorbet (which I tried to like but found it fell short in practice, notably outside of the app use case i.e it's mostly useless for gems) so it may be a tall order to try on those. Maybe you can give RBS+Steep a shot on some small project?

    RBS: https://github.com/ruby/rbs

    RBS collection (for those gems that don't ship RBS signatures in `sig`, integrates with bundler): https://github.com/ruby/gem_rbs_collection

    Steep: https://github.com/soutaro/steep

    VS Code: https://github.com/soutaro/steep-vscode

    Sublime Text: https://github.com/sublimelsp/LSP

    Vim (I'm working on it): https://github.com/dense-analysis/ale/pull/4671

  • lint-staged

    🚫💩 — Run linters on git staged files

  • Project mention: How Automation Saved Me from Oops Moments: Never Skip Tests in Production Again! | dev.to | 2024-02-06

    We were already using lint-staged and have a pre-commit hook in place using Husky in our project for linter and prettier. So it made sense to add a check here.

  • 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.

  • Project mention: Static Analysis Tools for C | news.ycombinator.com | 2023-10-26

    Readers should also peruse the 'Multiple languages' section, many of the big names, Coverity, Klocwork et al. are listed there.

    see https://github.com/analysis-tools-dev/static-analysis#multip...

  • rubocop

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

  • Project mention: Must-have gems for mature Rails | dev.to | 2024-02-02

    gem "rubocop" - https://github.com/rubocop/rubocop | Set up code guidelines for your dev team, I recommend using whatever Standard recommends.

  • pre-commit

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

  • Project mention: How to setup Black and pre-commit in python for auto text-formatting on commit | dev.to | 2024-03-29

    Today we are going to look at how to setup Black (a python code formatter) and pre-commit (a package for handling git hooks in python) to automatically format you code on commit.

  • stylelint

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

  • Project mention: Why it is Important to Update Linters and How to Do it Right | dev.to | 2024-02-08

    Another common way to extend configs in linters is using the extends key in the configuration file. Let's take StyleLint as an example:

  • 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: I switch from Eslint to Biome | dev.to | 2024-04-22

    { "$schema": "https://biomejs.dev/schemas/1.7.0/schema.json", "organizeImports": { "enabled": true }, "files": { "ignore": ["package.json", "package-lock.json"] }, "linter": { "enabled": true, "rules": { "recommended": true, "style": { "noUnusedTemplateLiteral": "off" } } }, "formatter": { "indentStyle": "space", "indentWidth": 4, "lineWidth": 320 }, "javascript": { "formatter": { "semicolons": "asNeeded" } } }

  • hadolint

    Dockerfile linter, validate inline bash, written in Haskell

  • Project mention: Dockerfile Linter | news.ycombinator.com | 2024-03-03
  • super-linter

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

  • Project mention: Hashnode Blog GitHub Action - fetch and display the latest blogs in a nice format | dev.to | 2024-02-03
  • oxc

    ⚓ A collection of JavaScript tools written in Rust.

  • Project mention: The JavaScript Oxidation Compiler | news.ycombinator.com | 2023-12-16
  • XO

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

  • Project mention: ESLint: Flat Config Rollout Plan | news.ycombinator.com | 2023-10-18

    Usually you would pick a config you like and set it up for your project, notable ones are already mentioned but I'll mention more:

    - xo https://github.com/xojs/xo

  • reviewdog

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

  • Project mention: Code reviews and Suggestions from SARIF report | dev.to | 2023-05-16

    I build a general converter from SARIF to Reviewdog Diagnostic Format (RDFormat), then use Reviewdog to give suggested code changes as well as the context of the changes for PR reviewing.

  • tfsec

    Security scanner for your Terraform code

  • Project mention: A Deep Dive Into Terraform Static Code Analysis Tools: Features and Comparisons | dev.to | 2024-04-16

    tfsec Owner/Maintainer: Aqua Security (acquired in 2021) Age: First released on GitHub on March 5th, 2019 License: MIT License tfsec project is no longer actively maintained in favor of the Trivy tool. But because many people still use it and it's quite famous, I added tfsec to this comparison. However, I recommend against using it for new projects.

  • isort

    A Python utility / library to sort imports.

  • Project mention: Enhance Your Project Quality with These Top Python Libraries | dev.to | 2024-03-18

    isort: This library sorts your imports alphabetically, and automatically separates them into sections and by type. It provides a cleaner and more organised way to manage project imports.

  • detekt

    Static code analysis for Kotlin

  • Project mention: HRV-Mart | dev.to | 2023-05-08

    In protection rules, I added build workflow in Require status checks to pass before merging. This is to ensure that before merging code in master branch, build should run successfully. I also added Jacoco Code Coverage to make sure that enough unit tests are available in project and Detekt to make sure that code in project is readable. I added them in build configuration. Even if one of them gives error, build will fail. Whenever, someone push code in pull request, build action will run and check if build is running successfully or not.

  • ktlint

    An anti-bikeshedding Kotlin linter with built-in formatter

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS 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 related posts

Index

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

Project Stars
1 ShellCheck 34,934
2 Standard 28,856
3 ruff 26,504
4 ESLint 24,231
5 SwiftLint 18,308
6 mypy 17,541
7 golangci-lint 14,427
8 ale 13,264
9 lint-staged 12,858
10 static-analysis 12,858
11 rubocop 12,491
12 pre-commit 12,006
13 stylelint 10,821
14 biome 10,237
15 hadolint 9,707
16 super-linter 9,153
17 oxc 8,812
18 XO 7,543
19 reviewdog 7,350
20 tfsec 6,544
21 isort 6,314
22 detekt 6,030
23 ktlint 6,002

Sponsored
The modern identity platform for B2B SaaS
The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
workos.com