go-linters
SolidAdd and validate custom Go analysis linters in gh-aw.
Code & Development 4,612 stars
420 forks Updated today MIT
Install
Quality Score: 89/100
Stars 20%
Recency 20%
Frontmatter 20%
Documentation 15%
Issue Health 10%
License 10%
Description 5%
Skill Content
# Go Linters
Use this guide when adding a new custom Go analysis linter in this repository.
For PR-driven linter generation (derive a rule from a specific pull request pattern), use `.github/skills/pr-to-go-linter/SKILL.md`.
## Where to add a new linter
1. Create a new package under `pkg/linters/<linter-name>/`.
2. Define an analyzer in that package (exported as `Analyzer`).
3. Add tests in the same package using `analysistest` with fixtures under `testdata/src/...`.
4. Register the analyzer in `cmd/linters/main.go` so it runs via the multichecker binary.
## Build and test linters
- Test only your linter package:
- `go test ./pkg/linters/<linter-name>/...`
- Build the custom linter runner:
- `go build ./cmd/linters`
- Run all custom linters across the repo:
- `make golint-custom`
`make golint-custom` builds `cmd/linters` and runs it against `./cmd/...` and `./pkg/...`.
Details
- Author
- github
- Repository
- github/gh-aw
- Created
- 10 months ago
- Last Updated
- today
- Language
- Go
- License
- MIT
Integrates with
Similar Skills
Semantically similar based on skill content — not just same category
Code & Development Solid
pr-to-go-linter
Generate a new pkg/linters analyzer from a merged or open PR pattern.
4,612 Updated today
github Code & Development Listed
go-linting
Use when setting up linting for a Go project, configuring golangci-lint, picking a linter set, suppressing findings with //nolint, or wiring lint checks into CI. Apply proactively whenever a project lacks .golangci.yml, when lint output is unclear, or when a new package needs the project's quality bar. Does not cover code review process (see go-code-review).
5 Updated 4 days ago
muratmirgun DevOps & Infrastructure Listed
go-linting
Recommended Go linters and golangci-lint configuration. Use when setting up linting for a Go project or configuring CI/CD.
0 Updated today
dwana1