# How Should we use Architecture Decision Records ?
- ID: 1
- Status: [draft]
- Owner: [Michael Chiche]
- Participants: [web-front-team]
- Date: [2023-08-08]
- Tags: [ADR]
<!-- Technical Story: [How do we manage ADR ?] optional -->
## Context
We need ADRs
## Problem Statement
We want to use ADRs to have a better history for our architectural decisions
We need to decide the format for the files where store our ADRs and also where we will generate/store our ADRs.
## Decision Drivers <!-- optional -->
- Unicity of ADR:
We want to be able to reference specific ADRs simply, and easy to remeber
- Easiness to create/read ADRs
- Easy to implement
## Considered Options
There are 2 linked decisions to be made in this ADR.
Format of the ADR files
- **1** `NNNN-title`
- **2** `YYYY-MM-DD-title`
Location of the ADR files
- **a** Put the ADRs in a specific repository in a
- **b** Put the ADRs in a specific folder inside our repository
- **c** Put the ADRs in folders related to their _subject_ in a ADR specific folder
---
- **1.a** Put the ADRs in a specific repository with the format `NNNN-title`
- **1.b** Generate ADRs on the fly on a specific branch to be merged on master with format `NNNN-title`
- **2.a** Put the ADRs in a specific repository with the format `YYYY-MM-DD-title`
- **2.b** Generate ADRs on the fly on a specific branch to be merged on master with format `YYYY-MM-DD-title`
## Decision Outcome
We are chosing solution **1.b**, Generate ADRs on the fly on a specific branch to be merged on master with format `NNNN-title`
### Positive Consequences <!-- optional -->
- Unique IDs for ADRs
- Easy to remember IDs for future reference
- ADRs are in the same repository
-
### Negative Consequences <!-- optional -->
- It is possible to have conflicts, if many ADRs are written at the same time, and have the same IDs, but they are easy to resolve.
## Pros and Cons of the Options <!-- optional -->
| | Uniqueness | Ease of Access | Easy to implement |
| --: | :--------: | :------------: | :----------------------: |
| 1.a | X | | X |
| 2.a | | | X |
| 1.b | X | X | X |
| 2.b | | X | X |
| 1.c | | X | |
| 2.c | | X | |
### Option C | Put the ADRs in folders related to their _subject_ in a ADR specific folder
#### Cons
We dont know what folders to create right now, it is overcomplicating things that we dont know yet if we need, and also, we have to _try_ to figure out what folders we create.
Also, how do we know in which folder to create an ADR ? If we have a folder for `SEO` and for `GraphQL`, how do we know in which folder we put it?