ddd-tactical
Installation
SKILL.md
Tactical DDD
Confirm the bounded context and ubiquitous language before choosing tactical patterns. Model behavior and invariants, not a database diagram with domain names.
Workflow
- Collect commands, policies, invariants, lifecycle, and failure cases from domain examples.
- Identify identity-bearing concepts and immutable descriptive values.
- Draw candidate consistency boundaries.
- Choose an aggregate root that guards each boundary.
- Keep cross-aggregate references by identity and coordinate across them at the application/process level.
- Place behavior where the knowledge lives; use a domain service only when no entity/value object naturally owns it.
- Define repository interfaces around aggregate persistence needs, not tables.
- Emit domain events for facts other parts of the model need to react to.
- Test invariants and state transitions without infrastructure.