safishamsi/graphify は、AIコーディングアシスタント向けの知識グラフツールです。目的は明快です。プロジェクトディレクトリ内のコード、文書、SQL schema、スクリプト、論文、画像、動画、音声を検索可能な知識グラフに整理し、AIアシスタントが grep、全文読み込み、その場限りの検索だけに頼らずにプロジェクトを理解できるようにします。
プロジェクトURL:safishamsi/graphify
この記事の整理時点で、GitHubページには約50.2k stars、5.4k forksが表示されており、ライセンスはMITです。READMEでは、AIコーディングアシスタント内で /graphify と入力すると、プロジェクト全体を検索可能な知識グラフにマッピングすると説明されています。
解決する中核問題
AIコーディングアシスタントはますます強くなっていますが、実際のコードベースではまだよく次の問題に直面します。
- 主要モジュール同士がどうつながるのかわからない。
- 多くのファイルを読んでも、全体のアーキテクチャマップができない。
- 検索でテキストは見つかるが、上流・下流の依存関係がわからない。
- コード、database schema、ドキュメント、インフラ設定が別々の場所に分散している。
- チーム開発では、人によってプロジェクト構造の理解が異なる。
Graphifyが作ろうとしているのは、プロジェクトの「記憶層」です。コードエンティティ、文書の概念、データベース表、設定、設計メモ、ファイル間の関係をつなげ、AIアシスタントが毎回ゼロからファイルを読むのではなく、グラフを問い合わせられるようにします。
最小構成での使い方
Graphifyの最小利用はとても簡単です。インストール後、AIコーディングアシスタント内で次を入力します。
|
|
PowerShellでは先頭の / がパス区切りとして扱われるため、Windows PowerShellでは次のようにします。
|
|
実行後、graphify-out/ ディレクトリが生成され、主なファイルは次の三つです。
|
|
それぞれの役割は異なります。
graph.html:ブラウザーで開けるインタラクティブグラフ。ノードクリック、フィルター、検索ができる。GRAPH_REPORT.md:プロジェクトのハイライト、重要概念、意外な接続、推奨質問。graph.json:完全なグラフ。後から再読み込みせずに直接問い合わせられる。
Mermaidの呼び出しフロー図を含む読みやすいアーキテクチャページを作るには、次を実行します。
|
|
インストールと対応プラットフォーム
GraphifyのPyPIパッケージ名は graphifyy です。y が二つある点に注意してください。READMEでは、PyPI上の他の graphify* パッケージはこのプロジェクトと無関係だと明記されています。ただしCLIコマンド名は graphify のままです。
推奨インストール方法は次の通りです。
|
|
代替方法もあります。
|
|
インストール後、AIアシスタントに登録します。
|
|
対応プラットフォームは多く、Claude Code、Codex、OpenCode、GitHub Copilot CLI、VS Code Copilot Chat、Aider、Cursor、Gemini CLI、Kimi Code、Kiro、Google Antigravityなどがあります。プラットフォームごとに次のようなコマンドを使えます。
|
|
Codexユーザーは、~/.codex/config.toml の [features] に次も追加する必要があります。
|
|
READMEでは、Codexは /graphify ではなく $graphify を使うとも説明されています。
どんなファイルを処理できるか
Graphifyは幅広い入力タイプを扱えます。
コードでは31言語をサポートします。Python、TypeScript、JavaScript、Go、Rust、Java、C/C++、Ruby、C#、Kotlin、Scala、PHP、Swift、Lua、Zig、PowerShell、SQL、Shell、JSONなどです。
文書では次をサポートします。
.md.mdx.qmd.html.txt.rst.yaml.yml
オプション依存関係でさらに拡張できます。
|
|
pdf はPDF抽出、office は .docx と .xlsx、video は動画と音声の文字起こし、mcp はMCP stdio server、neo4j はNeo4jへのpush、sql はSQL schema抽出に使います。
生成されるレポートの価値
GRAPH_REPORT.md は普通の要約ではありません。プロジェクト内でAIアシスタントが注目すべき関係を抽出します。
READMEで挙げられている内容には次のようなものがあります。
God nodes:プロジェクト内で最も多く接続されている中核概念。Surprising connections:ファイルやモジュールをまたぐ意外な接続。The why:コメント、docstring、設計文書から抽出された設計理由。Suggested questions:グラフが特に答えやすい質問。Confidence tags:関係がEXTRACTED、INFERRED、AMBIGUOUSとしてラベル付けされる。
これは重要です。通常の検索は「この単語がどこに出るか」を教えます。一方、グラフは「この概念がどのモジュール、設定、表、文書と関係するか」を答えられます。大規模コードベースでは、これは単純な全文検索よりアーキテクチャ理解に近いものです。
よく使うコマンド
Graphifyの主なコマンドは次の通りです。
|
|
論文や動画をグラフへ追加することもできます。
|
|
PR分析補助には次のコマンドも使えます。
|
|
これらはコードレビューに向いています。PRがどのグラフコミュニティに影響するか、他のPRと衝突リスクがあるか、どのreview queueを優先すべきかを確認できます。
MCP、Neo4j、CIとの関係
GraphifyはHTMLグラフを生成するだけではありません。グラフをAIアシスタントへ繰り返し呼び出せる形で公開できます。
たとえばMCP serverを起動できます。
|
|
MCP serverは query_graph、get_node、get_neighbors、shortest_path、list_prs、get_pr_impact、triage_prs などを提供します。
Neo4jへのエクスポートやpushにも対応します。
|
|
チーム開発では、READMEは graphify-out/ をgitにコミットすることを提案しています。これにより、チーム全員が同じプロジェクトマップから始められます。次も実行できます。
|
|
これにより、git commit後にグラフが自動再構築され、merge driverも設定されます。複数人が並行してコミットしても、graph.json に競合マーカーが残りにくくなります。
プライバシーとコスト
GraphifyのREADMEはプライバシー境界を比較的明確に説明しています。
コードファイルはtree-sitterでローカル解析され、API呼び出しは発生しません。動画と音声はfaster-whisperでローカル文字起こしできます。文書、PDF、画像などの意味抽出は、利用しているAIアシスタントのモデルAPIを通ります。
headless graphify extract を使う場合、次の環境変数が必要になることがあります。
|
|
ローカルOllama、AWS Bedrock、Claude Code CLIなどもbackendとして使えます。READMEにはtelemetry、usage tracking、analyticsがないことも記載されています。
実際に使うときは、コードのローカル解析がすべての内容が外へ出ないことを意味するわけではない点に注意が必要です。文書、PDF、画像、クラウドモデルが関わる場合は、backend、API key、企業コンプライアンス、データ境界を確認する必要があります。
向いている場面
Graphifyは次のようなユーザーに向いています。
- Claude Code、Codex、Cursor、Gemini CLIにプロジェクト構造をより理解させたい開発者。
- 大規模で見慣れないコードベースを素早く理解したい人。
- コード、SQL schema、ドキュメント、設定をまとめて分析したいチーム。
- アーキテクチャレビュー、PR review、リファクタリング影響分析を行う人。
- プロジェクト知識をMCPツールとしてAgentに公開したい人。
- チームのために「プロジェクトマップ」を残したい技術リーダー。
すべてのプロジェクトに必要なわけではありません。小さなスクリプト、一回限りのdemo、非常に単純なリポジトリでは、通常の検索とREADMEで十分かもしれません。Graphifyの価値は、モジュールが多く、文書が多く、チーム開発が多く、AIアシスタントが頻繁に関与する大きなプロジェクトでより出やすくなります。
まとめ
Graphifyの意味は、AIコーディングアシスタントのコンテキストを「一時的なファイル読み取り」から「長期的に検索可能なプロジェクト知識グラフ」へ進めることです。
開発者にとって、GraphifyはIDE、検索、LSPの代替ではありません。AIアシスタントに構造化された記憶層を追加します。どのモジュールが重要か、どの概念が強くつながるか、どの文書が設計理由を説明しているか、あるPRがどのコミュニティに影響するかを扱えます。Codex、Claude Code、Gemini CLI、AntigravityのようなAgentツールが普及するほど、この種のプロジェクトグラフ層はますます有用になります。
参考: