Date: YYYY-MM-DD Deciders: [List of people involved] Technical Story: [Link to issue/PR if applicable]
[Describe the context and problem. What forces are at play? What constraints exist? What problem are we trying to solve?]
- [Driver 1 - e.g., Performance requirements]
- [Driver 2 - e.g., Security constraints]
- [Driver 3 - e.g., Team expertise]
- [Driver 4 - e.g., Cost considerations]
- [Option 1]
- [Option 2]
- [Option 3]
Chosen option: "[Option X]", because [justification. Why this option over others? What were the decisive factors?]
Positive:
- [Positive consequence 1 - e.g., Improved performance]
- [Positive consequence 2 - e.g., Better security]
Negative:
- [Negative consequence 1 - e.g., Increased complexity]
- [Negative consequence 2 - e.g., Higher learning curve]
Risks:
- [Risk 1 - e.g., Third-party dependency risk]
- [Risk 2 - e.g., Scaling limitations]
[How this was actually implemented. Gotchas discovered during implementation. Deviations from original plan.]
Key Files:
- [file.go:123] - [What this implements]
- [component.tsx:456] - [What this implements]
Patterns Established:
- [Pattern 1]
- [Pattern 2]
How do we know this decision was correct?
- [Metric 1 - e.g., Response time improved by 40%]
- [Metric 2 - e.g., Security audit passed]
- [Outcome 1 - e.g., Team velocity increased]
- [Related ADR-XXXX]
- [Related issue #XXX]
- [Supersedes ADR-YYYY]
- [External reference]