- {date}: {changelog}
This section contains all the context one needs to understand the current state, why there is a problem, and why a decision needs to be made now. It should be as succinct as possible and introduce the high level idea behind the solution.
This section explains all of the details of the proposed solution, including implementation details. It should also describe affects / corollary items that may need to be changed as a part of this. If the proposed change will be large, please also indicate a way to do the change to maximize ease of review. (e.g. the optimal split of things to do between separate PRs)
Hint: focus primarily on desired changes to the user experience that you want to make (e.g. how the developers will need to change the way they use a particular API or interface).
A decision may be "proposed" if it hasn't been agreed upon yet, or "accepted" once it is agreed upon. If a later ADR changes or reverses a decision, it may be marked as "deprecated" or "superseded" with a reference to its replacement.
{Deprecated|Proposed|Accepted}
This section describes the consequences, after applying the decision. All consequences should be summarized here, not just the "positive" ones.
Are there any relevant PR comments, issues that led up to this, or articles referenced for why we made the given design choice? If so link them here!
- {reference link}