システム設計書ジェネレーター
システム設計ドキュメントを対話的に作成するスキル。3つのドキュメント形式に対応。
ドキュメント形式
| 形式 | テンプレート | 用途 |
|---|---|---|
| システム設計書 | assets/templates/system-design.md | アーキテクチャ全体: コンポーネント、データ、インフラ、非機能要件 |
| ADR | assets/templates/adr.md | 1つのアーキテクチャ判断を背景・結果とともに記録 |
| C4モデル | assets/templates/c4-model.md | 階層的なアーキテクチャビュー: コンテキスト → コンテナ → コンポーネント → コード |
ワークフロー
code
1. ドキュメント形式を判定 ↓ 2. ヒアリング(AskUserQuestionでバッチ質問) ↓ 3. テンプレートからドキュメントを生成 ↓ 4. ユーザーに提示してレビュー ↓ 5. 修正があれば反映 → 最終版を書き出し
Step 1: 形式の判定
ユーザーのリクエストから検出:
- •「システム設計」「アーキテクチャ設計」「インフラ構成」 → システム設計書
- •「ADR」「意思決定記録」「技術選定の記録」 → ADR
- •「C4」「C4モデル」「コンテキスト図」「コンテナ図」 → C4モデル
- •曖昧な場合 → AskUserQuestion で確認
Step 2: ヒアリング
references/hearing-patterns.md を読み、バッチ形式のヒアリングフローに従う。
ルール:
- •1回のバッチで1〜4問を AskUserQuestion で質問
- •ユーザーが既に回答済みの質問はスキップ
- •ユーザーの言語に合わせる
- •ADR: 判断の背景、検討した選択肢、トレードオフを重視
- •C4: システム境界、コンテナ、コンポーネントの責務を重視
Step 3: ドキュメント生成
- •
assets/templates/からテンプレートを読む - •ヒアリング結果に基づいてセクションを記入
- •セクション適応(
references/hearing-patterns.md参照) - •形式別のルール:
- •システム設計書: アーキテクチャ図、シーケンス図、状態図、ER図(Mermaid)
- •ADR: 簡潔に1つの判断に集中。関連ADRへのリンク
- •C4モデル: 各レベルのMermaid C4図。議論に関連するレベルのみ掘り下げる
Step 4: 提示とレビュー
- •生成したドキュメントのサマリーを表示
- •修正が必要か確認
- •修正があれば反映 → 再提示
- •承認されたらファイルに書き出し
出力先
デフォルト出力先: docs/
カスタム出力: ユーザーが指定した場合はそのパスを使用。
ファイル名:
- •
docs/system-design-{name}.md - •
docs/adr-{NNN}-{name}.md(NNN = 連番) - •
docs/c4-model-{name}.md