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. Learn more →
Top 23 Go Linter Projects
-
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
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.
-
Great toolchain, including Infracost or tfsec.
-
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
The v1.3.4 of revive, the fast, configurable, extensible, flexible, and beautiful linter for Go, is available.
-
-
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.
-
Project mention: GitHub - zegl/kube-score: Kubernetes object analysis with recommendations for improved reliability and security | /r/u_Venehsoftw | 2022-12-23
-
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.
-
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.
-
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 -
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
-
-
-
-
-
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.
-
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 plugin to add lint rules to proto files.
-
They made the GitHub repo woke
-
Yup, the two most popular are:
https://github.com/certlint/certlint
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.
Go Linter related posts
- revive v1.3.4 is now available
- Introducing Open Federation - a MIT-Licensed specification to build federated GraphQL APIs
- Ask HN: What are some interesting tools or code repos you discovered recently
- Structured Logging with Slog
- Ask HN: Best tool to proof-read technical documentation?
- golangci-lint 1.54.0 is released
- Seeking Insights: Tools Used in GitHub Actions for Security Code Checks and Vulnerability Detection
-
A note from our sponsor - InfluxDB
www.influxdata.com | 23 Sep 2023
Index
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 |