Go bootstrap
Skill JLugagne/claude-skills/dev/go-hexagonal/skills/go-bootstrap
Claude skills and agents to be used with claude-mercato
npx -y skills add JLugagne/claude-skills --skill go-bootstrapAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Bootstraps a new Go project from scratch with hexagonal architecture, testcontainers, CI pipeline, and the full skill/agent suite installed. Use when starting a new project or microservice.
SKILL.md
5.3 KB, as published. Nobody here has run it
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:
- Project name and Go module path (e.g.,
github.com/org/service) - Infrastructure: Which external dependencies? (PostgreSQL, Redis, RabbitMQ, Kafka, MongoDB, etc.)
- API type: HTTP (gorilla/mux, chi, stdlib), gRPC, or both?
- First bounded context name (e.g.,
server,identity,billing) - Any existing conventions to follow? (error format, ID type, auth middleware, logging library)
What You Create
Read 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 and adapt to the user's answers:
-
Project Structure — full directory tree
-
Domain Error Pattern —
domainerror.New(code, message)indomain/errors/ -
Typed ID Pattern —
type ProjectID stringwith UUID indomain/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, app, handlers; passes service interface, not
*app.App -
main.go — minimal: env vars +
Setup()+ListenAndServe -
Structured Logging — App struct with
*slog.Loggerdependency -
Error Response Helper —
writeErrorJSON()for structured JSON errors -
Health Check —
GET /healthreturning{"status":"ok"} -
E2E Test Setup —
TestMainwith testcontainers boilerplate -
Makefile — build, test, lint, lint-arch, lint-pipeline, migrate targets
-
Architecture Lint Config —
.go-arch-lint.ymlenforcing hexagonal layer dependencies -
CI Pipeline — GitHub Actions with testcontainers
-
Hooks — auto-format on edit, build-check before commit
-
Project Map Skeleton —
.claude/skills/doc-project/SKILL.md(minimal table of contents with the first context) and.claude/skills/doc-project/conventions.md(patterns established during bootstrap). Context docs in.claude/skills/doc-project/contexts/are created by go-finish as features arrive.
Key principles:
- Inbound handlers receive the service interface from
domain/services/, not*app.App main.gohas zero business logic — E2E tests callSetup()directly- Hooks are deterministic — auto-formatting and build checks run guaranteed, not advisory
Install Skill/Agent Suite
Copy all 17 agent files to .claude/agents/:
go-brainstorm.md— Problem exploration (approach validation, scope check)go-pm.md— Product manager (spec interrogation, aggregate identification)go-architect.md— Architecture design (TASKS.md generation)go-api-designer.md— HTTP API design (routes, types, validation)go-scaffolder.md— Scaffolding (stubs, interfaces, mocks, skipped tests)go-test-writer.md— Red phase TDD (failing tests)go-dev.md— Green phase TDD (implementation + observability)go-reviewer.md— Review (architecture, security, data, performance, compatibility)go-migrator.md— Data migrations (backfill, transform, split)go-fixer.md— Circuit breaker recovery (fresh-perspective fixes)go-debugger.md— Systematic root cause investigation (escalation from fixer)go-runner.md— Task execution (dispatch, validate, report)go-finish.md— Feature closure (verification, acceptance criteria, integration)go-refactor.md— Safe refactoring (document, lock, rewrite)go-product-manager.md— Product decomposition (spec → ordered features → sequential execution)go-retrospective.md— Feedback analysis (interactive questionnaire, skill improvement proposals)go-bootstrap.md— This file
Verification
After bootstrapping:
go build ./...— passesgo test -race ./... -short— health check test passesdocker-compose up -d— infrastructure startscurl localhost:<port>/health— returns{"status":"ok"}.claude/agents/has 17 agent filesgo-arch-lint check— zero violations (architectural boundaries enforced)make lint-pipeline— all skills and agents referenced in the pipeline existdomain/services/directory exists (inbound port interfaces)domain/repositories/directory exists (outbound port interfaces)pkg/<context>/events/directory exists (event contracts).claude/skills/doc-project/SKILL.mdexists (project map skeleton)
After Bootstrap
Tell the user: "Project is ready. Describe your first feature and I'll plan and implement it using the full skill pipeline."
The go-pm skill takes over from here for feature development.