# Technical Preferences and Architectural Principles ## Core Principles References The following technical principles and standards apply to all BMAD projects: ### 1. Coding Standards - **Reference:** `coding-standards.md` - **Purpose:** Fundamental coding principles, security practices, and quality standards - **Key Areas:** Code simplicity, dependency management, security, testing, commit standards ### 2. Twelve-Factor App Principles - **Reference:** `twelve-factor-principles.md` - **Purpose:** Cloud-native application development principles - **Key Areas:** Codebase management, dependencies, config, backing services, build/release/run ### 3. Microservice Patterns - **Reference:** `microservice-patterns.md` - **Purpose:** Patterns for distributed system architecture - **Key Areas:** Service decomposition, communication patterns, data management, resilience ## Application Guidelines 1. **During Architecture Design:** - Apply twelve-factor principles for cloud-native applications - Consider microservice patterns for complex distributed systems - Document pattern choices in Architecture Decision Records (ADRs) 2. **During Implementation:** - Follow coding standards for all code generation - Apply security principles by default - Ensure testability and maintainability 3. **Technology Selection:** - Prefer simple, proven solutions over complex ones - Minimize dependencies unless explicitly justified - Consider operational complexity alongside technical capabilities ## User-Defined Preferences _Add project-specific technical preferences below:_ None Listed