go-backend
Installation
SKILL.md
Go backend
Principles
- Ownership. Transport decodes and renders. Use cases decide and orchestrate. Adapters perform I/O, validators accept or reject, and mappers convert. Classify helpers by their bodies as well as public methods.
- Contracts. Read project instructions, ADRs, callers, go.mod and checks. User choices and project contracts override defaults. Use singular package names, GORM, Chi, Cobra, Fx and Bricks for new projects. Application struct constructors return concrete instances and may also return an error. Fx binds ports.
- Scope. A module owns a business capability. Create components its behavior needs and preserve accepted structure outside scope. Ask for missing business decisions; resolve technical facts from the repository.
- Boundaries. One business entrypoint invokes one public operation. Its Input/Output contain no HTTP, Cobra, storage or vendor types.
- Proof. Test the claimed behavior at its execution boundary. Compilation, mocks and unavailable tools do not prove untested runtime behavior.