Go Linter

Open-source Go projects categorized as Linter | Edit details

Top 23 Go Linter Projects

  • golangci-lint

    Fast linters Runner for Go

    Project mention: golangci-lint v1.46.2 is out | reddit.com/r/golang | 2022-05-18
  • reviewdog

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

    Project mention: I manage my dev.to blog in GitHub repository | dev.to | 2022-05-04

    In reference article, use prettier to format the markdown and the code snippets. I implement a text review using textlint and reviewdog in addition to that.

  • SonarLint

    Deliver Cleaner and Safer Code - Right in Your IDE of Choice!. SonarLint is a free and open source IDE extension that identifies and catches bugs and vulnerabilities as you code, directly in the IDE. Install from your favorite IDE marketplace today.

  • go-tools

    Staticcheck - The advanced Go linter

    Project mention: Go API tutorial: the begin | dev.to | 2022-04-15

    staticcheck tool. It's a tool for linting which can perform some checks on your code about simplifications, styling rules, performance issues and so on. U can find more about it here. It's not mandatory but I strongly recommend it

  • revive

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

    Project mention: Is there a better alternative to `gofmt`? | reddit.com/r/golang | 2021-12-29

    Been using https://github.com/mgechev/revive in all my projects.

  • vale

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

    Project mention: May contributing.today: on technical documentation, docs tools and markup languages 📖 | dev.to | 2022-05-18

    For their (or: our, I work at Aiven after all) developer documentation, Aiven uses Vale to enforce the editorial style guide. Vale is a linter that is highly extensible with rules and packages that check for inclusive language, and using alt text, among other things. Scott adds: "Linters are a great tool for introspection, you'll learn from what they flag."

  • dockle

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

    Project mention: A beginner's question : am I doing things the right way ? | reddit.com/r/docker | 2021-09-17

    Check out dockle; https://github.com/goodwithtech/dockle

  • errcheck

    errcheck checks that you checked errors.

    Project mention: Lies we tell ourselves to keep using Golang | reddit.com/r/programming | 2022-04-29

    I prefer functions returning errors over throwing exceptions. Whether it's Go's errors or ML-style options/results, they're both better than exceptions. I cannot remember the last time I had a bug from not checking an error in Go. There's also errcheck which I use as part of my linting that will catch unchecked errors, such that I cannot even commit the code.

  • Scout APM

    Less time debugging, more time building. Scout APM allows you to find and fix performance issues with no hassle. Now with error monitoring and external services monitoring, Scout is a developer's best friend when it comes to application development.

  • kube-score

    Kubernetes object analysis with recommendations for improved reliability and security

    Project mention: How do you take care of your manifests? | reddit.com/r/kubernetes | 2022-04-12

    A developer's workflow should anyway deploy to a real, or close-to-production Kubernetes cluster before opening a merge request with the finished change. That means the developer definitely sees upfront if the manifest is super wrong. Tools like kube-score (which is quite opinionated), kubeval or OPA rules can help in addition to keep things consistent and secure. For such a developer workflow, I recommend Skaffold since it mostly just wraps Docker, kubectl and the templating tool you're using (e.g. kustomize/helm).

  • joker

    Small Clojure interpreter, linter and formatter.

    Project mention: Joker: Small Clojure interpreter, linter and formatter | news.ycombinator.com | 2022-05-08
  • go-critic

    The most opinionated Go source code linter for code audit.

    Project mention: a go linter to check goroutines for a defer | reddit.com/r/golang | 2022-05-04

    https://github.com/go-critic/go-critic, This is a very popular linter and it uses syntax interpreter instead of regex, I suggest op to take a look

  • ls-lint

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

    Project mention: Today is the day: ls-lint just reached more then 1 million downloads | reddit.com/r/javascript | 2022-02-24
  • noverify

    Pretty fast linter (code static analysis utility) for PHP

    Project mention: NoVerify — static analyzer for PHP | reddit.com/r/PHP | 2021-08-31

    NoVerify is a static analyzer (linter) for PHP developed by VK (vk.com).

  • graphql-go-tools

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

    Project mention: Thunk-based Resolvers: How to build a powerful and flexible GraphQL Gateway | dev.to | 2022-03-11

    The same principle applies to REST APIs, which means they are supported as well. The REST API DataSource was probably the easiest to implement. That's because you don't have to "traverse" child fields to identify if the REST API call needs to be modified. If you compare the REST DataSource vs the implementation of the GraphQL DataSource, you'll see that the former is a lot simpler.

  • woke

    Detect non-inclusive language in your source code.

    Project mention: Detect non-inclusive language in your source code | reddit.com/r/CKsTechNews | 2021-06-21
  • protolint

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

    Project mention: gRPC proto files Best Practices | dev.to | 2022-01-21

    We use protolint to lint the proto files. Please download and install protolint from https://github.com/yoheimuta/protolint/releases.

  • zlint

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

    Project mention: zlint: X.509 Certificate Linter focused on Web PKI standards and requirements. | reddit.com/r/CKsTechNews | 2021-11-22
  • exhaustive

    Check exhaustiveness of switch statements of enum-like constants in Go source code.

    Project mention: 1.18 is released | reddit.com/r/golang | 2022-03-15

    For an exhaustive linter, were you referring to this? It looks pretty nice. If it's possible to check this with static analysis, is it something that could be in the compiler itself in the future?

  • wrapcheck

    A Go linter to check that errors from external packages are wrapped

    Project mention: Wrapcheck v2.3.0 released: Ignore package signatures | reddit.com/r/golang | 2021-08-03

    If you're curious to read more, you can have a read here: https://blog.tomarrell.com/post/introducing_wrapcheck_linter_for_go

  • mllint

    `mllint` is a command-line utility to evaluate the technical quality of Python Machine Learning (ML) projects by means of static analysis of the project's repository.

    Project mention: [D] How to maintain ML models? | reddit.com/r/MachineLearning | 2021-09-16

    Finally, there is the mllint tool that I have been developing during my MSc thesis on Software Quality in ML projects. While still a research prototype, it can already analyse your project and may be able to provide you with practical recommendations on what tools & techniques to employ for several aspects of your ML project's development. Feel free to try it out on your project and let me know what you think of it!

  • durationcheck

    Go linter to detect erroneous multiplication of duration values

    Project mention: Please put units in names | reddit.com/r/programming | 2022-03-21

    And there's also a fancy pancy linter that checks for this bug for you that's conveniently already integrated with golangci-lint for you, you just need to turn it on.

  • errchkjson

    Go linter that checks types that are json encoded - reports unsupported types and unnecessary error checks

    Project mention: Go linter that checks types that are json encoded - reports unsupported types and unnecessary error checks. | reddit.com/r/golang | 2021-11-06

    I just released v0.1.1, which includes a check for structs without exported fields. Thanks again for the suggestion.

  • ireturn

    Accept Interfaces, Return Concrete Types

    Project mention: Go'ing Insane Part Three: Imperfect Interfaces | reddit.com/r/golang | 2021-09-17

    Can I highjack a topic? Made a linter recently that will track usage of returned values, just to follow rule return concrete values instead interfaces- ireturn. Can be configurable, can be used with github-actions and will be available with next minor version of golangci-lint.

  • argslen

    Go linter that warns about the number of arguments in functions.

    Project mention: My first linter :) | reddit.com/r/golang | 2021-08-07

    Feel free to share you thoughts :) https://github.com/guerinoni/argslen

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 2022-05-18.

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 10,256
2 reviewdog 5,085
3 go-tools 4,678
4 revive 3,511
5 vale 1,922
6 dockle 1,891
7 errcheck 1,832
8 kube-score 1,723
9 joker 1,412
10 go-critic 1,304
11 ls-lint 998
12 noverify 583
13 graphql-go-tools 341
14 woke 318
15 protolint 268
16 zlint 258
17 exhaustive 159
18 wrapcheck 142
19 mllint 65
20 durationcheck 34
21 errchkjson 24
22 ireturn 9
23 argslen 5
Find remote jobs at our new job board 99remotejobs.com. There are 7 new remote jobs listed recently.
Are you hiring? Post a new remote job listing for free.
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives