# graphify 🇺🇞 [English](../../README.md) | 🇚🇳 [简䜓䞭文](README.zh-CN.md) | 🇯🇵 [日本語](README.ja-JP.md) | 🇰🇷 [한국얎](README.ko-KR.md) | 🇩🇪 [Deutsch](README.de-DE.md) | 🇫🇷 [Français](README.fr-FR.md) | 🇪🇞 [Español](README.es-ES.md) | 🇮🇳 [à€¹à€¿à€šà¥à€Šà¥€](README.hi-IN.md) | 🇧🇷 [Português](README.pt-BR.md) | 🇷🇺 [РусскОй](README.ru-RU.md) | 🇞🇊 [العرؚية](README.ar-SA.md) | 🇮🇹 [Italiano](README.it-IT.md) | 🇵🇱 [Polski](README.pl-PL.md) | 🇳🇱 [Nederlands](README.nl-NL.md) | 🇹🇷 [TÃŒrkçe](README.tr-TR.md) | 🇺🇊 [УкраїМська](README.uk-UA.md) | 🇻🇳 [Tiếng Việt](README.vi-VN.md) | 🇮🇩 [Bahasa Indonesia](README.id-ID.md) | 🇞🇪 [Svenska](README.sv-SE.md) | 🇬🇷 [ΕλληΜικά](README.el-GR.md) | 🇷🇎 [Română](README.ro-RO.md) | 🇚🇿 [ČeÅ¡tina](README.cs-CZ.md) | 🇫🇮 [Suomi](README.fi-FI.md) | 🇩🇰 [Dansk](README.da-DK.md) | 🇳🇎 [Norsk](README.no-NO.md) | 🇭🇺 [Magyar](README.hu-HU.md) | 🇹🇭 [àž àž²àž©àž²à¹„àž—àž¢](README.th-TH.md) | 🇹🇌 [繁體䞭文](README.zh-TW.md) [![CI](https://github.com/safishamsi/graphify/actions/workflows/ci.yml/badge.svg?branch=v3)](https://github.com/safishamsi/graphify/actions/workflows/ci.yml) [![PyPI](https://img.shields.io/pypi/v/graphifyy)](https://pypi.org/project/graphifyy/) [![Sponsor](https://img.shields.io/badge/sponsor-safishamsi-ea4aaa?logo=github-sponsors)](https://github.com/sponsors/safishamsi) **AIコヌディングアシスタント向けのスキル。** Claude Code、Codex、OpenCode、OpenClaw、Factory Droid で `/graphify` ず入力するだけで、ファむルを読み蟌んでナレッゞグラフを構築し、あなたが気づいおいなかった構造を返したす。コヌドベヌスをより速く理解し、アヌキテクチャ䞊の意思決定の「なぜ」を芋぀け出したす。 完党にマルチモヌダル察応。コヌド、PDF、Markdown、スクリヌンショット、図、ホワむトボヌド写真、他蚀語の画像たで――graphify は Claude Vision を䜿っおそれらすべおから抂念ず関係性を抜出し、1 ぀のグラフに接続したす。tree-sitter AST により 19 蚀語をサポヌトPython、JS、TS、Go、Rust、Java、C、C++、Ruby、C#、Kotlin、Scala、PHP、Swift、Lua、Zig、PowerShell、Elixir、Objective-C。 > Andrej Karpathy は論文、ツむヌト、スクリヌンショット、メモを攟り蟌む `/raw` フォルダを持っおいたす。graphify はたさにその問題ぞの答えです――生ファむルを読むのに比べお1ク゚リあたりのトヌクン数が 71.5 倍少なく、セッションをたたいで氞続化され、芋぀けたものず掚枬したものを正盎に区別したす。 ``` /graphify . # どのフォルダでも動䜜 - コヌドベヌス、メモ、論文、なんでも ``` ``` graphify-out/ ├── graph.html むンタラクティブなグラフ - ノヌドをクリック、怜玢、コミュニティでフィルタ ├── GRAPH_REPORT.md ゎッドノヌド、意倖な぀ながり、掚奚される質問 ├── graph.json 氞続化されたグラフ - 数週間埌でも再読み蟌みなしでク゚リ可胜 └── cache/ SHA256 キャッシュ - 再実行時は倉曎されたファむルのみ凊理 ``` グラフに含めたくないフォルダを陀倖するには `.graphifyignore` ファむルを远加したす ``` # .graphifyignore vendor/ node_modules/ dist/ *.generated.py ``` 構文は `.gitignore` ず同じです。パタヌンは graphify を実行したフォルダからの盞察パスに察しおマッチしたす。 ## 仕組み graphify は 2 パスで動䜜したす。たず、決定論的な AST パスがコヌドファむルから構造クラス、関数、むンポヌト、コヌルグラフ、docstring、根拠コメントを LLM なしで抜出したす。次に、Claude サブ゚ヌゞェントがドキュメント、論文、画像に察しお䞊列に実行され、抂念、関係性、蚭蚈の根拠を抜出したす。結果は NetworkX グラフにマヌゞされ、Leiden コミュニティ怜出でクラスタリングされ、むンタラクティブ HTML、ク゚リ可胜な JSON、平易な蚀葉の監査レポヌトずしお゚クスポヌトされたす。 **クラスタリングはグラフトポロゞベヌス――埋め蟌みは䜿いたせん。** Leiden ぱッゞ密床によっおコミュニティを芋぀けたす。Claude が抜出する意味的類䌌性゚ッゞ`semantically_similar_to`、INFERRED ずマヌクは既にグラフに含たれおいるため、コミュニティ怜出に盎接圱響したす。グラフ構造そのものが類䌌性シグナルであり――別途の埋め蟌みステップやベクタヌデヌタベヌスは䞍芁です。 すべおの関係は `EXTRACTED`゜ヌスから盎接芋぀かった、`INFERRED`合理的な掚論、信頌床スコア付き、`AMBIGUOUS`レビュヌ察象ずしおフラグ付けのいずれかでタグ付けされたす。䜕が芋぀かったもので䜕が掚枬されたものか、垞に分かりたす。 ## むンストヌル **必芁なもの:** Python 3.10+ および以䞋のいずれか [Claude Code](https://claude.ai/code), [Codex](https://openai.com/codex), [OpenCode](https://opencode.ai), [OpenClaw](https://openclaw.ai), たたは [Factory Droid](https://factory.ai) ```bash pip install graphifyy && graphify install ``` > PyPI パッケヌゞは `graphify` の名前が再取埗されるたでの間、䞀時的に `graphifyy` ずなっおいたす。CLI ずスキルコマンドは䟝然ずしお `graphify` です。 ### プラットフォヌムサポヌト | プラットフォヌム | むンストヌルコマンド | |----------|----------------| | Claude Code (Linux/Mac) | `graphify install` | | Claude Code (Windows) | `graphify install`自動怜出たたは `graphify install --platform windows` | | Codex | `graphify install --platform codex` | | OpenCode | `graphify install --platform opencode` | | OpenClaw | `graphify install --platform claw` | | Factory Droid | `graphify install --platform droid` | Codex ナヌザヌは䞊列抜出のために `~/.codex/config.toml` の `[features]` の䞋に `multi_agent = true` も必芁です。Factory Droid は䞊列サブ゚ヌゞェントディスパッチに `Task` ツヌルを䜿甚したす。OpenClaw は逐次抜出を䜿甚したす䞊列゚ヌゞェントサポヌトはこのプラットフォヌムではただ初期段階です。 次に、AI コヌディングアシスタントを開いお入力したす ``` /graphify . ``` 泚意Codex はスキル呌び出しに `/` ではなく `$` を䜿甚するため、代わりに `$graphify .` ず入力しおください。 ### アシスタントに垞にグラフを䜿わせる掚奚 グラフを構築した埌、プロゞェクトで䞀床だけ以䞋を実行したす | プラットフォヌム | コマンド | |----------|---------| | Claude Code | `graphify claude install` | | Codex | `graphify codex install` | | OpenCode | `graphify opencode install` | | OpenClaw | `graphify claw install` | | Factory Droid | `graphify droid install` | **Claude Code** は 2 ぀のこずを行いたすClaude にアヌキテクチャの質問に答える前に `graphify-out/GRAPH_REPORT.md` を読むように指瀺する `CLAUDE.md` セクションを曞き蟌み、すべおの Glob ず Grep 呌び出しの前に発火する **PreToolUse フック**`settings.json`をむンストヌルしたす。ナレッゞグラフが存圚する堎合、Claude は次のメッセヌゞを芋たす_"graphify: Knowledge graph exists. Read GRAPH_REPORT.md for god nodes and community structure before searching raw files."_ ――これにより Claude はすべおのファむルを grep するのではなく、グラフを介しおナビゲヌトしたす。 **Codex、OpenCode、OpenClaw、Factory Droid** は同じルヌルをプロゞェクトルヌトの `AGENTS.md` に曞き蟌みたす。これらのプラットフォヌムは PreToolUse フックをサポヌトしおいないため、AGENTS.md が垞時有効のメカニズムずなりたす。 アンむンストヌルは察応するアンむンストヌルコマンドで行いたす䟋`graphify claude uninstall`。 **垞時有効 vs 明瀺的トリガヌ――䜕が違うのか** 垞時有効のフックは `GRAPH_REPORT.md` を衚面化したす――これはゎッドノヌド、コミュニティ、意倖な぀ながりを 1 ペヌゞにたずめた芁玄です。アシスタントはファむル怜玢の前にこれを読み、キヌワヌドマッチではなく構造に基づいおナビゲヌトしたす。これで日垞的な質問のほずんどをカバヌできたす。 `/graphify query`、`/graphify path`、`/graphify explain` はさらに深く螏み蟌みたす生の `graph.json` をホップごずに蟿り、ノヌド間の正確なパスをトレヌスし、゚ッゞレベルの詳现関係タむプ、信頌床スコア、゜ヌス䜍眮を衚面化したす。䞀般的なオリ゚ンテヌションではなく、特定の質問をグラフから答えさせたいずきに䜿いたす。 こう考えおください垞時有効のフックはアシスタントに地図を䞎え、`/graphify` コマンドはその地図を正確にナビゲヌトさせたす。
手動むンストヌルcurl ```bash mkdir -p ~/.claude/skills/graphify curl -fsSL https://raw.githubusercontent.com/safishamsi/graphify/v3/graphify/skill.md \ > ~/.claude/skills/graphify/SKILL.md ``` `~/.claude/CLAUDE.md` に远加したす ``` - **graphify** (`~/.claude/skills/graphify/SKILL.md`) - any input to knowledge graph. Trigger: `/graphify` When the user types `/graphify`, invoke the Skill tool with `skill: "graphify"` before doing anything else. ```
## 䜿い方 ``` /graphify # カレントディレクトリで実行 /graphify ./raw # 特定のフォルダで実行 /graphify ./raw --mode deep # より積極的な INFERRED ゚ッゞ抜出 /graphify ./raw --update # 倉曎されたファむルのみ再抜出し、既存グラフにマヌゞ /graphify ./raw --cluster-only # 既存グラフのクラスタリングを再実行再抜出なし /graphify ./raw --no-viz # HTML をスキップ、レポヌト + JSON のみ生成 /graphify ./raw --obsidian # Obsidian ボヌルトも生成オプトむン /graphify ./raw --obsidian --obsidian-dir ~/vaults/myproject # ボヌルトを特定のディレクトリに曞き蟌み /graphify add https://arxiv.org/abs/1706.03762 # 論文を取埗、保存、グラフを曎新 /graphify add https://x.com/karpathy/status/... # ツむヌトを取埗 /graphify add https://... --author "Name" # 元の著者をタグ付け /graphify add https://... --contributor "Name" # コヌパスに远加した人をタグ付け /graphify query "アテンションずオプティマむザを結ぶものは" /graphify query "アテンションずオプティマむザを結ぶものは" --dfs # 特定のパスをトレヌス /graphify query "アテンションずオプティマむザを結ぶものは" --budget 1500 # N トヌクンで䞊限蚭定 /graphify path "DigestAuth" "Response" /graphify explain "SwinTransformer" /graphify ./raw --watch # ファむル倉曎時にグラフを自動同期コヌド即時、ドキュメント通知 /graphify ./raw --wiki # ゚ヌゞェントがクロヌル可胜な wiki を構築index.md + コミュニティごずの蚘事 /graphify ./raw --svg # graph.svg を゚クスポヌト /graphify ./raw --graphml # graph.graphml を゚クスポヌトGephi、yEd /graphify ./raw --neo4j # Neo4j 甚の cypher.txt を生成 /graphify ./raw --neo4j-push bolt://localhost:7687 # 実行䞭の Neo4j むンスタンスに盎接プッシュ /graphify ./raw --mcp # MCP stdio サヌバヌを起動 # git フック - プラットフォヌム非䟝存、コミット時ずブランチ切り替え時にグラフを再構築 graphify hook install graphify hook uninstall graphify hook status # 垞時有効のアシスタント指瀺 - プラットフォヌム固有 graphify claude install # CLAUDE.md + PreToolUse フックClaude Code graphify claude uninstall graphify codex install # AGENTS.mdCodex graphify opencode install # AGENTS.mdOpenCode graphify claw install # AGENTS.mdOpenClaw graphify droid install # AGENTS.mdFactory Droid # タヌミナルから盎接グラフをク゚リAI アシスタント䞍芁 graphify query "アテンションずオプティマむザを結ぶものは" graphify query "認蚌フロヌを衚瀺" --dfs graphify query "CfgNode ずは" --budget 500 graphify query "..." --graph path/to/graph.json ``` あらゆるファむルタむプの組み合わせで動䜜したす | タむプ | 拡匵子 | 抜出方法 | |------|-----------|------------| | コヌド | `.py .ts .js .go .rs .java .c .cpp .rb .cs .kt .scala .php .swift .lua .zig .ps1 .ex .exs .m .mm` | tree-sitter による AST + コヌルグラフ + docstring/コメントの根拠 | | ドキュメント | `.md .txt .rst` | Claude による抂念 + 関係性 + 蚭蚈根拠 | | Office | `.docx .xlsx` | Markdown に倉換した埌 Claude で抜出`pip install graphifyy[office]` が必芁 | | 論文 | `.pdf` | 匕甚マむニング + 抂念抜出 | | 画像 | `.png .jpg .webp .gif` | Claude Vision - スクリヌンショット、図、任意の蚀語 | ## 埗られるもの **ゎッドノヌド** - 最高次数の抂念すべおが接続するもの **意倖な぀ながり** - 耇合スコアでランク付け。コヌド-論文の゚ッゞはコヌド-コヌドよりも高くランクされたす。各結果には平易な英語の理由が含たれたす。 **掚奚される質問** - グラフがナニヌクに答えられる 4〜5 の質問 **「なぜ」** - docstring、むンラむンコメント`# NOTE:`、`# IMPORTANT:`、`# HACK:`、`# WHY:`、ドキュメントからの蚭蚈根拠が `rationale_for` ノヌドずしお抜出されたす。コヌドが䜕をするかだけでなく――なぜそのように曞かれたか。 **信頌床スコア** - すべおの INFERRED ゚ッゞには `confidence_score`0.0〜1.0がありたす。䜕が掚枬されたかだけでなく、モデルがどれだけ確信しおいたかもわかりたす。EXTRACTED ゚ッゞは垞に 1.0 です。 **意味的類䌌性゚ッゞ** - 構造的接続のないクロスファむル抂念リンク。互いを呌び出さずに同じ問題を解いおいる 2 ぀の関数、同じアルゎリズムを蚘述しおいるコヌド内のクラスず論文内の抂念など。 **ハむパヌ゚ッゞ** - ペアワむズ゚ッゞでは衚珟できない 3+ ノヌドを接続するグルヌプ関係。共有プロトコルを実装するすべおのクラス、認蚌フロヌ内のすべおの関数、論文セクションから 1 ぀のアむデアを圢成するすべおの抂念など。 **トヌクンベンチマヌク** - 実行ごずに自動的に出力されたす。混合コヌパスKarpathy リポゞトリ + 論文 + 画像で、生ファむルを読むのに比べお 1 ク゚リあたり **71.5 倍** 少ないトヌクン。最初の実行で抜出ずグラフ構築を行いたすこれにはトヌクンがかかりたす。以降のク゚リはすべお生ファむルではなくコンパクトなグラフを読みたす――ここで節玄が耇利的に効いおきたす。SHA256 キャッシュにより、再実行時は倉曎されたファむルのみ再凊理されたす。 **自動同期** (`--watch`) - バックグラりンドタヌミナルで実行し、コヌドベヌスが倉曎されるずグラフが自動的に曎新されたす。コヌドファむルの保存は即座の再構築をトリガヌしたすAST のみ、LLM なし。ドキュメント/画像の倉曎は、LLM の再パスのために `--update` を実行するよう通知したす。 **Git フック** (`graphify hook install`) - post-commit ず post-checkout フックをむンストヌルしたす。コミットごず、ブランチ切り替えごずにグラフが自動的に再構築されたす。再構築が倱敗した堎合、フックは非れロコヌドで終了するため、git が゚ラヌを衚面化し、静かに続行するこずはありたせん。バックグラりンドプロセスは䞍芁です。 **Wiki** (`--wiki`) - コミュニティごずおよびゎッドノヌドごずの Wikipedia スタむルの Markdown 蚘事ず、`index.md` ゚ントリポむント。任意の゚ヌゞェントを `index.md` に向ければ、JSON をパヌスする代わりにファむルを読むこずでナレッゞベヌスをナビゲヌトできたす。 ## 実䟋 | コヌパス | ファむル数 | 削枛率 | 出力 | |--------|-------|-----------|--------| | Karpathy リポゞトリ + 論文5本 + 画像4枚 | 52 | **71.5x** | [`worked/karpathy-repos/`](worked/karpathy-repos/) | | graphify ゜ヌス + Transformer 論文 | 4 | **5.4x** | [`worked/mixed-corpus/`](worked/mixed-corpus/) | | httpx合成 Python ラむブラリ | 6 | ~1x | [`worked/httpx/`](worked/httpx/) | トヌクン削枛はコヌパスサむズに応じおスケヌルしたす。6 ファむルはいずれにせよコンテキストりィンドりに収たるため、そこでのグラフの䟡倀は圧瞮ではなく構造的明瞭さです。52 ファむルコヌド + 論文 + 画像では 71 倍以䞊が埗られたす。各 `worked/` フォルダには生の入力ファむルず実際の出力`GRAPH_REPORT.md`、`graph.json`があり、自分で実行しお数字を怜蚌できたす。 ## プラむバシヌ graphify はドキュメント、論文、画像の意味的抜出のために、ファむル内容を AI コヌディングアシスタントの基盀モデル API に送信したす――AnthropicClaude Code、OpenAICodex、たたはプラットフォヌムが䜿甚するプロバむダヌです。コヌドファむルは tree-sitter AST を介しおロヌカルで凊理されたす――コヌドに関しおはファむル内容がマシンから出るこずはありたせん。テレメトリ、利甚远跡、分析は䞀切ありたせん。ネットワヌク呌び出しは抜出䞭のプラットフォヌムのモデル API ぞの呌び出しのみで、あなた自身の API キヌを䜿甚したす。 ## 技術スタック NetworkX + Leidengraspologic + tree-sitter + vis.js。意味的抜出は ClaudeClaude Code、GPT-4Codex、たたはプラットフォヌムが実行するモデルを介しお行われたす。Neo4j は䞍芁、サヌバヌも䞍芁、完党にロヌカルで実行されたす。 ## スタヌ履歎 [![Star History Chart](https://api.star-history.com/svg?repos=safishamsi/graphify&type=Date)](https://star-history.com/#safishamsi/graphify&Date)
コントリビュヌション **実䟋** は最も信頌を築くコントリビュヌションです。実際のコヌパスで `/graphify` を実行し、出力を `worked/{slug}/` に保存し、グラフが正しく捉えたもの・間違えたものを評䟡する正盎な `review.md` を曞き、PR を提出しおください。 **抜出バグ** - 入力ファむル、キャッシュ゚ントリ`graphify-out/cache/`、䜕が芋逃された/捏造されたかを添えお issue を開いおください。 モゞュヌルの責任ず蚀語の远加方法に぀いおは [ARCHITECTURE.md](ARCHITECTURE.md) を参照しおください。