Go Development Standards Overview¶
Purpose¶
Define consistent Go standards that emphasize readability, maintainability, and long-term survivability across repositories.
Core Principles¶
- Effective Go and Go Code Review Comments compliance is the default and highest priority.
- Readability overrides cleverness or brevity.
- Exceptions must be explicit, documented, and justified.
Tooling Expectations¶
- Formatting: gofmt (canonical, zero configuration).
- Linting: golangci-lint (aggregated linter runner).
- Static analysis: go vet (built-in, catches common mistakes).
- Vulnerability scanning: govulncheck.
- Module system: Go modules (go.mod / go.sum).
- If a repository uses different tools, document the reason and equivalents.
CI Gates¶
See Source Control Guidelines for the hard-gates-only standard: every CI check is a hard gate, and the only sanctioned non-blocking category is the advisory-on-unsupported-versions carve-out (see the Runtime Version Support Policy).
Required checks for Go repositories are maintained in the standard-actions CI gates documentation.
Document Map¶
- Naming conventions: naming-conventions.md