mcpField
C
code-to-diagram

code-to-diagram

github.com/zebbern開発4.7k43 回インストール1 日前に更新
リポジトリ

code-to-diagram について

code-to-diagramは、ソースコードのインポートと依存関係を解析してMermaid図を作成するPythonスキルです。プロジェクト構造の把握や依存関係の確認、ドキュメント作成に使え、SVGへのレンダリングも選択できます。

主な機能

  1. 01アーキテクチャ図、フローチャート、組織図
  2. 025言語の構文解析
  3. 03Mermaid出力とオプションのSVG出力
  4. 04JSON形式の解析結果
  5. 05スキャン範囲の設定

活用シーン

  1. 01未知のコードベースの構造把握
  2. 02コードレビューでの依存関係確認
  3. 03アーキテクチャドキュメントの作成
  4. 04リファクタリング前の結合度確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/zebbern/claude-code-guide --skill code-to-diagram

インストール後、Claude Code で/code-to-diagramを入力して読み込まれたか確認します。

同梱ファイルLICENSEscripts/analyze_codebase.py

詳細

コードから図を生成

AST 解析を通じてコードベースからインポートと依存関係を抽出し、次の 3 種類の図を自動生成します。

  1. アーキテクチャ図 — モジュール/ディレクトリレベルの依存関係
  2. フローチャート — ファイルレベルのインポート呼び出しチェーン
  3. 組織図 — ディレクトリ/ファイルの階層構造

対応言語:Python、JavaScript、TypeScript、Go、Java

出力形式:Mermaid テキスト(.mmd)または SVG 画像(システムへの mmdc のインストールが必要)

使い方

基本:プロジェクト全体を解析
python3 scripts/analyze_codebase.py /path/to/project

3 つの Mermaid 図を標準出力に出力し、.mmd ファイルを現在のディレクトリに書き込みます。

図の種類を指定
# Architecture diagram only
python3 scripts/analyze_codebase.py /path/to/project --type architecture

# Flowchart only
python3 scripts/analyze_codebase.py /path/to/project --type flowchart

# Org chart only
python3 scripts/analyze_codebase.py /path/to/project --type org
出力ディレクトリと形式を指定
# Output to a specific directory
python3 scripts/analyze_codebase.py /path/to/project --output /tmp/diagrams

# Output as SVG (requires mmdc)
python3 scripts/analyze_codebase.py /path/to/project --format svg

# Output both Mermaid and SVG
python3 scripts/analyze_codebase.py /path/to/project --format both
解析結果を JSON で出力
python3 scripts/analyze_codebase.py /path/to/project --json
パラメーター
パラメーター説明
directory解析するコードディレクトリ(必須)
--type, -t図の種類:architecture、flowchart、org、all(デフォルト:all)
--output, -o出力ディレクトリ(デフォルト:現在のディレクトリ)
--format, -f出力形式:mermaid、svg、both(デフォルト:mermaid)
--max-filesスキャンするファイルの最大数(デフォルト:500)
--max-depth組織図の最大階層(デフォルト:4)
--json解析結果を JSON 形式で出力

仕組み

  1. スキャンフェーズ:ディレクトリを再帰的にたどり、node_modules、.git、__pycache__ などをスキップします。
  2. 解析フェーズ:
    • Python ファイル:ast モジュールを使って import 文と from ... import 文を解析します
    • JS/TS ファイル:正規表現を使って import、require、export from に一致させます
    • Go ファイル:正規表現を使って import 文に一致させます
    • Java ファイル:正規表現を使って import 文に一致させます
  3. 内部依存関係の解決:インポートパスをプロジェクト内の実際のファイルに対応付けます
  4. 図の生成:依存関係を Mermaid の図構文に変換します
  5. レンダリング(任意):mmdc(Mermaid CLI)を呼び出して、.mmd ファイルを SVG としてレンダリングします

ユースケース

  • 不慣れなプロジェクトのモジュール構造をすばやく把握する
  • コードレビュー中に依存関係を可視化する
  • 技術ドキュメント用のアーキテクチャ図を作成する
  • 循環依存や過度な結合を検出する
  • リファクタリング前にプロジェクト構造を解析する

依存関係

  • Python 3.7+(標準ライブラリのみ。追加パッケージは不要)
  • SVG 出力には @mermaid-js/mermaid-cli が必要(任意)

注意事項

  • 静的なインポート関係のみを解析します。動的インポートは追跡されません
  • 大規模なプロジェクトでは、--max-files を使ってスキャン範囲を制限してください
  • ノードが多すぎる Mermaid 図はレンダリングが難しくなる場合があります。--type を使って図を個別に生成してください

コメント