アーキテクチャ決定記録
コーディングセッション中にアーキテクチャ決定を構造化ドキュメントとして記録します。決定がSlackスレッド、PRコメント、または誰かの記憶にのみ存在する代わりに、このスキルはコードと並行して存在する構造化ADRドキュメントを生成します。
アクティベーション時期
- ユーザーが明示的に「この決定を記録しよう」または「このADRを作成しよう」と言う
- 重要な代替案の選択(フレームワーク、ライブラリ、パターン、データベース、API設計)
- ユーザーが「私たちは...を選択した」または「YではなくXをしている理由は...です」と言う
- ユーザーが「なぜXを選んだのか」と尋ねる(既存のADRを読む)
- アーキテクチャ上のトレードオフが検討される計画段階
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
- [リスクと軽減策]
ワークフロー
新しいADRをキャプチャする
決定の瞬間が検出されたとき:
- 初期化(初回のみ) —
docs/adr/が存在しない場合、ユーザーの確認を得た上でディレクトリ、インデックステーブルヘッダーでシードされたREADME.md(下記のADRインデック…