dca-bootstraplisted
Install: claude install-skill domain-centric-development/dca-marketplace
# dca-bootstrap
Installs Domain-Centric Architecture (DCA) into the current project: the **building blocks** the
production code implements (`AggregateRoot`, `UseCase`, `Repository`, `DomainEvent`, …) come from a
published package, the **rule catalog** from a second one, and the skill generates the one test
class that runs it. Java (Gradle or Maven, JUnit 5) and .NET (xUnit) are supported.
DCA = synthesis of DDD, Hexagonal Architecture and Clean Architecture. The rule libraries pin to the
package markers, so a project must implement *those* markers — the retrofit path for existing
marker-like interfaces is below.
| | Java | .NET |
|---|---|---|
| Production dependency | `dev.domaincentric:dca-building-blocks` + `dca-spring` (Spring: `SpringDomainEventPublisher`, `SpringTransactionBoundary`, auto-configured) | `DomainCentric.BuildingBlocks` (runtime adapters stay hand-written, see `/dca-scaffold`) |
| Test dependency | `dev.domaincentric:dca-archunit` (brings ArchUnit); with Spring Modulith also `dca-archunit-spring-modulith` (`DcaSpringModulithTest`) | `DomainCentric.ArchRules.Xunit` (brings `DomainCentric.ArchRules`, ArchUnitNET) |
| Base class | `dev.domaincentric.dca.archunit.junit.DcaArchitectureTest` | `DomainCentric.ArchRules.Xunit.DcaArchitectureTest` |
| Layout | `DcaLayout.forBasePackage(..)` | `DcaLayout.ForRootNamespace(..)` |
| Context declaration | `@BoundedContext` on `package-info.java` | `[BoundedContext]` on a marker class in the context root namespace |
|