NNNN. {判断のタイトル (動詞で始める、例: “Single Table Design を採用する”)}
-
Status: Proposed Accepted Deprecated Superseded by ADR-NNNN - Date: YYYY-MM-DD
- Deciders: {名前 / GitHub ユーザー名}
Context
{この判断が必要になった背景。前提条件、制約 (技術的・組織的・予算的)、関連する過去の判断や issue を書く。
ここで「なぜ今これを決めるのか」が読み手に伝わるかが ADR の価値の半分。}
Decision
{採った選択肢を 1〜3 文で。何をやるか、どう実装するかではなく、どの方針を採用したか。
例: “外部 API 仕様の正本として TypeScript 型 + Zod schema を採用する。OpenAPI は採用しない。”}
Consequences
Positive
- {利点を 2-4 個}
Negative
- {欠点・トレードオフを 2-4 個。「いつ困るか」も書くと将来 superseded する判断材料になる}
Neutral
- {影響はあるが評価不能なもの}
Alternatives considered
- {案 A}: {採らなかった理由を 1 文}
- {案 B}: {採らなかった理由を 1 文}
References
- {関連 issue / PR / 外部記事 / 公式ドキュメントへのリンク}