Skip to content

Latest commit

 

History

History
389 lines (276 loc) · 23.1 KB

File metadata and controls

389 lines (276 loc) · 23.1 KB

Understand Anything

あらゆるコードベース、ナレッジベース、ドキュメントを、探索・検索・質問ができるインタラクティブなナレッジグラフに変換します。
Claude Code、Codex、Cursor、Copilot、Gemini CLI など、マルチプラットフォーム対応。

Understand Anything. Understand Anyone.
AI は人を置き換えるのではなく、人を支えるためにあるべきです。

Understand Anything | Trendshift

English | 简体中文 | 繁體中文 | 日本語 | 한국어 | Español | Türkçe | Русский

クイックスタート License: MIT Claude Code Codex Copilot Copilot CLI Gemini CLI OpenCode Vibe CLI Trae ホームページ ライブデモ Understand Anyone

Understand Anything — あらゆるコードベースをインタラクティブなナレッジグラフに変換

Egonex によるオープンソースプロジェクト
原作者: Lum1104


新しいチームに参加したばかり。コードベースは20万行。どこから手をつければいいのか?

Understand Anything は Claude Code Plugin です。マルチエージェントパイプラインでプロジェクトを分析し、すべてのファイル・関数・クラス・依存関係のナレッジグラフを構築して、インタラクティブなダッシュボードで視覚的に探索できるようにします。コードを闇雲に読むのはやめて、全体像を把握しましょう。

目指すのは、コードベースの複雑さで圧倒するグラフではなく、すべてのパーツがどう噛み合っているかを静かに教えてくれるグラフ。


✨ 機能

Note

すぐに試したいですか? ホームページライブデモをお試しください — パン、ズーム、検索、探索ができる完全インタラクティブなダッシュボードです。

コード構造グラフを探索

コードベースをインタラクティブなナレッジグラフとして表示——すべてのファイル、関数、クラスがクリック・検索・探索可能なノードです。ノードを選択すると、わかりやすい要約、依存関係、ガイド付きツアーが表示されます。

ビジネスロジックを理解

ドメインビューに切り替えると、コードが実際のビジネスプロセスにどう対応するかが一目でわかります——ドメイン、フロー、ステップが横方向のグラフとして表示されます。

ナレッジベースを分析

/understand-knowledgeKarpathy パターンの LLM Wiki に向けると、コミュニティクラスタリング付きのフォースディレクテッドナレッジグラフが生成されます。決定論的パーサーが index.md から wikilinks とカテゴリを抽出し、LLM エージェントが暗黙の関係を発見、エンティティを抽出、主張を浮き彫りにして、wiki をナビゲート可能な相互接続されたアイデアのグラフに変換します。

🧭 ガイドツアー

依存関係順に並べられた、自動生成のアーキテクチャウォークスルー。正しい順序でコードベースを学べます。

🔍 ファジー&セマンティック検索

名前や意味で何でも検索できます。「認証を処理する部分は?」と検索すれば、グラフ全体から関連する結果が得られます。

📊 差分影響分析

コミット前に、変更がシステムのどの部分に影響するかを確認。コードベース全体への波及効果を把握できます。

🎭 ペルソナ適応型UI

ダッシュボードは、ジュニア開発者・PM・パワーユーザーなど、ユーザーに応じて詳細レベルを調整します。

🏗️ レイヤー可視化

API・Service・Data・UI・Utilityなどのアーキテクチャ層ごとに自動グループ化。色分けされた凡例付き。

📚 言語コンセプト

ジェネリクス・クロージャ・デコレータなど12のプログラミングパターンが、出現箇所のコンテキストで説明されます。


🚀 クイックスタート

1. プラグインをインストール

/plugin marketplace add Egonex-AI/Understand-Anything
/plugin install understand-anything

ローカルモデルを使う場合: プライバシーやエンタープライズ用途では、Ollama などのローカルモデルプロバイダーにプラットフォームを向けてください。統合ガイドに従ってモデルプロバイダーを変更できます。

