33 lines
1.2 KiB
Cheetah
33 lines
1.2 KiB
Cheetah
# 30 — Decisions (ADRs)
|
|
|
|
Hier leben **Architecture Decision Records** — je eine Markdown-Datei pro
|
|
Entscheidung, nummeriert. Neue ADRs werden mit dem `adr`-Skill angelegt, der
|
|
automatisch hochzählt und das Template anwendet.
|
|
|
|
## Regeln
|
|
|
|
- **Append-only.** Eine einmal getroffene Entscheidung wird nicht rückwirkend
|
|
umgeschrieben. Stattdessen wird sie durch einen neuen ADR ersetzt, der
|
|
`Supersedes: <nummer>` im Header trägt. Der alte ADR bekommt dann den Status
|
|
`superseded by <neue-nummer>`.
|
|
- **Ein ADR pro Entscheidung.** Nicht „ADR für Q2" oder „ADR für Auth-Stack
|
|
insgesamt", sondern „ADR für: PocketBase statt Supabase".
|
|
- **Begründung vor Details.** Der „Warum"-Teil ist der wertvolle. Wenn du in
|
|
sechs Monaten auf den ADR zurückkommst, willst du nicht die Spec lesen,
|
|
sondern verstehen, warum diese Wahl damals sinnvoll erschien.
|
|
|
|
## Namensschema
|
|
|
|
```
|
|
NNNN-kurzer-slug.md
|
|
```
|
|
|
|
Beispiel: `0001-pocketbase-statt-supabase.md`, `0002-caddy-als-reverse-proxy.md`.
|
|
|
|
## Status-Werte
|
|
|
|
- `proposed` — wird diskutiert, aber noch nicht gelebt.
|
|
- `accepted` — gilt, Code / Betrieb folgt dem.
|
|
- `superseded by NNNN` — überholt durch einen neueren ADR.
|
|
- `deprecated` — gilt nicht mehr, aber es gibt (noch) keinen Nachfolger.
|