graphify — « Turn any codebase, with its docs, SQL schemas, configs, and PDFs, into a queryable knowledge graph. A /graphify skill for Claude Code, Cursor, Codex, and Gemini CLI: local deterministic AST parsing, every edge explained, no vector store. »
Skill-Eintrag: graphify von Safi Shamsi (Graphify Labs, Y Combinator S26) verwandelt ein gesamtes Projekt — Code, Dokumentation, PDFs, Bilder, Videos — in einen abfragbaren Knowledge Graph, aufgerufen über /graphify aus Claude Code, Cursor, Codex, Gemini CLI, GitHub Copilot und rund fünfzehn weiteren Clients.
Von **Safi Shamsi** — créateur et mainteneur de graphify// Quelle github.com ↗/Lesezeit 2 min/.md// Automatisch geprüfte Übersetzung
graphify (Safi Shamsi, Graphify Labs, Y Combinator S26) verwandelt ein gesamtes Projekt in einen abfragbaren Knowledge Graph, aufgerufen über /graphify aus Claude Code, Cursor, Codex, Gemini CLI und rund fünfzehn weiteren Clients. Stand 6. August 2026: 103.187 Stars für ein am 3. April erstelltes Repository, Apache-2.0, Python.
Drei Designentscheidungen bilden die Grundlage des Projekts.Der Code wird lokal ohne LLM in einen tree-sitter-AST geparst: deterministisch, nichts verlässt die Maschine, für einen reinen Code-Korpus ist kein API-Schlüssel nötig. Jede Kante trägt ihre Herkunft — EXTRACTED, wenn explizit in der Quelle vorhanden, INFERRED, wenn graphify sie aufgelöst hat —, „so you can tell what was read directly from what was inferred". Und das Projekt definiert sich gegen Vektor-RAG: „Not a vector index. No embeddings, no vector store: a real graph you traverse."
Die Nutzung ersetzt grep.query liefert einen Subgraphen zu einer Frage in natürlicher Sprache, path A B verfolgt den Pfad zwischen zwei Entitäten, explain entfaltet ein Konzept. Drei Ausgaben: ein interaktiver Graph, ein lesbarer Report (God Nodes, überraschende Verbindungen, vorgeschlagene Fragen) und ein persistentes graph.json, Wochen später abfragbar.
Die Abdeckung reicht über Code hinaus: 36 tree-sitter-Grammatiken, aber auch SQL, Terraform, Apex, MCP-Konfigurationen, Paketmanifeste, Office, PDF, Bilder und lokal transkribierte Videos. # WHY:-Kommentare und Design-Begründungen werden zu eigenständigen Knoten, die mit dem von ihnen erläuterten Code verknüpft sind.
Die Benchmarks verlangen eine sorgfältige Lektüre. Auf LOCOMO dominiert graphify beim Recall (0,497 gegenüber 0,149 und 0,048), verliert jedoch bei der QA-Genauigkeit (45,3 % gegenüber 49,7 %); auf LongMemEval-S liegt es mit 76 % gleichauf mit einem dense RAG. Die entscheidende Zeile steht woanders: „Graph build — LLM credits: 0". Das vertretbare Unterscheidungsmerkmal sind Kosten und Nachvollziehbarkeit, nicht die Antwortqualität.
Drei Vorbehalte. Der main-Branch trägt ein veraltetes README aus der v1-Ära, das ein anderes Produkt beschreibt: zu lesen ist v8. Das PyPI-Paket heißt graphifyy, während der Name zurückerobert wird. Und ein lokales Query-Log ist standardmäßig aktiv, lässt sich aber über eine Umgebungsvariable deaktivieren.
Der Skill dient zudem als Einstiegspunkt zu einer kommerziellen, mit Warteliste versehenen Plattform unter graphify.com, die denselben Ansatz kontinuierlich auf den gesamten Arbeitskontext anwendet.
Kernpunkte
Art./graphify-Skill + Python-CLI, Apache-2.0, auf PyPI verteilt unter dem Namen graphifyy (mit zwei y, während graphify zurückerobert wird). uv tool install graphifyy && graphify install. Funktioniert in Claude Code, Cursor, Codex, Gemini CLI, GitHub Copilot und rund fünfzehn weiteren Clients.
Kerneinordnung. Der Graph ersetzt grep — man fragt nach einer Beziehung, nicht nach dem Vorkommen einer Zeichenkette. ### Die drei Designentscheidungen und warum sie zusammenpassen 1. Der Code wird lokal geparst, ohne LLM — tree-sitter-AST, deterministisch, « nothing leaves your machine ». Ein reiner Code-Korpus benötigt keinen API-Schlüssel und läuft offline; Dokumente, PDFs und Bilder durchlaufen dagegen ein Modell. 2. Jede Kante trägt ihre Herkunft — EXTRACTED (explizit in der Quelle), INFERRED (von graphify aufgelöst), AMBIGUOUS im Report: « You always know what was found vs guessed. » 3. Kein Vektorindex — keine Embeddings, kein Vector Store, ein Graph, den man durchläuft. Die drei verstärken sich gegenseitig: Determinismus macht die Kosten null, Nullkosten ermöglichen häufiges Neuaufbauen, und die Kantenkennzeichnung macht das Ergebnis auditierbar. ### Die Benchmarks, richtig gelesen | Benchmark | Metrik | graphify | Vergleichsfeld | |---|---|---|---| | LOCOMO (n=300) | recall@10 | 0,497 | supermemory 0,149 · mem0 0,048 | | LOCOMO (n=300) | QA-Genauigkeit | 45,3 % | supermemory 49,7 % · mem0 27,3 % | | LongMemEval-S (n=50) | QA-Genauigkeit | 76 % | gleichauf mit einem dense RAG | | Graphaufbau | LLM-Credits | 0 | anderswo pro Token abgerechnet | graphify dominiert klar beim Recall, verliert bei der QA-Genauigkeit, liegt beim zweiten Benchmark gleichauf mit dense RAG und baut seinen Graphen kostenlos auf. Das vertretbare Unterscheidungsmerkmal sind somit Kosten und Nachvollziehbarkeit, nicht die Antwortqualität: graphify als „besser als RAG" darzustellen, würde den eigenen Zahlen widersprechen. Bescheinigtes Protokoll: gleicher Harness, gleiches Modell, gleiche Budgets, Bewertung blind gegen einen zweiten Judge validiert (90,6 % Übereinstimmung, Cohens Kappa 0,81). Ein Vergleich mit dem einzigen vergleichbaren Wert im Korpus lohnt sich: Compare the Market maß einen AST-Graphen bei ~70 % gegenüber ~58 % für ein Vektor-RAG auf 79 Merge Requests, wobei RAG schlechter abschnitt als gar kein Kontext — siehe [[comparethemarket-context-retrieval-ai-code-review-gkg-rag-2026-03-06]]. Zwei unabhängige Messungen konvergieren zur Überlegenheit des strukturierten Graphen bei Code. ### Abfragen und Abdeckung query "<Frage>" liefert einen Subgraphen zu einer Frage in natürlicher Sprache, path A B verfolgt den Pfad zwischen zwei Entitäten, explain X entfaltet die Nachbarschaft eines Konzepts. Das README-Beispiel: path "FastAPI" "ModelField" liefert einen Pfad über drei Hops mit dem Typ jeder Kante. Derselbe Nutzen, der GitNexus in [[lassiege-usine-logicielle-heure-ia-2026-07-28]] zugeschrieben wird. Die Abdeckung reicht über „nur Code" hinaus: 36 tree-sitter-Grammatiken (~40 Sprachen, darunter CUDA, Metal, Zig, Elixir, Julia, Dart, SystemVerilog, Fortran), außerdem SQL, Terraform/HCL, Apex Salesforce, MCP-Konfigurationen (.mcp.json, claude_desktop_config.json — Server, Pakete und erforderliche Umgebungsvariablen), Paketmanifeste (pyproject.toml, go.mod, pom.xml, ein kanonischer Knoten pro Paket), Office, Google Workspace, PDFs, Bilder, Video und Audio. Die eigenen MCP-Konfigurationen zu graphifizieren, ist ein unerwarteter und unmittelbar nützlicher Weg, die eigene Tooling-Oberfläche abzubilden. ### „Warum" als eigenständiges Objekt # NOTE:-, # WHY:- und # HACK:-Kommentare, Docstrings und in der Dokumentation gefundene Design-Begründungen werden zu eigenständigen Knoten, die mit dem von ihnen erläuterten Code verknüpft sind. Absicht wird als Entität des Graphen behandelt: Man kann nach dem Warum fragen, nicht nur nach dem Was. ### Aktualität und Ausgaben Drei Mechanismen zur Aktualität: ein SHA256-Cache (nur geänderte Dateien werden erneut verarbeitet), --watch (sofortiger Neuaufbau beim Speichern, nur AST, kein LLM; bei Dokumenten und Bildern wird markiert, dass ein --update nötig ist), und graphify hook install (ein Post-Commit-Hook, kein Hintergrundprozess). Der --watch-Modus ist für Multi-Agent-Workflows begründet: « the graph stays current between waves automatically ». Ausgaben für Agenten: --wiki erzeugt Artikel pro Community mit einer index.md — « point any agent at index.md and it can navigate the knowledge base by reading files instead of parsing JSON » — und --mcp startet einen stdio-MCP-Server. Exporte nach Obsidian, GraphML, Neo4j (Cypher), SVG. ### Datenschutz, eine fein abgestufte Grenze | Verarbeitung | Wo | |---|---| | Code (tree-sitter), Video und Audio (faster-whisper) | lokal; --code-only erzwingt diesen Modus bei einem gemischten Repository | | Dokumente, PDFs, Bilder | an das Modell gesendet; automatische Prioritätskette Gemini → Kimi → Claude → OpenAI → DeepSeek → Azure → Bedrock → Ollama | Kimi leitet an Moonshot-AI-Server in China weiter — das README weist darauf hin, und --backend ollama bietet einen vollständig lokalen Modus. Kein Telemetrie- oder Nutzungstracking, jedoch ein standardmäßig geschriebenes Query-Log unter ~/.cache/graphify-queries.log (Zeitstempel, Frage, Korpus, zurückgegebene Knoten, Dauer; die Subgraphen selbst werden nicht gespeichert). Lässt sich über GRAPHIFY_QUERY_LOG_DISABLE=1 deaktivieren. Lokal, aber ohne Opt-in aktiv: vor dem Einsatz in einem sensiblen Kontext zu beachten. ### Zwei Dokumentationsfallen im Repository 1. Der main-Branch ist veraltet: Er trägt ein README aus der v1-Ära (7 KB), das « a Claude Code skill » nur für einen einzigen Client beschreibt, die Behauptung „71.5× fewer tokens" auf einem Korpus von 52 Dateien hervorhebt und weiterhin auf safishamsi/graphify verweist. Der Standard-Branch ist v8 (57 KB). Zu lesen ist v8, niemals main. 2. Der Paketname: pip install graphifyy mit zwei y; CLI- und Skill-Befehl bleiben graphify. ### Geschäftsmodell und Zugkraft Der Open-Source-Skill ist der Einstiegspunkt zu einer kommerziellen Plattform unter graphify.com — « the always-on layer… applies the same graph approach to your entire working context: meetings, files, docs, and code, updating continuously in the background », derzeit mit Warteliste. Lokaler Open Source auf der einen Seite, ein durchgehend gehosteter Dienst auf der anderen. 103.187 Stars in vier Monaten sind ein außergewöhnliches Tempo, doch die Zahl sagt nichts über die tatsächliche Nutzung aus, und die offizielle Projektseite zeigt weiterhin 3.700 — ein Zeichen, dass die Kommunikation nicht Schritt gehalten hat. Die Sternezahl ist als Aufmerksamkeitssignal zu zitieren, niemals als Maß für die Adoption. Begriffsklärung: Die Seite graphify.net ist eine von graphify.com, der kommerziellen Plattform, getrennte Property.
Der aus dieser Fiche extrahierte Wissensgraph — 9 Entitäten, 24 Relationen.
In diesem Graphen :graphify · Safi Shamsi · Graphify Labs · provenance d'arête · extraction hybride par type de fichier · tree-sitter · algorithme de Leiden · LOCOMO · LongMemEval