diagram-generator は何をしますか?
コード、スキーマ、要件から、実装に基づいたMermaidファーストのソフトウェア図とコンパクトなアーキテクチャドキュメントを作成します。
概要
このスキルは、ソフトウェアプロジェクトのアーキテクチャを視覚化するプロセスを自動化します。Mermaid記法を第一に使用することで、生成された図はテキストベースであり、Gitなどのバージョン管理システムで追跡可能です。
機能
- コード解析に基づく図生成: コードベースからコンポーネント図、クラス図、シーケンス図を自動生成します。
- スキーマからのデータフロー図: データベーススキーマやAPIスキーマからエンティティ関連図やデータフロー図を作成します。
- 要件からのアーキテクチャドキュメント: 要件定義からコンパクトなアーキテクチャドキュメントを生成します。
- Mermaidファーストアプローチ: すべての図はMermaid記法で生成され、必要に応じて他の形式にもエクスポート可能です。
使用方法
# コードベースから図を生成
diagram-generator --source ./src --output ./docs/diagrams
# スキーマから図を生成
diagram-generator --schema ./schema.sql --output ./docs/diagrams
# 要件からのドキュメント生成
diagram-generator --requirements ./requirements.md --output ./docs/architecture
設定オプション
| オプション | 説明 | デフォルト値 |
|---|---|---|
--source | 解析するソースコードのパス | ./src |
--schema | データベーススキーマファイルのパス | - |
--requirements | 要件定義ファイルのパス | - |
--output | 出力ディレクトリ | ./docs |
--format | 出力形式 (mermaid, png, svg) | mermaid |
環境変数
DIAGRAM_GENERATOR_OUTPUT_DIR: 出力ディレクトリを指定します。DIAGRAM_GENERATOR_SOURCE_DIR: 解析するソースディレクトリを指定します。
例
コード解析からコンポーネント図を生成
入力コード:
# src/main.py
from module_a import ServiceA
from module_b import ServiceB
class App:
def __init__(self):
self.a = ServiceA()
self.b = ServiceB()
生成されるMermaid図:
flowchart LR
App --> ServiceA
App --> ServiceB
サポートされるプラットフォーム
- Claude Code
- Cursor
- Codex
- その他のAIエージェント
注意事項
- 生成された図はあくまでコードの構造を反映したものであり、設計意図を完全に捉えるものではありません。
- 複雑なコードベースでは、解析に時間がかかる場合があります。
- 生成されたドキュメントは必ずレビューし、必要に応じて修正してください。