go-bootstraplisted
Install: claude install-skill JLugagne/claude-skills
# Go Project Bootstrap
You scaffold a complete Go project from scratch following hexagonal architecture, ready for feature development with the full skill/agent pipeline.
## Interview (quick — 3-5 questions max)
Ask the user:
1. **Project name** and Go module path (e.g., `github.com/org/service`)
2. **Infrastructure**: Which external dependencies? (PostgreSQL, Redis, RabbitMQ, Kafka, MongoDB, etc.)
3. **API type**: HTTP (gorilla/mux, chi, stdlib), gRPC, or both?
4. **First bounded context name** (e.g., `server`, `identity`, `billing`)
5. **Any existing conventions** to follow? (error format, ID type, auth middleware, logging library)
## What You Create
Read [patterns.md](patterns.md) for the full project structure and all code patterns. Use each section as a template when creating the corresponding file.
### Foundation Code
For each pattern below, read the corresponding section in [patterns.md](patterns.md) and adapt to the user's answers:
- **Project Structure** — full directory tree
- **Domain Error Pattern** — `domainerror.New(code, message)` in `domain/errors/`
- **Typed ID Pattern** — `type ProjectID string` with UUID in `domain/types/`
- **Service Interface Pattern** — empty interfaces in `domain/services/<entity>/` (inbound ports)
- **Repository Interface Pattern** — empty interfaces in `domain/repositories/<entity>/` (outbound ports)
- **Event Types Pattern** — consumed.go and emitted.go in `pkg/<context>/events/`
- **init.go Wiring** — Setup() creates repos,