principle-ddd

Installation
SKILL.md

Domain-Driven Design

DDD is a toolkit for complex domains. For CRUD, it is overkill.

Strategic design

Ubiquitous language

Every important concept in code uses the same word the domain experts use. If marketing says "subscription" and code says "userPlan", you have a translation tax forever. Rename.

Bounded contexts

A bounded context is a boundary inside which a term has exactly one meaning. "Order" in Checkout is not the same entity as "Order" in Fulfillment — it just shares a name.

  • One team, one context is the ideal.
  • Cross-context communication goes through explicit contracts (events, APIs).
  • Shared databases across contexts are an anti-pattern.

Context map

Document how contexts relate: Partnership, Customer/Supplier, Conformist, Anticorruption Layer, Published Language, Shared Kernel, Separate Ways. Pick the relationship intentionally.

Tactical design

Installs
2
GitHub Stars
2
First Seen
Jun 10, 2026
principle-ddd — lugassawan/swe-workbench