ADR-XXX: [Title]
Status
[Proposed | Accepted | Deprecated | Superseded]
Context
[Describe the issue motivating this decision or change. What is the architectural challenge? What are the requirements or constraints? Why is this decision needed?]
[Include relevant background information, such as:]
- Current state of the system
- Problems or limitations with current approach
- Requirements that must be met
- Constraints (technical, business, time, resources)
- Stakeholders affected
Decision
[State the architectural decision that is being made. Be clear and specific.]
[Example format:] We will use [Technology/Approach] for [Purpose].
[Brief explanation of what this means in practice.]
Consequences
Positive
- [Benefit 1] - [Explanation]
- [Benefit 2] - [Explanation]
- [Benefit 3] - [Explanation]
Negative
- [Drawback 1] - [Explanation]
- [Drawback 2] - [Explanation]
- [Drawback 3] - [Explanation]
Neutral
- [Neutral point 1] - [Explanation]
- [Neutral point 2] - [Explanation]
Alternatives Considered
Option 1: [Name of Alternative]
Pros:
- [Advantage 1]
- [Advantage 2]
- [Advantage 3]
Cons:
- [Key disadvantage 1] - [Explanation]
- [Key disadvantage 2] - [Explanation]
- [Key disadvantage 3] - [Explanation]
Why not chosen: [Clear reason why this alternative was rejected]
Option 2: [Name of Alternative]
Pros:
- [Advantage 1]
- [Advantage 2]
- [Advantage 3]
Cons:
- [Key disadvantage 1] - [Explanation]
- [Key disadvantage 2] - [Explanation]
- [Key disadvantage 3] - [Explanation]
Why not chosen: [Clear reason why this alternative was rejected]
Option 3: [Name of Alternative]
[Repeat structure as above]
Option 4: [Name of Alternative]
[Repeat structure as above]
Option 5: [Name of Alternative] (if applicable)
[Repeat structure as above]
Decision Rationale
[Explain why the chosen option best meets the requirements. This should tie together the context, requirements, and analysis of alternatives.]
[Key factors that led to the decision:]
- [Factor 1] - [How it influenced the decision]
- [Factor 2] - [How it influenced the decision]
- [Factor 3] - [How it influenced the decision]
[Summary statement tying it all together.]
Implementation
[Describe how this decision will be implemented. Include:]
- Where this will be applied
- What changes are needed
- Any migration steps
- Timeline or phases (if applicable)
[Example:]
[Code examples, file paths, or implementation details]References
- [Link to related documentation]
- [Link to external resources]
- [Link to related ADRs]
- [Link to technical specifications]
Date: [Date]
Author: [Name]
Reviewers: [Names]
Status: [Proposed | Accepted | Deprecated | Superseded]