Bootstrap the gitflow module so subsequent phases build on a verified, linted foundation. - go.mod: initialize module gitea.oblak.solutions/dimitar/gitFlow at go 1.24 - cmd/gitflow/main.go: minimal entrypoint that prints the version string; this is a placeholder that Phase 2 (CLI & config) replaces with Cobra - internal/version: version metadata injectable at build time via ldflags, with a Makefile target wiring VERSION through - Makefile: build / test / fmt / vet / lint / install / clean targets with ldflags version injection - .golangci.yml: enable errcheck, govet, staticcheck, gosimple, ineffassign, unused, misspell, gofmt, goimports - .github/workflows/ci.yml: GitHub Actions CI running build + vet + tests (with -race) across Go 1.24/1.26, plus a golangci-lint job - .gitignore: build artifacts, test outputs, editor cruft, and local config overrides (never committed) Verified locally: go build, go vet, gofmt clean, binary prints version.
25 lines
626 B
YAML
25 lines
626 B
YAML
# golangci-lint configuration for gitflow.
|
|
# Docs: https://golangci-lint.run/usage/configuration/
|
|
|
|
run:
|
|
timeout: 5m
|
|
|
|
linters:
|
|
enable:
|
|
- errcheck # unchecked errors
|
|
- govet # go vet
|
|
- staticcheck # static analysis
|
|
- gosimple # simplify code
|
|
- ineffassign # ineffective assignments
|
|
- unused # unused declarations
|
|
- misspell # typos in comments/strings
|
|
- gofmt # formatting
|
|
- goimports # import grouping
|
|
|
|
issues:
|
|
exclude-rules:
|
|
# Tests may use underscores to match fixture naming.
|
|
- path: _test\.go
|
|
linters:
|
|
- errcheck
|