j5ik2o-ddd-repository-design
Installation
SKILL.md
DDD Repository Design
A repository gives use cases collection-like access to aggregate roots. It should not become a general database API.
Workflow
-
Identify the aggregate root the repository owns.
-
Keep methods aligned with aggregate retrieval and persistence needs.
-
Put complex read/query screens in query services or read models, not command repositories.
-
Hide ORM, SQL, and transport details behind the implementation.
-
Define optimistic locking, transactions, and not-found behavior explicitly.
Rules
- Repositories return aggregate roots, not internal entities.