domain-driven-design
Installation
SKILL.md
Domain-Driven Design
Purpose
Use Domain-Driven Design to model real business behavior, protect business rules, and make code reflect the language of the domain.
DDD is not a reason to add layers by default. Apply it when the domain has meaningful rules, workflows, invariants, or language that should be preserved in code.
When To Use DDD
Use DDD when:
- Business rules are complex or change often.
- Domain users use specific language that should appear in code.
- Data validity depends on behavior, not only database constraints.
- Workflows have states, transitions, permissions, or invariants.
- Multiple modules need clear ownership boundaries.
Avoid heavy DDD when: