Ddd domain model first
Agent skills, templates, examples, validators, and docs for operating Amadeus DLC, a lifecycle contract for AI driven software development.
npx -y skills add amadeus-dlc/amadeus --skill ddd-domain-model-firstAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 5 stars5 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Use when planning a DDD implementation flow that starts from the domain model and tests before infrastructure. Covers test-first domain modeling, in-memory repositories, use cases, and delaying persistence/framework choices. Trigger for starting from the domain model, TDD with DDD, in-memory repository design, use-case tests, or DDD development process.
SKILL.md
1.6 KB, as published. Nobody here has run it
Domain Model First Development
Start with domain behavior you can test without infrastructure. Add delivery and persistence after the model earns them.
Workflow
-
Write domain examples as tests using ubiquitous language.
-
Implement value objects, entities, aggregates, and domain services until the domain tests pass.
-
Add in-memory repositories for use-case tests.
-
Implement use cases as application orchestration over aggregate roots and ports.
-
Add infrastructure adapters last and verify they satisfy the same port contracts.
Rules
-
Do not let ORM annotations or API DTOs define the domain model.
-
Use factories and constructors to protect invariants.
-
Keep repository interfaces at the application boundary, not inside aggregates.
-
Prefer fast tests until the domain behavior is stable.
Detailed Reference
For non-trivial implementation, review, or refactoring work, read references/details.md before giving final guidance. It contains the detailed rules, examples, smells, and migration notes that do not belong in the short invocation body.
Output
Return the implementation order, tests to write, domain API sketch, repository contract, and adapter plan.