Skip to content

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:]

  1. [Factor 1] - [How it influenced the decision]
  2. [Factor 2] - [How it influenced the decision]
  3. [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]

Released under the MIT License.