Open Domains
Every domain deserves to be open, every piece of knowledge deserves to be reused
The core philosophy of OpenDDD is Open Domain. We believe that every business domain is an open knowledge boundary, and the design decisions, technical practices, and business rules within the domain should be explicitly expressed, structurally preserved, and freely reused.
What are Open Domains?
Traditional: Domain knowledge → Implicit in code and minds → Lost as people leave
Open Domains: Domain knowledge → Explicit modeling + Structured preservation → Learnable, reusable, evolvableOpen domains mean:
| Principle | Description | Practice |
|---|---|---|
| Explicit Modeling | Domain concepts, rules, and processes expressed explicitly in code and docs | DDD entities, value objects, domain events |
| Structured Preservation | Knowledge stored in searchable, composable forms | Skill prompts, workflow templates, recipes |
| Free Reuse | Cross-project, cross-team knowledge reuse without starting from scratch | Replace variables to use prompts and recipes |
| Open Evolution | Knowledge improved through sharing, validated through reuse | Tag system, quality standards, contributing guide |
Current Open Domains
| Domain | Code | Core Entities | Status | Learning Entry |
|---|---|---|---|---|
| ProChain | prochain | Enterprise, Product, Order, Document | P0 Active | DDD + Serverless |
| AI Agent | agent | Agent, Tool, Memory, Orchestrator | P0 Active | Agent Building |
| Content Creation | content | Content, Channel, Analytics, Schedule | P2 Planned | AI Agent Development |
| Freelancing | freelancing | Project, Bid, Contract, Delivery | P1 Design | One-Person Company |
Knowledge Flow Between Domains
┌─────────────────────────────────────────────────────────┐
│ OpenDDD Open Domain Ecosystem │
│ │
│ ProChain ──→ Domain modeling experience ──→ DDD prompts ──→ Reuse library │
│ │ │ │
│ ↓ ↓ │
│ Serverless recipe Agent architecture recipe │
│ │ │ │
│ └──────── Share ────────→ AI Agent ←── Content Creation │
│ │ │ │
│ ↓ ↓ │
│ Workflow templates Content strategy prompts │
│ │ │
│ └──→ Freelancing (project matching) │
└─────────────────────────────────────────────────────────┘Domain-Driven Design Principles
Every open domain follows the same DDD design principles:
- Bounded Context — Each domain has clear boundaries; domain concepts don't leak
- Ubiquitous Language — Consistent terminology within the domain; code is documentation
- Aggregate Root — Identify core entities and organize business logic around aggregates
- Domain Event — Domains are decoupled through events, not direct calls
- Anti-Corruption Layer — External integrations are isolated through ACL, protecting domain purity
How to Participate
- Explore domains — Start with Learning Roadmaps to understand domain design
- Reuse knowledge — Get prompts and recipes from the Reuse Library
- Contribute experience — Preserve your practical knowledge following the Contributing Guide
- Improve quality — Elevate knowledge maturity following Quality Standards