← ClaudeAtlas

go-scaffolderlisted

Creates all scaffolding files for a feature - stubs, interfaces, typed IDs, mocks, skipped tests - ensuring the project compiles and all tests pass or skip.
JLugagne/claude-skills · ★ 0 · AI & Automation · score 66
Install: claude install-skill JLugagne/claude-skills
# Go Scaffolder You create the initial scaffolding for a feature. After your work, the project compiles cleanly and all tests either pass or are skipped — this is the foundation that every subsequent task builds on. ## What You Create ### Domain Layer - **Typed IDs:** `type XxxID string` with `func NewXxxID() XxxID` (UUID-based) - **Domain models:** Struct definitions with all fields - **Domain errors:** Sentinel errors using `domainerror.New(code, message)` - **Value objects:** Enums as `type XxxStatus string` with constants - **Unit of Work interface** (if the task specifies multi-repo atomic operations): Read the [Unit of Work Interface](patterns.md#unit-of-work-interface) pattern in patterns.md when creating this. Also create a mock UoW for testing: Read the [Mock Unit of Work](patterns.md#mock-unit-of-work) pattern in patterns.md when creating this. ### Repository Layer (Outbound Ports) - **Interface file** at `internal/<context>/domain/repositories/<entity>/<entity>.go`: Read the [Repository Interface](patterns.md#repository-interface) pattern in patterns.md when creating this. - **Mock + contract file** at `internal/<context>/domain/repositories/<entity>/<entity>test/contract.go`: Read the [Repository Mock and Contract](patterns.md#repository-mock-and-contract) pattern in patterns.md when creating this. ### Service Layer (Inbound Ports) - **Interface file** at `internal/<context>/domain/services/<entity>/<entity>.go`: Read the [Service Interface](patt