Go Linter

Open-source Go projects categorized as Linter

Top 23 Go Linter Projects

  • golangci-lint

    Fast linters Runner for Go

    Project mention: Structured Logging with Slog | news.ycombinator.com | 2023-08-22

    This is such an infuriating problem. I'm convinced I'm using Go wrong, because I simply can't understand how this doesn't make it a toy language. Why the $expletive am I wasting 20-30 and more minutes per week of my life looking for the source of an error!?

    Have you seen https://github.com/tomarrell/wrapcheck? It's a linter than does a fairly good job of warning when an error originates from an external package but hasn't been wrapped in your codebase to make it unique or stacktraced. It comes with https://github.com/golangci/golangci-lint and can even be made part of your in-editor LSP diagnostics.

    But still, it's not perfect. And so I remain convinced that I'm misunderstanding something fundamental about the language because not being able to consistently find the source of an error is such an egregious failing for a programming language.

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

  • SonarQube

    Static code analysis for 29 languages.. Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.

  • tfsec

    Security scanner for your Terraform code

    Project mention: What is the best `as Code` tool in 2023? | dev.to | 2023-07-26

    Great toolchain, including Infracost or tfsec.

  • go-tools

    Staticcheck - The advanced Go linter

    Project mention: Ask HN: What are some interesting tools or code repos you discovered recently | news.ycombinator.com | 2023-08-25
  • revive

    🔥 ~6x faster, stricter, configurable, extensible, and beautiful drop-in replacement for golint

    Project mention: revive v1.3.4 is now available | /r/golang | 2023-09-18

    The v1.3.4 of revive, the fast, configurable, extensible, flexible, and beautiful linter for Go, is available.

  • vale

    :pencil: A markup-aware linter for prose built with speed and extensibility in mind.

    Project mention: Vale.sh – A Linter for Prose | news.ycombinator.com | 2023-09-03
  • dockle

    Container Image Linter for Security, Helping build the Best-Practice Docker Image, Easy to start

  • InfluxDB

    Collect and Analyze Billions of Data Points in Real Time. Manage all types of time series data in a single, purpose-built database. Run at any scale in any environment in the cloud, on-premises, or at the edge.

  • kube-score

    Kubernetes object analysis with recommendations for improved reliability and security

    Project mention: GitHub - zegl/kube-score: Kubernetes object analysis with recommendations for improved reliability and security | /r/u_Venehsoftw | 2022-12-23
  • errcheck

    errcheck checks that you checked errors.

    Project mention: Golang panics in libraries | dev.to | 2023-08-01

    And we also expect that the caller will check the error and handle it. There is a popular linter that checks it for us: errcheck.

  • actionlint

    :octocat: Static checker for GitHub Actions workflow files

    Project mention: GitHub Actions could be so much better | news.ycombinator.com | 2023-09-22

    Yep, actionlint is great! I've used it successfully both to lint my own workflows, and to lint third-party workflows for (basic) security issues.

    Unfortunately, it can't lint actions themselves, only workflows that call actions[1]. This is a substantial deficiency, especially for users (like me) who write and maintain a decent number of actions.

    [1]: https://github.com/rhysd/actionlint/issues/46

  • go-critic

    The most opinionated Go source code linter for code audit.

    Project mention: Go-critic: the most opinionated Golang source code linter | news.ycombinator.com | 2023-06-04
  • ls-lint

    An extremely fast directory and filename linter - Bring some structure to your project filesystem

    Project mention: After 2.3 million downloads: ls-lint v2.0.0 is finally here! | /r/javascript | 2023-05-23
  • joker

    Small Clojure interpreter, linter and formatter.

    Project mention: Joker is a small interpreted dialect of Clojure written in Go (Spotted this on HackerNews and wanted to share it here :D ) | /r/Clojure | 2023-05-29
  • checkmake

    experimental linter/analyzer for Makefiles

  • go-ruleguard

    Define and run pattern-based custom linting rules.

  • pint

    Prometheus rule linter/validator (by cloudflare)

  • noverify

    Pretty fast linter (code static analysis utility) for PHP

  • graphql-go-tools

    Tools to write high performance GraphQL applications using Go/Golang.

    Project mention: Cosmo Router: High Performance Federation v1 & v2 Router / Gateway | dev.to | 2023-09-14

    Cosmo Router is built on top of graphql-go-tools, a high performance GraphQL engine written in Go.

  • sqlvet

    Go fearless SQL. Sqlvet performs static analysis on raw SQL queries in your Go code base.

    Project mention: Enabling static analysis of SQL queries at Meta | /r/programming | 2023-02-06

    I found a linter in go for sql https://github.com/houqp/sqlvet that uses the postgres front end to evaluate queries for syntactic errors and potential sql injection a while back and I now find even more confidence in my opinion that ORM is a waste of time.

  • protolint

    A pluggable linter and fixer to enforce Protocol Buffer style and conventions.

    Project mention: Understanding gRPC Concepts, Use Cases & Best Practices | dev.to | 2023-01-15

    protolint - a plugin to add lint rules to proto files.

  • woke

    Detect non-inclusive language in your source code.

    Project mention: Discussion Thread | /r/neoliberal | 2023-02-05

    They made the GitHub repo woke

  • zlint

    X.509 Certificate Linter focused on Web PKI standards and requirements.

    Project mention: Let's Encrypt Acme API Outage | news.ycombinator.com | 2023-06-15

    Yup, the two most popular are:



    They each have their strengths and weaknesses, so CAs are advised to use both.

  • vacuum

    vacuum is the worlds fastest OpenAPI 3, OpenAPI 2 / Swagger linter and quality analysis tool. Built in go, it tears through API specs faster than you can think. vacuum is compatible with Spectral rulesets and generates compatible reports. (by daveshanley)

  • Mergify

    Tired of breaking your main and manually rebasing outdated pull requests?. Managing outdated pull requests is time-consuming. Mergify's Merge Queue automates your pull request management & merging. It's fully integrated to GitHub & coordinated with any CI. Start focusing on code. Try Mergify for free.

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). The latest post mention was on 2023-09-22.

Go Linter related posts


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

Project Stars
1 golangci-lint 13,223
2 reviewdog 6,678
3 tfsec 6,267
4 go-tools 5,566
5 revive 4,393
6 vale 3,760
7 dockle 2,463
8 kube-score 2,371
9 errcheck 2,123
10 actionlint 1,855
11 go-critic 1,670
12 ls-lint 1,596
13 joker 1,554
14 checkmake 915
15 go-ruleguard 723
16 pint 708
17 noverify 647
18 graphql-go-tools 523
19 sqlvet 476
20 protolint 452
21 woke 393
22 zlint 314
23 vacuum 281
Tired of breaking your main and manually rebasing outdated pull requests?
Managing outdated pull requests is time-consuming. Mergify's Merge Queue automates your pull request management & merging. It's fully integrated to GitHub & coordinated with any CI. Start focusing on code. Try Mergify for free.