Egonex-AI/Understand-Anything

Graphs that teach > graphs that impress. Turn any code into an interactive knowledge graph you can explore, search, and ask questions about. Works with Claude Code, Codex, Cursor, Copilot, Gemini CLI, and more.

📚 Understand Anything – 任意のコードベース、知識ベース、ドキュメントをインタラクティブな知識グラフに変換

何であるか – Claude Code、Codex、Cursor、VS Code + Copilot、Gemini CLI など、さまざまなAIコーディングプラットフォーム上で動作するプラグイン/CLIです。プロジェクトをスキャンし、すべてのファイル、関数、クラス、依存関係を抽出して、JSON形式の知識グラフを構築します。このグラフはWebダッシュボードで探索でき、ノードは検索可能でクリック可能であり、平易な英語(または多言語)の要約、アーキテクチャレイヤー、ビジネスドメインマッピング、ガイド付きツアーが付加されています。


🎯 コア機能

機能 得られるもの
構造的グラフ 各ソースファイル、関数、クラスがノードとなり、エッジはインポート、呼び出し、継承などを示します。
意味的拡張 LLMエージェントが人間が読みやすい説明、レイヤータグ(API、Service、Data、UI、Utility)、ビジネスロジックのマッピングを追加します。
ガイド付きツアー 依存関係順にコードを並べた自動生成されたウォークスルーで、アーキテクチャをステップバイステップで学べます。
曖昧・意味的検索 「認証処理を行う部分はどこですか?」と尋ねると、グラフ全体で関連するノードを返します。
差分影響分析 変更後、影響を受けるグラフの部分が強調表示されます。
ペルソナ対応UI ダッシュボードは初心者開発者、PM、パワーユーザーに応じて詳細を簡略化または拡張できます。
知識ベースモード マークダウン形式のWiki(例:Karpathy-pattern LLM wiki)を対象にすると、概念、エンティティ、主張の力学的グラフが生成されます。
インクリメンタル更新 前回実行以降に変更されたファイルのみを再分析するため、トークンと時間の節約が可能。
多言語UI ノードの要約やUIは英語、簡体中国語、繁体中国語、日本語、韓国語、ロシア語で生成可能。

🛠️ 内部の仕組み

  1. Tree-sitterパーサー – 各ファイルに対して決定論的にコンクリート構文木を構築し、インポート、定義、呼び出し場所を抽出して安定した importMap を作成します。
  2. LLMエージェント – 解析された構造と元のソースコードをもとに、自然言語による要約、レイヤー割り当て、ドメインマッピング、ツアー用スクリプトを生成します。
  3. マルチエージェントパイプライン – 5つのコアエージェント(プロジェクトスキャナー、ファイルアナライザー、アーキテクチャアナライザー、ツアー生成器、グラフレビュー)が並列で実行(最大5ワーカー)。オプションのドメインアナライザーとアーティクルアナライザーはビジネスプロセス抽出とWiki解析に対応します。
  4. 出力 – 再現可能な構造的グラフ(同じコード → 同じエッジ)と意味的アノテーションを .ua/knowledge-graph.json に保存します。

🚀 クイックスタート

# 1️⃣ プラットフォームにインストール(例:Claude Code)
/plugin marketplace add Egonex-AI/Understand-Anything
/plugin install understand-anything

# 2️⃣ プロジェクトを分析(初回は多くのLLMトークンを使用)
/understand            # .ua/knowledge-graph.json を作成

# 3️⃣ インタラクティブダッシュボードを開く
/understand-dashboard

他のプラットフォームにはユニバーサルインストーラーを使用:

curl -fsSL https://raw.githubusercontent.com/Egonex-AI/Understand-Anything/main/install.sh | bash -s <platform>

サポートされる <platform> 値には codex、gemini、vscode、kiro、cursor などがあります。


💡 一般的な利用シーン

  • オンボーディング – 新入社員が /understand を実行して、視覚的に全体のコードベースを即座に探索。
  • PRレビュー – 生成された .ua/*.json グラフをコミット。レビュアーはパイプラインを再実行せずに影響分析を確認可能。
  • ビジネスロジックの発見 – /understand-domain でコードから高レベルなプロセス(例:決済フロー)を抽出。
  • Wikiのドキュメント化 – /understand-knowledge をマークダウン形式のWikiに適用し、社内知識ベース用の概念グラフを取得。
  • ローカル、プライバシー最優先の分析 – --model 設定でローカルLLM(例:Ollama)を接続し、ソースコードをクラウドに送信せずに分析可能。

📦 グラフの共有

グラフはプレーンなJSON形式なので、コミットできます(intermediate/ と diff-overlay.json は除外)。大きなグラフは git-LFS で保存可能です。誰でもLLMなしでダッシュボードを表示できます。以下のコマンドを実行すると、ローカルでグラフを提供します:

npx https://github.com/Egonex-AI/Understand-Anything/releases/latest/download/understand-anything-viewer.tgz /path/to/project

このコマンドは http://127.0.0.1:5173 でローカルでグラフを提供します。


🤝 コントリビュートとコミュニティ

  • pnpm --filter @understand-anything/core test でテストを実行。
  • 通常のフォーク → ブランチ → PR ワークフローに従ってください。
  • コミュニティ動画は歓迎です。特集されるには、イシューまたはPRを開いてください。

📜 ライセンス

MIT – © Yuxiang Lin and Infinite Universe, Inc.


結論:Understand Anything は、ハイブリッドな静的解析 + LLMパイプラインを活用して、任意の規模のコードベース(またはマークダウン形式の知識ベース)を検索可能で視覚的な知識グラフに変換できるツールです。多数のAIコーディングアシスタントに対応し、プライバシーに配慮したローカルオンリーモードも提供しています。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト