Skip to content

ADR Template

[Proposed | Accepted | Deprecated | Superseded by ADR-XXX]

What is the issue that we’re seeing that is motivating this decision or change? Provide enough context so that someone reading this in the future understands the “why” behind the decision.

  • Driver 1: [e.g., Performance requirements]
  • Driver 2: [e.g., Developer experience]
  • Driver 3: [e.g., Maintenance burden]
  • Driver 4: [e.g., Cost considerations]

Description: Brief description of this approach

Pros:

  • Advantage 1
  • Advantage 2

Cons:

  • Disadvantage 1
  • Disadvantage 2

Description: Brief description of this approach

Pros:

  • Advantage 1
  • Advantage 2

Cons:

  • Disadvantage 1
  • Disadvantage 2

Description: Brief description of this approach

Pros:

  • Advantage 1
  • Advantage 2

Cons:

  • Disadvantage 1
  • Disadvantage 2

We will go with Option X because [justification].

// Include code examples if relevant
const example = 'implementation details';
  • What becomes easier or better as a result of this change
  • Performance improvements expected
  • Developer experience improvements
  • What becomes more difficult
  • Technical debt we’re accepting
  • Additional complexity introduced
  • Things that change but aren’t necessarily better or worse
  • Migration requirements
  • Training needs

How will we know if this decision was correct?

  • Metric 1: [e.g., Bundle size remains under 160KB]
  • Metric 2: [e.g., Build time under 2 minutes]
  • Metric 3: [e.g., Developer satisfaction survey]
  • [Link to relevant documentation]
  • [Link to proof of concept]
  • [Link to benchmark results]
  • [Link to team discussion]

Additional implementation notes, migration strategies, or other relevant information that doesn’t fit in the sections above.


Date: YYYY-MM-DD
Participants: [List of people involved in the decision]
Outcome: [Accepted | Rejected | Deferred]