-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ADR template for Pull Request #296
Open
bjohansebas
wants to merge
4
commits into
expressjs:master
Choose a base branch
from
bjohansebas:add-adr-template
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 1 commit
Commits
Show all changes
4 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,77 @@ | ||
--- | ||
name: ADR Template | ||
description: Template for Express Architecture Decision Records | ||
labels: ADR | ||
--- | ||
|
||
# ADR template | ||
|
||
This is the base template that we use | ||
bjohansebas marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
# ADR [Number]: [Title of Decision] | ||
|
||
## Status | ||
[Proposed | Accepted | Deprecated | Superseded by ADR [number]] | ||
|
||
## Submitters | ||
[List of people who proposed this decision. Include GitHub usernames or names with contact information if needed.] | ||
- @username1 | ||
- @username2 | ||
|
||
## Decision Owners | ||
[List of people responsible for driving the decision and following up on its implementation. This may include teams or subject matter experts.] | ||
- @owner1 | ||
- @team1 | ||
|
||
## Context | ||
Describe the problem, need, or feature request that prompted this decision. Include any relevant background information, constraints, and considerations that were taken into account. | ||
|
||
- **Why do we need this decision?** | ||
- **What problem does it solve or avoid?** | ||
- **Are there any existing issues/discussions/pull requests related to this?** (Include links to relevant GitHub issues, forum threads, or discussion channels.) | ||
|
||
## Decision | ||
Clearly state the decision that was made. Describe the chosen solution or approach in detail so that others can understand what was decided. | ||
|
||
- **What will be done?** | ||
- **What will not be done?** (If applicable, specify what was explicitly ruled out.) | ||
|
||
## Rationale | ||
Explain why this decision was made, including a discussion of the alternatives considered and why they were not chosen. | ||
|
||
- **Alternatives Considered:** | ||
- Alternative 1: [Description and reasons for rejection] | ||
- Alternative 2: [Description and reasons for rejection] | ||
- **Pros and Cons**: Outline the pros and cons of the chosen solution. | ||
- **Why is this decision the best option?** (Explain the key factors that influenced this choice.) | ||
|
||
## Consequences | ||
Describe the positive and negative outcomes of the decision, including any potential risks or technical debt. | ||
|
||
- **Positive Impact**: What benefits does this decision bring to the project? | ||
- **Negative Impact**: What challenges or limitations does this introduce? | ||
- **Mitigations**: How will we address potential drawbacks or issues? | ||
|
||
## Implementation | ||
(Optional, if relevant) | ||
Outline the steps required to implement the decision. This section is particularly useful if the decision involves a series of actions or a roadmap. | ||
|
||
- **Phase 1**: [Description] | ||
- **Phase 2**: [Description] | ||
- **Estimated Effort**: Provide a rough estimate of time or effort needed. | ||
|
||
## References | ||
Include any external links, documents, discussions, or research that were referenced during the decision-making process. | ||
|
||
- [Link to relevant GitHub issue or pull request](#) | ||
- [Link to forum discussion](#) | ||
- [Documentation or research sources](#) | ||
|
||
|
||
## Changelog | ||
Track changes or updates to this ADR over time. Include the date, author, and a brief description of each change. | ||
|
||
- **[YYYY-MM-DD]**: [@username] - [Brief description of the change] | ||
- Example: **[2024-10-22]**: @owner1 - Updated the decision to include support for Redis caching. | ||
- **[YYYY-MM-DD]**: [@username] - [Brief description of the change] | ||
- Example: **[2025-01-15]**: @username2 - Deprecated this ADR due to a shift in the database strategy. |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since I was not aware of the ADR format, I wonder if we could use more commonly used terminology here? RFC is the one I find most common and I know @sheplu even mentioned that on our call. That said, "proposal" would also make sense to me, and I think is more in the loose spirit of what these can be.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
RFC sounds great! :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
an RFC is something different and I think we should prefer the semantically correct term for what this represents.
RFC !== ADR