go-lintinglisted
Install: claude install-skill dwana1/golang-skills
# Go Linting
> **Source**: Uber Go Style Guide
## Core Principle
More important than any "blessed" set of linters: **lint consistently across a codebase**.
Consistent linting helps catch common issues and establishes a high bar for code quality without being unnecessarily prescriptive.
---
## Minimum Recommended Linters
> **Source**: Uber Go Style Guide
These linters catch the most common issues while maintaining a high quality bar:
| Linter | Purpose |
|--------|---------|
| [errcheck](https://github.com/kisielk/errcheck) | Ensure errors are handled |
| [goimports](https://pkg.go.dev/golang.org/x/tools/cmd/goimports) | Format code and manage imports |
| [revive](https://github.com/mgechev/revive) | Common style mistakes (modern replacement for golint) |
| [govet](https://pkg.go.dev/cmd/vet) | Analyze code for common mistakes |
| [staticcheck](https://staticcheck.dev) | Various static analysis checks |
> **Note**: `revive` is the modern, faster successor to the now-deprecated `golint`.
---
## Lint Runner: golangci-lint
> **Source**: Uber Go Style Guide
Use [golangci-lint](https://github.com/golangci/golangci-lint) as your lint runner:
- **Performance**: Optimized for large codebases
- **Unified config**: Configure many linters at once
- **Extensible**: Add linters as needed for your project
See the [example .golangci.yml](https://github.com/uber-go/guide/blob/master/.golangci.yml) from uber-go/guide.
---
## Example Configuration
Create `.golangci.yml` in yo