Go Project Implementation Guide
Use this skill together with /pma. /pma controls workflow, approval, and task tracking; this guide defines the implementation baseline after approval.
Keep this entry file lean. Load only the reference packs needed for the task.
Scope
For PMA-managed Go backends, API services, and CLI applications.
Not for embedded targets, library-only modules without binaries, or non-PMA projects.
Loading Order
- Always load
references/baseline.md first.
- Load
references/config-and-data.md for config layering, validation, sqlc, pgx, GORM, and migrations.
- Load
references/http-and-runtime.md for handlers, middleware, logging, observability, and shutdown.
- Load
references/delivery.md for lint, tests, task runners, security review, CI, and Git workflow.
Quick Routing
- New service or CLI setup →
references/baseline.md
- config (koanf layering, env mapping, validation) →
references/config-and-data.md
- data access (sqlc + pgx, GORM, migrations, repository boundaries) →
references/config-and-data.md
- runtime (HTTP server, middleware, slog, tracing, shutdown) →
references/http-and-runtime.md
- dev URL routing (nsl) →
references/http-and-runtime.md (full protocol → /pma references/dev-environment.md)
- testing →
references/delivery.md
- CI and delivery (quality gates, lint, Taskfile, security checklist, PR readiness) →
references/delivery.md
Reference Packs
Stack defaults, quality gates, layout, conventions, error model, and code quality standards.
references/config-and-data.md
Config layering with koanf, validation, sqlc plus pgx, GORM alternative, and migration rules.
references/http-and-runtime.md
Router structure, handler patterns, middleware, logging, observability, and graceful shutdown.
Lint config, testing, task runner expectations, security checks, CI, and Git conventions.
Acceptance Checklist
Before merge:
If the repo already diverges from these defaults, make the divergence explicit and apply it consistently across code, docs, and CI.