feat: Add DDD skills, bundles, workflows

This commit is contained in:
Igor
2026-02-19 12:31:05 +00:00
parent 6f9d6c1d12
commit 255e42d208
17 changed files with 642 additions and 8 deletions

View File

@@ -327,6 +327,19 @@ _For system design and technical decisions._
- [`event-sourcing-architect`](../skills/event-sourcing-architect/): Event sourcing and CQRS.
- [`architecture-decision-records`](../skills/architecture-decision-records/): Document technical decisions.
### 🧱 The "DDD & Evented Architecture" Pack
_For teams modeling complex domains and evolving toward evented systems._
- [`domain-driven-design`](../skills/domain-driven-design/): Route DDD work from strategic modeling to implementation patterns.
- [`ddd-strategic-design`](../skills/ddd-strategic-design/): Subdomains, bounded contexts, and ubiquitous language.
- [`ddd-context-mapping`](../skills/ddd-context-mapping/): Cross-context integration and anti-corruption boundaries.
- [`ddd-tactical-patterns`](../skills/ddd-tactical-patterns/): Aggregates, value objects, repositories, and domain events.
- [`cqrs-implementation`](../skills/cqrs-implementation/): Read/write model separation.
- [`event-store-design`](../skills/event-store-design/): Event persistence and replay architecture.
- [`saga-orchestration`](../skills/saga-orchestration/): Cross-context long-running transaction coordination.
- [`projection-patterns`](../skills/projection-patterns/): Materialized read models from event streams.
---
## 🧰 Maintainer & OSS

View File

@@ -169,6 +169,47 @@ Create resilient browser automation with deterministic execution in CI.
---
## Workflow: Design a DDD Core Domain
Model a complex domain coherently, then implement tactical and evented patterns only where justified.
**Related bundles:** `Architecture & Design`, `DDD & Evented Architecture`
### Prerequisites
- Access to at least one domain expert or product owner proxy.
- Current system context and integration landscape available.
- Agreement on business goals and key domain outcomes.
### Steps
1. **Assess DDD fit and scope**
- **Goal:** Decide whether full DDD, partial DDD, or simple modular architecture is appropriate.
- **Skills:** [`@domain-driven-design`](../skills/domain-driven-design/), [`@architecture-decision-records`](../skills/architecture-decision-records/)
- **Prompt example:** `Use @domain-driven-design to evaluate if full DDD is justified for our billing and fulfillment platform.`
2. **Create strategic model**
- **Goal:** Define subdomains, bounded contexts, and ubiquitous language.
- **Skills:** [`@ddd-strategic-design`](../skills/ddd-strategic-design/)
- **Prompt example:** `Use @ddd-strategic-design to classify subdomains and propose bounded contexts with ownership.`
3. **Map context relationships**
- **Goal:** Define upstream/downstream contracts and anti-corruption boundaries.
- **Skills:** [`@ddd-context-mapping`](../skills/ddd-context-mapping/)
- **Prompt example:** `Use @ddd-context-mapping to model Checkout, Billing, and Inventory interactions with clear contract ownership.`
4. **Implement tactical model**
- **Goal:** Encode invariants with aggregates, value objects, and domain events.
- **Skills:** [`@ddd-tactical-patterns`](../skills/ddd-tactical-patterns/), [`@test-driven-development`](../skills/test-driven-development/)
- **Prompt example:** `Use @ddd-tactical-patterns to design aggregates and invariants for order lifecycle transitions.`
5. **Adopt evented patterns selectively**
- **Goal:** Apply CQRS, event store, projections, and sagas only where complexity and scale require them.
- **Skills:** [`@cqrs-implementation`](../skills/cqrs-implementation/), [`@event-store-design`](../skills/event-store-design/), [`@projection-patterns`](../skills/projection-patterns/), [`@saga-orchestration`](../skills/saga-orchestration/)
- **Prompt example:** `Use @cqrs-implementation and @projection-patterns to scale read-side reporting without compromising domain invariants.`
---
## Machine-Readable Workflows
For tooling and automation, workflow metadata is available in [data/workflows.json](../data/workflows.json).