Appearance
Decision Record Creation Guide
本ガイドは、システムアーキテクチャや技術選定、設計方針に関する重要な意思決定を記録・追跡するために <root>/docs/decision-records/ 配下に作成する意思決定記録(DR-XXX.md)の記述内容とMarkdownテンプレートを定義するものです。
Rules & Section Guidelines
1. 命名規則・番号管理
- ファイル名:
DR-XXX.mdの形式で3桁以上の連番により管理します(例:DR-001.md,DR-002.md)。 - 台帳への登録: ファイルを作成した際は、必ず
<root>/docs/decision-records/index.mdの一覧テーブルに登録・追記してください。
2. 改訂と新規作成の判断基準
- 新規DR作成(破壊的変更): 既存の決定内容を根本から覆す変更や非互換な方針転換(コミットにおける
BREAKING CHANGES相当)を行う場合は、既存DRを上書きせず新規にDRを発番・作成します。- 旧DRのステータスは
SUPERSEDEDに更新し、新DRへのリンクを明記します。
- 旧DRのステータスは
- 既存DRの改訂(軽微な変更・修正): 誤字脱字の修正、説明の補足・明確化、関連ドキュメントリンクの追加など、決定方針自体を覆さない軽微な変更・修正の場合は既存DRを改訂できます。
- 改訂時は、末尾の「更新履歴」セクションに日付と変更内容を記録します。
3. フロントマターとステータス管理
- 標準項目(
name,description,timestamp,ai)に加え、status,reviewキーを記述します。 statusの値:PROPOSED: 提案中・議論中ACCEPTED: 承認・採択済みREJECTED: 却下・非採択DEPRECATED: 非推奨・廃止SUPERSEDED: 後続の意思決定により置換済み(DR-YYYにより置換等)
- フロントマター
review:result(ACCEPTED|REJECTED),timestamp,reason(REJECTED時の1行理由サマリー。ACCEPTED時は"") - ステータス更新: ステータス変更時は、
update-document-statusスキルを使用してフロントマターおよび台帳(docs/decision-records/index.md)を一括更新すること。
4. 必須セクション構成
- コンテキストと背景 (Context & Problem Statement)
- 意思決定が必要となった背景、解決すべき課題、制約条件を記述します。
- 決定事項 (Decision)
- 採択した方針や技術選定結果を明確に記述します。
- 検討した選択肢 (Options Considered)
- 比較・検討した他の代替案とそのメリット・デメリットを記述します。
- 帰結・影響 (Consequences)
- この決定によって生じるプラス・マイナスの影響やトレードオフ、今後のアクションを記述します。
- 関連ドキュメントとのインライン相互リンク必須化
- この意思決定によって影響を受ける・決定根拠となる設計書や仕様書(
architecture.md,design.md,SPEC-XXX.md等)が存在する場合、 対象記述の直後に([DR-001](...))形式でインラインリンクを記述 するとともに、「帰結・影響」または「関連」セクション内に相互リンクを明記します。
- この意思決定によって影響を受ける・決定根拠となる設計書や仕様書(
- 更新履歴 (Changelog)
- 初版作成日および改訂時の日付・変更内容を時系列で記述します。
Template
以下は意思決定記録(DR-001.md)を作成する際の標準Markdownテンプレートです。
markdown
---
name: DR-001.md
description: <意思決定事項の1行概要>
timestamp: YYYY-MM-DD
ai: ai-coauthored
status: ACCEPTED # PROPOSED | ACCEPTED | REJECTED | DEPRECATED | SUPERSEDED
review:
result: "" # ACCEPTED | REJECTED
timestamp: "" # YYYY-MM-DD
reason: "" # REJECTED時の1行理由サマリー
---
# DR-001: <意思決定タイトル・件名>
## コンテキストと背景
<意思決定が必要となった背景、発生していた問題、技術的/ビジネス的制約条件を記述します。>
## 決定事項
<最終的に採択・決定した方針や技術選定の内容を明確に記述します。>
## 検討した選択肢
### 選択肢 1: <案1の名称 (採択案)>
- **メリット**: <メリットを記述>
- **デメリット**: <デメリットを記述>
### 選択肢 2: <案2の名称>
- **メリット**: <メリットを記述>
- **デメリット**: <デメリットを記述>
## 帰結・影響
- **プラスの影響**: <決定によって得られる効果やポジティブな結果>
- **マイナスの影響 / トレードオフ**: <決定に伴う受容すべきリスクや課題>
- **関連ドキュメント (必須)**:
- [`architecture.md`](../architecture.md)
- [`SPEC-001`](../auth/specs/SPEC-001.md)
## 更新履歴
- YYYY-MM-DD: 初版作成
- YYYY-MM-DD: <軽微な修正・更新内容を記述>