From f2260029b79847327a046ce18252259b9aed730c Mon Sep 17 00:00:00 2001 From: Sebastian Beltran Date: Mon, 28 Oct 2024 16:36:26 -0500 Subject: [PATCH 1/3] add adr pr --- .github/PULL_REQUEST_TEMPLATE/adr-template.md | 77 +++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 .github/PULL_REQUEST_TEMPLATE/adr-template.md diff --git a/.github/PULL_REQUEST_TEMPLATE/adr-template.md b/.github/PULL_REQUEST_TEMPLATE/adr-template.md new file mode 100644 index 0000000..a960902 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE/adr-template.md @@ -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 + +# 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. From 1a3d4f3b197ff9d86b61fafd0b993b90ea9c79df Mon Sep 17 00:00:00 2001 From: Sebastian Beltran Date: Fri, 1 Nov 2024 18:24:00 -0500 Subject: [PATCH 2/3] Merge branch 'master' of github.com:expressjs/discussions into add-adr-template --- .github/PULL_REQUEST_TEMPLATE/adr-template.md | 75 +------------------ docs/adr/adr-template.md | 74 ++++++++++++++++++ 2 files changed, 78 insertions(+), 71 deletions(-) create mode 100644 docs/adr/adr-template.md diff --git a/.github/PULL_REQUEST_TEMPLATE/adr-template.md b/.github/PULL_REQUEST_TEMPLATE/adr-template.md index a960902..4bf8a3b 100644 --- a/.github/PULL_REQUEST_TEMPLATE/adr-template.md +++ b/.github/PULL_REQUEST_TEMPLATE/adr-template.md @@ -1,77 +1,10 @@ --- -name: ADR Template +name: ADR Proposal description: Template for Express Architecture Decision Records labels: ADR --- -# ADR template + diff --git a/docs/adr/adr-template.md b/docs/adr/adr-template.md new file mode 100644 index 0000000..0e900e4 --- /dev/null +++ b/docs/adr/adr-template.md @@ -0,0 +1,74 @@ +# ADR template + +This is the base template that we use. Sections are optional, if they are not applicable to your proposal please remove them. + +``` +# 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. + +``` \ No newline at end of file From 3e695550266316aefff7650f5a6dd267aa447f64 Mon Sep 17 00:00:00 2001 From: Sebastian Beltran Date: Fri, 1 Nov 2024 18:58:21 -0500 Subject: [PATCH 3/3] improve readme --- README.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/README.md b/README.md index d904f66..56e9b00 100644 --- a/README.md +++ b/README.md @@ -15,3 +15,15 @@ of nature. Current meeting schedule: Wednesdays 23:30 UTC Recordings of past meetings are available on the [Express Youtube Channel](https://www.youtube.com/channel/UCYjxjAeH6TRik9Iwy5nXw7g/videos). + +## Decision Records + +> [!TIP] +> If you is creating a new ADR, please use the [ADR template](docs/adr/adr-template.md) as a starting point. + +We use [Architecture Decision Records](https://adr.github.io/) to record and +document decisions made by the Members of the Express.js. + +You can find all the ADRs in the [docs/adr](docs/adr) directory. + +