Skip to content
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

feat: add ADR Process, inspired by the backstage ADR structure #205

Merged
merged 1 commit into from
Oct 30, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 24 additions & 0 deletions docs/architecture-decisions/adr000-template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
______________________________________________________________________

| id | title | description |
| ----------- | ----------------- | ---------------------------------------------------------------- |
| adrs-adr000 | ADR000: \[TITLE\] | Architecture Decision Record (ADR) for \[TITLE\] \[DESCRIPTION\] |

______________________________________________________________________

<!-- These documents have names that are short noun phrases. For example, "ADR001: Deployment on Ruby on Rails 3.0.10" or "ADR009: LDAP for Multitenant Integration" -->

## Context

<!--
This section describes the forces at play, including technological, political, social, and project local. These forces are probably in tension, and should be called out as such. The language in this section is value-neutral. It is simply describing facts. -->

## Decision

<!-- This section describes our response to these forces. It is stated in full sentences, with active voice. "We will ..." -->

## Consequences

<!-- This section describes the resulting context, after applying the decision. All consequences should be listed here, not just the "positive" ones. A particular decision may have positive, negative, and neutral consequences, but all of them affect the team and project in the future. -->

<!-- This template is taken from a blog post by Michael Nygard http://thinkrelevance.com/blog/2011/11/15/documenting-architecture-decisions -->
28 changes: 28 additions & 0 deletions docs/architecture-decisions/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
______________________________________________________________________

| id | title | sidebar_label | description |
| ------------- | ----------------------------------- | ------------- | ----------------------------------------------- |
| adrs-overview | Architecture Decision Records (ADR) | Overview | Overview of Architecture Decision Records (ADR) |

______________________________________________________________________

The architecture decisions made for the Einride Extend public API are kept here. For more information about ADRs, when to write them, and why, please see [this blog post](https://engineering.atspotify.com/2020/04/14/when-should-i-write-an-architecture-decision-record/).

Records are never deleted but can be marked as superseded by new decisions or deprecated.

Records should be stored under the `architecture-decisions` directory.

## Contributing

### Creating an ADR

- Copy `docs/architecture-decisions/adr000-template.md` to`docs/architecture-decisions/adr000-my-decision.md` (my-decision should be descriptive. Do not assign an ADR number.)
- Fill in the ADR following the guidelines in the template
- Submit a pull request
- Address and integrate feedback from the community
- Eventually, assign a number
- Merge the pull request

## Superseding an ADR

If an ADR supersedes an older ADR then the status of the older ADR is changed to "superseded by ADR-XXXX", and links to the new ADR.