dca-scaffoldlisted
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