Skip to content

dweinstein/pragmatic-architecture

Repository files navigation

Pragmatic Architecture Framework

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.

Quick Start

For New Projects: 3 Steps

  1. Assess your current state: cp 1-ASSESS/AUDIT_TEMPLATE.md PROJECT_NAME_AUDIT.md
  2. Plan your migration: cp 2-PLAN/MIGRATION_TEMPLATE.md PROJECT_NAME_PLAN.md
  3. Implement using guides in 3-IMPLEMENT/ and language-specific patterns in 4-LANGUAGE-SPECIFIC/

For Inspiration: Real Examples

See 5-EXAMPLES/ for how teams have adapted these principles:

  • Ex AI Flows (Elixir/Phoenix)
  • [Future projects]

Directory Guide

  • 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

The 12 Principles

  1. Domain Logic is Independent
  2. Side Effects are Explicit
  3. Errors are Categorized
  4. Data Structures are Clear
  5. Services Orchestrate, Domain Executes
  6. Infrastructure is Isolated
  7. Ports Enable Swappable Implementations
  8. Testing Drives Design
  9. Observability is Built-In
  10. Concurrency is Explicit
  11. Evolution Path is Clear
  12. Trade-Offs Are Explicit

Read: 0-CORE/PRINCIPLES.md

Getting Help

  • 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

Contributing

Have a project using this framework? Add it to 5-EXAMPLES/ and share what you learned.

See CONTRIBUTING.md for how.

About

No description, website, or topics provided.

Resources

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published