Architecture Decision Records (ADRs)¶
This directory contains Architecture Decision Records for the myfy framework.
What are ADRs?¶
Architecture Decision Records document important architectural decisions made in the project, including: - The context and problem being addressed - The decision made and why - Consequences of the decision - Alternatives that were considered
Index¶
- ADR-0001: Record Architecture Decisions - Establishes the practice of using ADRs
- ADR-0002: Modular Configuration Design - Module-owned configuration pattern
- ADR-0003: Dependency Injection with Scopes - Scoped DI container design
- ADR-0004: Frontend Module Integration - Vite/Tailwind frontend integration
- ADR-0005: Module Extension and Lifecycle Phases - Module lifecycle design
- ADR-0006: Monorepo Versioning and Publishing - Version management strategy
- ADR-0007: Optional Nested Module Settings - Settings nesting pattern
- ADR-0008: Test Organization Strategy - Test structure and categories
Creating New ADRs¶
- Copy
template.mdto a new file with formatXXXX-title-with-dashes.md - Use the next sequential number (check existing ADRs)
- Fill in all sections of the template
- Submit as part of a pull request
- Once merged, the ADR is considered accepted and immutable
ADR Lifecycle¶
- Proposed - Initial draft under discussion
- Accepted - Decision has been made and is active
- Deprecated - Decision is no longer recommended but still documented
- Superseded - Replaced by a newer ADR (reference the new one)
ADRs should not be edited once accepted. If a decision changes, create a new ADR that supersedes the old one.