What is an Architecture Decision Record (ADR)?
Architecture Decision Records (ADR) is a way to capture architectural decisions made on a project.
It is a way to document the context, the decision, and the consequences of a decision.
It is a way to keep track of the architectural choices made on a project and to provide a record of the reasons behind those decisions.
Currently (2024-04), all ADRs are accepted by the repository's owner.
However, feel free to discuss them in the Discussions' ADR Category.
If it requires a new ADR in a discussion thread, create a new ADR with the adrs new <Title>
command and create a pull request.
(For more information about the adrs
command, see the crates' Repository)
About ADR Status
- Accepted: We accept the decision and implement it.
- Proposed: One of us proposes the decision, which is under discussion.
- Declined: We decline the decision. It should provide a concrete reason for the rejection.
- Deprecated: The decision is no longer valid. It remains in the repository for historical reasons.
- Superseded: Another decision supersedes this decision. It should provide a reference to the new decision.
About ADR Sections
- Title: The title of the ADR.
- Date: The date when one of us creates the ADR.
- Status: The status of the ADR. See the above section for more information.
- Context: The context in which one of us creates the ADR. (Why do we need to make this decision?)
- Decision: The decision that we make. It usually includes the Pros and Cons of the decision. (What is the decision?)
- Consequences: The consequences of the decision. (What are the effects and trade-offs of the decision?)