Repolode
golangci

golangci/golangci-lint

A fast Go linters runner that executes many linters in parallel with caching and YAML configuration.

Stars
19,505
Forks
1,639
Open issues
117
Last commit
yesterday

What is it?

golangci-lint is a runner for Go linters. Instead of running each linter separately, it executes many of them in parallel, caches results, and reads its settings from a YAML configuration file, so a whole project can be checked with one command.

The tool bundles over a hundred linters and integrates with major IDEs, letting developers see issues while editing. It is also designed to run in CI/CD pipelines, where it can be installed on build systems and used to gate code quality.

Key features

  • 01Runs many Go linters in parallel with one command.
  • 02Caches results to speed up repeated runs.
  • 03Configurable through a YAML file.
  • 04Integrates with all major IDEs.
  • 05Includes over a hundred built-in linters.

Use cases

  • Enforcing code quality checks in a Go project's CI pipeline.
  • Catching common bugs and style issues while editing Go code in an IDE.
  • Standardizing lint rules across a team's Go repositories.

Quick start

  1. 1

    Open the install guide for your machine (linked in the README)

Things to know

  • Licensed under GPL-3.0, a copyleft license that may restrict how you can use it in proprietary code.

In collections

Topics

FAQ

What is golangci-lint?
A fast Go linters runner that executes many linters in parallel with caching and YAML configuration. golangci-lint is a runner for Go linters. Instead of running each linter separately, it executes many of them in parallel, caches results, and reads its settings from a YAML configuration file, so a whole project can be checked with one command.
Is golangci-lint free to use? What license does it have?
golangci-lint is open source under the GPL-3.0 license. Check the license terms before using it in commercial products.
Is golangci-lint still maintained?
Actively maintained. The last commit to golangci-lint was on Nov 5, 2026.
What can I use golangci-lint for?
Enforcing code quality checks in a Go project's CI pipeline. Catching common bugs and style issues while editing Go code in an IDE. Standardizing lint rules across a team's Go repositories.
How do I install golangci-lint?
Open the install guide for your machine (linked in the README)
Where can I get golangci-lint?
The source code and installation instructions are on GitHub: https://github.com/golangci/golangci-lint

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects