コーディングセッション中にアーキテクチャ決定を構造化ドキュメントとして記録します。決定がSlackスレッド、PRコメント、または誰かの記憶にのみ存在する代わりに、このスキルはコードと並行して存在する構造化ADRドキュメントを生成します。
Michael Nygardによって提案されたADR形式を、AI支援開発向けに調整したものを使用します:
# ADR-NNNN: [決定タイトル]
**Date**: YYYY-MM-DD
**Status**: proposed | accepted | deprecated | superseded by ADR-NNNN
**Deciders**: [関係者]
## Context
この決定または変更を促すどのような問題や状況が見られるのか?
[2~5文で状況、制約条件、作用する力について説明]
## Decision
提案または実施する変更は何か?
[決定を明確に述べる1~3文]
## Alternatives Considered(検討された代替案)
### Alternative 1: [名前]
- **Pros**: [利点]
- **Cons**: [欠点]
- **Why not**: [この選択肢が拒否された特定の理由]
### Alternative 2: [名前]
- **Pros**: [利点]
- **Cons**: [欠点]
- **Why not**: [この選択肢が拒否された特定の理由]
## Consequences(結果)
この変更により、何がより簡単になり、何がより難しくなるか?
### Positive
- [利点1]
- [利点2]
### Negative
- [トレードオフ1]
- [トレードオフ2]
### Risks
- [リスクと軽減策]
決定の瞬間が検出されたとき:
docs/adr/が存在しない場合、ユーザーの確認を得た上でディレクトリ、インデックステーブルヘッダーでシードされたREADME.md(下記のADRインデックス形式を参照)、手動使用用の空白のtemplate.mdを作成します。明示的な同意なしにファイルを作成しないでください。docs/adr/内の既存のADRをスキャンして増分するdocs/adr/NNNN-decision-title.mdに書き込みます。ユーザーが辞退した場合、ファイルを書き込まずにドラフトを破棄します。docs/adr/README.mdに追記するユーザーが「なぜXを選んだのか」と尋ねたとき:
docs/adr/が存在するかチェック — 存在しない場合、「このプロジェクトでADRが見つかりません。アーキテクチャ決定の記録を始めたいですか?」と応答docs/adr/README.mdインデックスをスキャンdocs/
└── adr/
├── README.md ← すべてのADRのインデックス
├── 0001-use-nextjs.md
├── 0002-postgres-over-mongo.md
├── 0003-rest-over-graphql.md
└── template.md ← 手動使用用の空白テンプレート
# Architecture Decision Records
| ADR | Title | Status | Date |
|-----|-------|--------|------|
| [0001](0001-use-nextjs.md) | Use Next.js as frontend framework | accepted | 2026-01-15 |
| [0002](0002-postgres-over-mongo.md) | PostgreSQL over MongoDB for primary datastore | accepted | 2026-01-20 |
| [0003](0003-rest-over-graphql.md) | REST API over GraphQL | accepted | 2026-02-01 |
会話の中でアーキテクチャ決定を示すこれらのパターンに注意:
明示的なシグナル
暗黙的なシグナル(ADRの記録を提案する — ユーザーの確認なしに自動作成しない)
proposed → accepted → [deprecated | superseded by ADR-NNNN]
| Category | Examples |
|---|---|
| Technology choices | フレームワーク、言語、データベース、クラウドプロバイダ |
| Architecture patterns | モノリス対マイクロサービス、イベント駆動、CQRS |
| API design | REST対GraphQL、バージョニング戦略、auth機構 |
| Data modeling | スキーマ設計、正規化決定、キャッシング戦略 |
| Infrastructure | デプロイメントモデル、CI/CDパイプライン、監視スタック |
| Security | Auth戦略、暗号化アプローチ、シークレット管理 |
| Testing | テストフレームワーク、カバレッジ対象、E2E対統合のバランス |
| Process | ブランチング戦略、レビュープロセス、リリースケーデンス |