## Coding Principles (Guiding Principles Set by Composer) 1. **Simplicity First:** Solutions should be the simplest approach that meets requirements. Readability > Cleverness. 2. **DRY (Don't Repeat Yourself):** Maximize code reuse through functions, modules, and components. 3. **Robustness & Environment Awareness:** Code must function reliably across intended environments. Configuration should be externalized. 4. **Focused Scope:** Changes should address specific requirements. Avoid unintended side-effects. 5. **Consistency:** Adhere to established architectural patterns and coding standards. Introduce new patterns thoughtfully and replace old ones completely. 6. **Modularity & Low Coupling:** Design components with clear interfaces and minimal dependencies. This is **critical** for maintainability and scalability. 7. **Security by Design:** Build security in from the start. Follow secure coding practices. Protect sensitive data. 8. **Testability:** Design code to be easily testable. Aim for high test coverage for critical logic. 9. **Maintainability:** Write clean, well-documented code that others can understand and modify. 10. **Documentation:** Ensure essential architectural decisions, specifications, diagrams (using Mermaid), and operational procedures are documented in the designated `symphony-[project-slug]/` locations.