2. コードベースを分析

/understand

マルチエージェントパイプラインがプロジェクトをスキャンし、すべてのファイル・関数・クラス・依存関係を抽出して、.ua/knowledge-graph.json にナレッジグラフを保存します。(すでに .understand-anything/ ディレクトリがあるプロジェクトはそれを引き続き使用します。存在する場合はそれがデータディレクトリのままなので、移行は不要です。)

トークン使用量にご注意: 初回の /understand はコードベース全体を分析するため、大規模プロジェクトではかなりのトークンを消費することがあります。トークンプラン / サブスクリプションでの実行、または初期化にはローカルモデル(上記参照)の使用をおすすめします。以降の実行はデフォルトで増分処理され、変更されたファイルのみ再分析するため、消費トークンは大幅に少なくなります。

ローカライズされた出力: --language を使用して、希望の言語でコンテンツを生成:

# 日本語でコンテンツを生成(ナレッジグラフのノード説明とダッシュボードUI)
/understand --language ja

# サポート言語:en(デフォルト)、zh、zh-TW、ja、ko、ru

プロジェクトでの初回実行時--language を指定せず、保存済みの言語設定もない場合、/understand は会話で使われている言語を検出します。英語以外が検出された場合は、生成前にその言語を使用するか、別の言語へ変更するかを確認します。英語での会話には影響しません。選択結果は .ua/config.json に保存され、以降の実行でも再利用されます。

--language パラメータは以下に影響します:

  • ナレッジグラフのノードサマリーと説明
  • ダッシュボードUIのラベル、ボタン、ツールチップ
  • ガイド付きツアーの説明

3. ダッシュボードで探索

/understand-dashboard

インタラクティブなWebダッシュボードが開き、コードベースがグラフとして可視化されます。アーキテクチャ層ごとに色分けされ、検索やクリックが可能です。ノードを選択すると、コード・関連関係・平易な説明が表示されます。

4. さらに学ぶ

# コードベースについて何でも質問
/understand-chat 支払いフローはどう動いているの?

# 現在の変更の影響を分析
/understand-diff

# 特定のファイルや関数を詳しく調べる
/understand-explain src/auth/login.ts

# 新メンバー向けのオンボーディングガイドを生成
/understand-onboard

# ビジネスドメイン知識を抽出(ドメイン、フロー、ステップ)
/understand-domain

# Karpathy パターンの LLM Wiki ナレッジベースを分析
/understand-knowledge ~/path/to/wiki

# いつでも再実行 —— デフォルトでインクリメンタル(変更ファイルのみ再分析)
/understand

# post-commit フックをインストールしてコミットごとに自動更新
/understand --auto-update

# 巨大なモノレポでも安心 —— サブディレクトリにスコープを絞る
/understand src/frontend

🌐 マルチプラットフォームインストール

Understand-Anythingは複数のAIコーディングプラットフォームで動作します。

Claude Code(ネイティブ)

/plugin marketplace add Egonex-AI/Understand-Anything
/plugin install understand-anything

ワンラインインストール(Codex / OpenCode / OpenClaw / Antigravity / Gemini CLI / Pi Agent / Vibe CLI / VS Code Copilot / Hermes / Cline / KIMI CLI / Trae / Nanobot / Kiro)

macOS / Linux:

curl -fsSL https://raw.githubusercontent.com/Egonex-AI/Understand-Anything/main/install.sh | bash
# プラットフォームを直接指定して対話プロンプトをスキップすることもできます:
curl -fsSL https://raw.githubusercontent.com/Egonex-AI/Understand-Anything/main/install.sh | bash -s codex

Windows(PowerShell):

iwr -useb https://raw.githubusercontent.com/Egonex-AI/Understand-Anything/main/install.ps1 | iex

インストーラーはリポジトリを ~/.understand-anything/repo にクローンし、選択したプラットフォーム用のシンボリックリンクを作成します。完了後はCLI/IDEを再起動してください。

