← ClaudeAtlas

dca-scaffoldlisted

Scaffolds new Domain-Centric Architecture (DCA) code into Java/Spring or .NET/C# projects: bounded contexts, use cases (Command/Query + InputPort + Result + Impl), and aggregate roots (with Id, Repository, and Created event). Use when the user asks to "create a new bounded context", "scaffold a use case", "add an aggregate root", "generate DCA structure for feature X", or "/dca-scaffold". Adapts to existing project conventions: reads the project's DcaLayout (architecture test) and the conventions overlay, plus existing code style. Never overwrites files.
domain-centric-development/dca-marketplace · ★ 0 · Web & Frontend · score 75
Install: claude install-skill domain-centric-development/dca-marketplace
# dca-scaffold Generates DCA-compliant code in four modes: **bounded context**, **use case**, **aggregate root**, **store** — in **Java** (Spring) or **C#** (.NET). Templates exist for both: `*.java.tmpl` and `*.cs.tmpl` side by side. This is the second skill in the DCA suite. Use after `dca-bootstrap` has added the DCA packages (`dev.domaincentric:dca-building-blocks` + `dca-archunit`, or `DomainCentric.BuildingBlocks` + `DomainCentric.ArchRules`) and the architecture test — but `dca-scaffold` also works standalone (it adapts to the project's existing conventions either way). ## Core principle: read first, generate second Before generating anything, **inspect the project** to find: 1. The language: `build.gradle(.kts)`/`pom.xml` → Java branch; `*.sln`/`*.csproj` → C# branch. 2. The project's `DcaLayout` — the architecture test that `dca-bootstrap` generated encodes the conventions (`class … extends DcaArchitectureTest` / `class … : DcaArchitectureTest`). 3. The conventions overlay, if present: `.agents/dca/conventions.md` (or `.claude/dca/conventions.md`). 4. Otherwise: existing markers, layer naming, use-case-class suffix, lombok-or-records preference. Generate code that matches what's already there. Don't impose DCA defaults if the project follows different (but consistent) conventions. **Never overwrite an existing file.** If a target path exists, stop and ask. ## Sub-operations The user's wording determines which mode: - **"new bounded context X"** / "create