A reusable, language-agnostic framework for building maintainable, testable systems.
This framework distills architectural principles proven in production into templates you can adapt for any project, language, or team.
- Assess your current state:
cp 1-ASSESS/AUDIT_TEMPLATE.md PROJECT_NAME_AUDIT.md - Plan your migration:
cp 2-PLAN/MIGRATION_TEMPLATE.md PROJECT_NAME_PLAN.md - Implement using guides in
3-IMPLEMENT/and language-specific patterns in4-LANGUAGE-SPECIFIC/
See 5-EXAMPLES/ for how teams have adapted these principles:
- Ex AI Flows (Elixir/Phoenix)
- [Future projects]
- 0-CORE - The 12 principles and architecture model (read this first)
- 1-ASSESS - Audit templates to evaluate your current architecture
- 2-PLAN - Migration planning templates
- 3-IMPLEMENT - How-to guides for implementing patterns
- 4-LANGUAGE-SPECIFIC - Language-specific patterns and examples
- 5-EXAMPLES - Real-world projects using this framework
- Domain Logic is Independent
- Side Effects are Explicit
- Errors are Categorized
- Data Structures are Clear
- Services Orchestrate, Domain Executes
- Infrastructure is Isolated
- Ports Enable Swappable Implementations
- Testing Drives Design
- Observability is Built-In
- Concurrency is Explicit
- Evolution Path is Clear
- Trade-Offs Are Explicit
Read: 0-CORE/PRINCIPLES.md
- FAQ: See
FAQ.md - Questions about principles: See
0-CORE/PHILOSOPHY.md - Language-specific help: See
4-LANGUAGE-SPECIFIC/{your-language}/patterns.md - Your project as example: See
CONTRIBUTING.md
Have a project using this framework? Add it to 5-EXAMPLES/ and share what you learned.
See CONTRIBUTING.md for how.