go-stacklisted
Install: claude install-skill fmind/dotfiles
# Go Stack Standard (Go 1.26+)
Canonical guidelines for Go development: project scaffolding, libraries, CLI/TUI tools, web apps (GOTH), and ADK agents.
## 1. Core & Quality Stack
- **Go Version**: Target latest stable (Go 1.26+). Adopt current idioms mechanically — run `go fix ./...` (modernizers) and `gofumpt` rather than hand-porting.
- **Dependency & Tooling**: Manage heavy standalone CLI tools via `mise.toml` ([mise.toml](references/mise.toml)) — `golangci-lint` (v2+), `lefthook`, `gotestsum`, `air` (web live reload), `esbuild` (web asset bundling) — to prevent `go.mod` dependency bloat and compile errors. Reserve the native `tool` directive in `go.mod` (Go 1.24+) for code generators and small Go-native utilities invoked as `go tool <name>` — `templ`, `goimports`, `gofumpt`, `govulncheck` (plus `sqlc`, `gomodifytags`, `impl` on demand).
- **Task Runner & Hooks**: Use `mise.toml` ([mise.toml](references/mise.toml)) for commands (`install`, `format`, `check`, `test`, `build`, `watch`) per the [mise skill](../mise/SKILL.md). Use `lefthook` ([lefthook.yml](references/lefthook.yml)) for pre-commit (format → `check:leaks --staged` → check) and pre-push (test) per the [lefthook skill](../lefthook/SKILL.md). Order the hook commands with explicit `priority` (formatters low, `check` high) so formatters restage before `check` reads the files — lefthook sorts alphabetically otherwise.
- **Linting & Formatting**: Clean markdown/JSON/YAML with `dprint` using the configuration mainta