golangci-lint README

The project's README from github.com/golangci/golangci-lint. As one markdown file: README.md.

golangci-lint logo

golangci-lint

Fast linters runner for Go


golangci-lint is a fast Go linters runner.

It runs linters in parallel, uses caching, supports YAML configuration, integrates with all major IDEs, and includes over a hundred linters.

Install golangci-lint

Documentation

Documentation is hosted at https://golangci-lint.run.

Social Networks

Join Slack Follow on Mastodon Follow on Bluesky Follow on Twitter

Support Us

golangci-lint is a free and open-source project built by volunteers.

If you value it, consider supporting us, we appreciate it! :heart:

Golangci-lint Linter Authors

Badges

Build Status License Release Docker GitHub Releases Stats of golangci-lint

Contributors

This project exists thanks to all the people who contribute. How to contribute.

Sponsors

 

The complete IDE crafted for professional Go developers.

golangci-lint (golangci/golangci-lint)

Searching Database…

What is this?A fast linters runner for Go: one tool that runs over a hundred Go linters on your codebase in a single pass.
Is it one linter, or a bundle of many?It's a runner that bundles more than a hundred existing Go linters, so a single install and config replaces a whole pile of separate tools.
How do I get it onto my machine and into my CI?The install docs give two paths: a guide for your own machine and a separate one for CI/CD systems, with the full documentation hosted on its own site.
Does it need anything besides my Go project to run?Nothing beyond your Go codebase — no API keys, accounts, or extra services; it analyzes the project directly.
Any gotchas before I adopt it?It's Go-only by design — it won't lint other languages, and the README lists no special hardware or OS requirements.
Is it free to use, including at work?Yes — it's free and open source under GPL-3.0 (per repo metadata), built by volunteers who accept donations; the GPL covers the tool itself, not the code it checks.
How do I pick which linters run?Everything is configured through a single YAML file — you enable and tune individual linters there instead of wiring up each tool separately.
Will running a hundred linters slow my build down?No — linters run in parallel and results are cached, which is what keeps a full sweep fast enough for local runs and CI.
Do findings show up inside my editor?Yes — it integrates with all major IDEs, so you see issues as you code, not only in CI logs.
Is the project actively maintained?Yes — started in 2018, around 19,400 GitHub stars, and the repo runs automated CI checks and release workflows.
Creator
golangci
Size
52.5 MB
Stars
19.4K
Age
8y
Commits · 90 Days