スキルの呼び出し方について: 呼び出しのプレフィックスはプラットフォームごとに異なります。多くのプラットフォームはスラッシュコマンド(/understand)を使いますが、Codexは$を使います/understandではなく$understandと入力してください。どちらのプレフィックスも認識されない場合は、*「understandスキルを使ってこのプロジェクトを分析して」*のように自然言語で依頼できます。

  • サポートされる <platform> 値:geminicodexopencodepiopenclawantigravityvibevscodehermesclinekimitraenanobotkiro
  • 後で更新:./install.sh --update
  • アンインストール:./install.sh --uninstall <platform>

Cursor

Cursorはこのリポジトリをクローンすると .cursor-plugin/plugin.json 経由でプラグインを自動検出します。手動インストールは不要です — クローンしてCursorで開くだけです。

自動検出されない場合は、手動でインストールしてください:Cursor Settings → Plugins を開き、検索欄に https://github.com/Egonex-AI/Understand-Anything を貼り付けて追加します。

VS Code + GitHub Copilot

GitHub Copilot拡張機能(v1.108+)をインストールしたVS Codeは、.copilot-plugin/plugin.json 経由でプラグインを自動検出します。クローンしてVS Codeで開くだけで、手動インストールは不要です。

全プロジェクトで使用するパーソナルスキルとして導入したい場合は、上記の install.shvscode プラットフォームで実行してください。

Copilot CLI

copilot plugin install Egonex-AI/Understand-Anything:understand-anything-plugin

Kiro CLI / IDE

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

インストール後:

  • Kiro CLIkiro-cli chat --agent understand "このプロジェクトを解析して"
  • Kiro IDE:スキルは ~/.kiro/skills/ にシンボリックリンクされ、understand エージェントは ~/.kiro/agents/understand.json に書き込まれます。そのため、IDEを再起動するとどちらも利用可能になります。

全プロジェクトで使用するパーソナルスキルとして導入したい場合は、上記の install.shkiro プラットフォームで実行してください。

プラットフォーム互換性

プラットフォーム ステータス インストール方法
Claude Code ✅ ネイティブ プラグインマーケットプレイス
Cursor ✅ サポート 自動検出
VS Code + GitHub Copilot ✅ サポート 自動検出
Copilot CLI ✅ サポート プラグインインストール
Codex ✅ サポート install.sh codex
OpenCode ✅ サポート install.sh opencode
OpenClaw ✅ サポート install.sh openclaw
Antigravity ✅ サポート install.sh antigravity
Gemini CLI ✅ サポート install.sh gemini
Pi Agent ✅ サポート install.sh pi
Vibe CLI ✅ サポート install.sh vibe
Hermes ✅ サポート install.sh hermes
Cline ✅ サポート install.sh cline
KIMI CLI ✅ サポート install.sh kimi
Trae ✅ サポート install.sh trae
Nanobot ✅ サポート install.sh nanobot
Kiro CLI / IDE ✅ サポート install.sh kiro

📦 チームでグラフを共有する

グラフは単なる JSON ファイルです——一度コミットすれば、チームメンバーはパイプラインを実行せずに済みます。オンボーディング、PR レビュー、docs-as-code ワークフローに最適です。

例: GoogleCloudPlatform/microservices-demo —— コミット済みのグラフを含む Go / Java / Python / Node のリファレンスプロジェクト。

コミット対象: .ua/ 内のすべてのファイル。ただし intermediate/diff-overlay.json は除きます(これらはローカルの一時ファイルです)。(レガシープロジェクトは .understand-anything/ を使用します。そのディレクトリが存在する場合は、以下のディレクトリ名をそれに置き換えてください。)

.ua/intermediate/
.ua/diff-overlay.json

最新状態を保つ: /understand --auto-update を有効にすると、post-commit フックがグラフを増分的に更新し、各コミットに対応するグラフが揃います。またはリリース前に /understand を手動で再実行します。

大きなグラフ(10 MB 以上): git-lfs で管理します。

git lfs install
git lfs track ".ua/*.json"
git add .gitattributes .ua/

