From spring-boot
Guides Domain-Driven Design for complex business systems: defines bounded contexts, structures domain models, designs aggregates/entities/value objects, chooses monolith vs microservices.
How this skill is triggered — by the user, by Claude, or both
Slash command
/spring-boot:domain-driven-designThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
DDD manages complexity through alignment between software and business reality. **Strategic design (boundaries, language, subdomains) provides more value than tactical patterns (aggregates, repositories).**
DDD manages complexity through alignment between software and business reality. Strategic design (boundaries, language, subdomains) provides more value than tactical patterns (aggregates, repositories).
Apply DDD when:
DDD is overkill when:
See WORKFLOW.md for detailed step-by-step instructions for each phase.
| Type | Investment | Example |
|---|---|---|
| Core | Maximum - competitive advantage | Recommendation engine, trading logic |
| Supporting | Custom but quality tradeoffs OK | Inventory management |
| Generic | Buy/outsource | Auth, email, payments |
Customer, OrderMoney, Address, EmailDefault to value objects. Only use entities when identity matters.
Start with modular monolith when:
├── Team < 20 developers
├── Domain boundaries unclear
├── Time-to-market critical
└── Strong consistency required
Consider microservices when:
├── Bounded contexts have distinct languages
├── Teams can own full contexts
├── Independent scaling required
└── DevOps maturity exists
| Need | Skill |
|---|---|
| Data layer implementation | spring-boot-data-ddd — JPA/JDBC aggregates, repositories, transactions |
| REST API layer | spring-boot-web-api — Controllers, validation, exception handling |
| Module boundaries | spring-boot-modulith — Module structure, event-driven communication |
| Testing patterns | spring-boot-testing — Aggregate tests, module tests, Scenario API |
| Security for domains | spring-boot-security — Method-level authorization, role-based access |
npx claudepluginhub joaquimscosta/arkhe-claude-plugins --plugin spring-bootTranslates domain rules into code using entities, value objects, aggregates, repositories, and domain events with explicit invariants.
Models complex business software around the domain using ubiquitous language, bounded contexts, aggregates, and entities/value objects to reduce miscommunication between technical and business teams.
Scaffolds Spring Boot 3.x/4.x projects from Spring Initializr with DDD or Layered architecture, JPA, SpringDoc OpenAPI, and Docker Compose for PostgreSQL/Redis/MongoDB. Use for new Java backends or microservices.