domain-driven-design

Installation
SKILL.md

Domain-Driven Design

Aggregate Rules

  • One repository per aggregate root
  • External code only accesses aggregate through root — never child entities directly
  • Prefer references by ID across aggregate boundaries; preserve deliberate mappings.
  • Choose boundaries from invariants that must commit atomically and expected contention, not a fixed number of child entities. Splitting requires an explicit consistency plan.

The snippets are illustrative and require the application's domain types and imports. Keep existing public identifiers and persistence mappings unless the task includes a migration.

// ✅ Aggregate root controls all access to children
order.addItem(productId, quantity); // through root
order.removeItem(itemId);           // through root
Installs
89
GitHub Stars
287
First Seen
Apr 30, 2026
domain-driven-design — rrezartprebreza/spring-boot-skills