Claude Code なしでダッシュボードを表示する

グラフを生成してコミットしておけば、チームの誰でもコマンド一つで開けます。Claude Code も LLM も API キーも不要で、必要なのは Node.js(>= 18)だけです:

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

ターミナルにトークン付き URL(http://127.0.0.1:5173/?token=…)が表示され、完全にインタラクティブなダッシュボードがブラウザで開きます。プロジェクトディレクトリ(デフォルト:カレントディレクトリ)には、コミットされたデータディレクトリ(.ua/、または旧来の .understand-anything/)が含まれている必要があります。すべてローカルディスクから読み取り専用で配信され、LLM 呼び出しは行われず、データがマシンの外に出ることはありません。

リポジトリのクローンから作業する場合は、pnpm install && pnpm --filter @understand-anything/core build の後に GRAPH_DIR=/path/to/analyzed/project pnpm dev:dashboard を実行すれば、Vite 開発サーバー経由で同じことができます。


🔧 内部の仕組み

Tree-sitter + LLM ハイブリッド

決定論的にできることは静的解析、意味理解が必要なことは LLM、と役割を分けています:

  • Tree-sitter(決定論的) —— ソースコードを具象構文木にパースし、構造的事実を抽出します:import、export、関数/クラス定義、呼び出し位置、継承関係。スキャンフェーズで importMap として事前解決し、file-analyzer に渡すことで、ソースから再度 import を導出する必要をなくしています。同じ入力からは常に同じ出力が得られ、インクリメンタル更新のフィンガープリントの基盤にもなります。
  • LLM(意味的) —— パース済みの構造と原文ソースを併せて読み、パーサーには出せないものを生成します:plain-English の要約、タグ、アーキテクチャレイヤの割当、業務ドメインマッピング、ガイド付きツアー、言語コンセプトの注釈。

この分担により、構造面ではグラフが再現可能(同じコードからは常に同じエッジが出る)でありながら、意味面ではそのファイルが「何のために」あるのかという意図を捉えられます。

マルチエージェントパイプライン

/understand コマンドは5つの専門エージェントをオーケストレーションし、/understand-domain は6つ目を追加します:

エージェント 役割
project-scanner ファイルの検出、言語やフレームワークの検出
file-analyzer 関数・クラス・インポートの抽出、グラフノードとエッジの生成
architecture-analyzer アーキテクチャ層の特定
tour-builder ガイド学習ツアーの生成
graph-reviewer グラフの完全性と参照整合性を検証(デフォルトではインライン実行。LLMによる完全レビューは --review を使用)
domain-analyzer ビジネスドメイン、フロー、処理ステップの抽出(/understand-domain で使用)
article-analyzer wiki 記事からエンティティ、主張、暗黙の関係を抽出(/understand-knowledge で使用)

ファイルアナライザーは並列実行されます(最大5つ同時、1バッチあたり20〜30ファイル)。インクリメンタル更新に対応しており、前回の実行から変更されたファイルのみを再分析します。


🎥 コミュニティ

Better Stack によるコミュニティ製ウォークスルー動画。

Better Stack によるコミュニティ製ウォークスルー動画 — クリックして YouTube で視聴
YouTube で視聴 →

動画、ブログ、チュートリアルを作成しましたか?Issue または PR を開いてください — ここで紹介させていただきます。


🤝 コントリビュート

コントリビュートを歓迎します!始め方は以下の通りです:

  1. リポジトリをフォーク
  2. フィーチャーブランチを作成(git checkout -b feature/my-feature
  3. テストを実行(pnpm --filter @understand-anything/core test
  4. 変更をコミットしてプルリクエストを作成

大きな変更については、まずIssueを作成してアプローチを議論してください。


コードを闇雲に読むのはやめよう。すべてを理解しよう。

Star History

Star History Chart

使ってくれた、貢献してくれたすべての方へ ── 少しでも時間を節約できていると知ること、それがこれを作って良かったと思える理由です。

MIT License © Yuxiang Lin and Infinite Universe, Inc.