- Single line, imperative mood, ~35-62 chars
- No body, no trailers, no
type:prefix, no version prefix - Examples:
Add GeoIP tab to --watch dashboard,Fix GeoIP download URLs and show country names instead of codes
.github/workflows/release.ymltriggers onv*tag push → GoReleaser + SBOM (syft) + cosign- User handles merge to
main+ tag + push themselves .goreleaser.yaml: CGO_ENABLED=0, linux/darwin/windows × amd64/arm64/arm, ldflags injectcmd.Version={{.Version}}
go vet ./...
go test ./...
go build ./...
tools/minify.shrebuildsdocs/styles.min.css,docs/docs.min.js,docs/search-index.jsonand stampsdoc:modifiedmeta tags from git- Run after editing any
docs/*.html,docs/styles.css, ordocs/docs.js