What problem does it solve?
It prevents wasted time and confusion by helping you organize a Go codebase with the right directory layout for your project type and growth path.
Core Features & Use Cases
- Architecture-first structuring: Encourages asking the developer for the desired architecture so the layout matches real complexity instead of forcing patterns early.
- Clean separation of concerns: Guides where to place
cmd/ entry points versus internal/ or pkg/ business logic and reusable code.
- Module and workspace conventions: Covers
go.mod module naming and when to use go.work for multi-module development.
- Operational readiness: Recommends essential root files (Makefile, .gitignore, golangci-lint config), testing co-location rules, and 12-Factor app conventions for services.
- Use cases: Starting a new Go project, organizing an existing codebase, setting up a monorepo, creating multi-binary CLI/service/migration setups, and deciding between
cmd/, internal/, and pkg/.
Quick Start
Ask an AI: "Generate a Go project directory layout for a new HTTP service with a CLI admin command and database migrations, using module naming that matches my repo URL and keeping cmd/ minimal."