Go Service Scaffolder
Create a production-ready Go HTTP service skeleton and keep outputs consistent.
Workflow
- Ask for required inputs:
- App name (kebab-case)
- Go module path
- GitHub owner/org
- If the user asks for database support, ask which database to scaffold: Postgres, SQLite, or both.
- Derive:
CONFIG_ENV_VAR: uppercase app name without hyphens +_CONFIGMETRICS_PREFIX: lowercase app name without hyphens
Generate the full project file tree and file contents using the canonical spec in
references/go-service-scaffold-spec.md.Replace placeholders everywhere:
{{APP_NAME}}{{MODULE_PATH}}{{GITHUB_OWNER}}{{CONFIG_ENV_VAR}}{{METRICS_PREFIX}}
Database constraints when database support is requested:
- Never use an ORM.
- For Postgres, use PGX:
github.com/jackc/pgx/v5. - For SQLite, use
modernc.org/sqlite.
- Run:
go mod init <module-path>(only ifgo.moddoes not already exist)go mod tidygo test ./...
- Initialize git only when needed:
- Run
git initonly if the target directory is not already a git repository.
Reference
Use references/go-service-scaffold-spec.md as the single source of truth for:
- Required directory structure
- Exact file templates
- Post-scaffold steps and architecture notes
Load only the sections needed for the current task instead of reading the entire reference at once.
Converted and distributed by TomeVault — claim your Tome and manage your conversions.