Modell / Datensatz
tirth8205/code-review-graph avatar
tirth8205/code-review-graph

code-review-graph: ein lokaler Codegraph für günstigere Code-Reviews

Local-First-Code-Intelligence-Diagramm für MCP und CLI. Erstellt eine dauerhafte Karte Ihrer Codebasis, sodass KI-Codierungstools nur das lesen, was wichtig ist, mit Benchmark-Kontextreduzierungen bei Überprüfungen und großen Repo-Workflows.

31.462 Sterne2.856 ForksPythonMIT

Auf einen Blick

Was ist das?
Tree-sitter zerlegt ein Repository in einen persistenten Graphen; MCP-Werkzeuge liefern KI-Assistenten dann einen minimalen Kontextausschnitt.
Für wen ist es gedacht?
Das README nennt die zentrale Zahl klar: eine mediane Reduktion der Token pro Frage um das 65-fache über sechs festgepinnte Repositories, im besten Fall das 376-fache. Es benennt ebenso klar die Grenzen der eigenen Auswertung und bezeichnet den Recall-Wert von 1,0 als zirkuläre Obergrenze.
Darf ich es kommerziell nutzen?
Ja. MIT ist eine freizügige Lizenz: Sie dürfen darauf aufbauende Software nutzen, verändern und verkaufen, solange Sie die Urheberrechts- und Lizenzhinweise beibehalten.
Wird es noch gepflegt?
Ja. Das Repository hat innerhalb des letzten Tages neue Commits erhalten.
In welcher Sprache ist es geschrieben?
Hauptsächlich Python, laut der Sprachstatistik von GitHub.

Die Antworten beruhen auf den GitHub-Daten des Projekts (zuletzt abgeglichen am 15. September 2026) und auf unserer Analyse. Sie sind keine Rechtsberatung.

TIEFGEHENDE OPEN-SOURCE-ANALYSE

Ein persistentes Strukturdiagramm als Kern

Das README beginnt mit einem Kostenproblem: KI-Codierungswerkzeuge lesen bei Review-Aufgaben große Teile eines Repositories erneut. code-review-graph begegnet dem, indem es ein Repository mit Tree-sitter in einen AST parst, als Graphen aus Knoten (Funktionen, Klassen, Importe) und Kanten (Aufrufe, Vererbung, Testabdeckung) speichert und diesen Graphen zur Review-Zeit abfragt. Das Ergebnis ist eine minimale Menge an Dateien, die der Assistent lesen muss. Das Projekt bezeichnet sich als local-first: Die Graphdatenbank ist eine SQLite-Datei in .code-review-graph/, und die Kernspeicherung benötigt keine externe Datenbank oder Cloud-Dienst.

Vom Schnellstart zur Plattformerkennung

Die Installation erfolgt über pip oder pipx, und der dokumentierte Schnellstart besteht aus drei Befehlen: pip install code-review-graph, code-review-graph install, code-review-graph build. Der install-Befehl erkennt automatisch, welche KI-Codierungswerkzeuge vorhanden sind, und schreibt für jedes die passende MCP-Konfiguration, darunter Codex, Claude Code, CodeBuddy Code, Cursor, Windsurf, Zed, Continue, OpenCode, Antigravity, Gemini CLI, Qwen, Qoder, Kiro, GitHub Copilot und GitHub Copilot CLI. Er erkennt auch, ob die Installation über uvx oder pip/pipx erfolgte, und erzeugt die passende Konfiguration. Das README sagt, dass nach der Installation ein Neustart des Editors oder Werkzeugs erforderlich ist. Der Uninstall-Befehl ist symmetrisch und entfernt nur Dateien, die CRG gehören, mit Dry-run- und Bestätigungsoptionen.

Inkrementelle Updates und Auswirkungsbereich

Der Graph wird inkrementell aktualisiert. Wenn Hooks oder der Watch-Modus aktiviert sind, lösen Dateispeicherungen und unterstützte Commit-Hooks einen Diff aus, Abhängige werden über die eigenen Import- und Aufrufkanten des Graphen gefunden, und nur Dateien, deren SHA-256-Hash sich geändert hat, werden neu geparst. Das README berichtet, dass eine Zwei-Datei-Bearbeitung in einem etwa 3.000 Dateien umfassenden Projekt (django) auf dem Hook-Pfad etwa 2,5 Sekunden dauert, davon etwa 1,4 Sekunden für den Prozessstart. Die Auswirkungsbereichsanalyse verfolgt jeden Aufrufer, jede Abhängigkeit und jeden Test, der von einer Änderung betroffen sein könnte, sodass die KI nur diese Dateien liest. Das README legt die genaue Menge der unterstützten Hooks über unterstützte Hooks und Watch-Modus hinaus nicht fest.

Sprachabdeckung ohne Fork

Die Parser-Unterstützung umfasst eine lange Liste: Python, JavaScript/TypeScript/TSX, Go, Rust, Java, C/C++, C#, VB.NET, Ruby, Kotlin, Swift, PHP, Scala, Solidity, Dart, R, Perl, Lua/Luau, Objective-C, Shell-Skripte, Elixir, Zig, PowerShell, Julia, ReScript, GDScript, Nix, Verilog/SystemVerilog, SQL, Terraform/OpenTofu-Struktur, Ansible-Playbooks/Roles/Tasks, Vue/Svelte-SFCs, Astro über den TypeScript-Parser, Jupyter/Databricks-Notebooks und Perl-XS-Dateien. Generisches YAML wird nicht als Quellcode behandelt. PHP-Projekte erhalten zusätzlich Composer-PSR-4-Auflösung, Blade-Template-Referenzen und evidenzgesteuerte Laravel-Route/Eloquent-Kanten. Fehlt eine Sprache, kann eine languages.toml-Datei in .code-review-graph/ Dateiendungen auf eine Grammatik im tree_sitter_language_pack abbilden und Knotentypen definieren, ohne Codeänderungen.

Benchmarks mit Vorbehalten

Die zentrale Benchmark des README ist eine mediane Token-Reduktion pro Frage um etwa das 65-fache über sechs reale Repositories, gemessen durch Vergleich der Gesamtkorpus-Token mit den Graphabfrage-Token. Die Spanne reicht von 36x bis 376x, wobei 376x der beste Fall ist (fastapi), nicht das typische Ergebnis. Der Auswertungslauf verwendet festgepinnte Upstream-SHAs, einen festen Seed für den Leiden-Community-Detektor und deterministische CPU-Embeddings, sodass zwei Läufe auf verschiedenen Maschinen identische Zahlen erzeugen sollten. Derselbe Abschnitt ist bei der Impact-Genauigkeit explizit: ein durchschnittlicher F1 von 0,69 gegen graphabgeleitete Ground Truth, wobei Recall 1,0 als zirkuläre Obergrenze bezeichnet wird, weil die Ground Truth aus demselben Graphen stammt, den der Prädiktor durchläuft. Ein ehrlicher Co-Change-Modus wird gemessen, liefert aber derzeit auf jedem bewerteten Commit null Vorhersagen; das README sagt, die Testumgebung müsse repariert werden, bevor der Modus etwas über Genauigkeit aussagen kann.

Konfiguration, GitHub Action und Lizenz

Zu den Konfigurationsoptionen gehören eine .code-review-graphignore-Datei zum Ausschließen getrackter Pfade, Umgebungsvariablen für Git-Timeouts, Datenverzeichnis-Überschreibungen, Embedding-Anbieter und MCP-Tool-Filterung. Optionale Abhängigkeitsgruppen fügen lokale Embeddings, Google-Gemini-Embeddings, Community-Erkennung, Jedi-Anreicherung, Evaluierungs-Benchmarks, Wiki-Generierung oder alles zusammen hinzu. Dieselbe Analyse läuft als composite GitHub Action, die einen einzigen sticky Kommentar mit risikobewerteten Funktionen, betroffenen Abläufen und Testlücken postet, mit optionalem fail-on-risk-Merge-Gate. Das README sagt, die Action sei local-first und sende keinen Quellcode an einen externen Dienst. Das Projekt ist MIT-lizenziert; die Lizenz erlaubt Nutzung, Kopie, Änderung, Zusammenführung, Veröffentlichung, Verteilung, Unterlizenzierung und Verkauf von Kopien und besagt, dass die Software ohne Gewährleistung wie besehen bereitgestellt wird. Das README beschreibt über das local-first-Design und das Fehlen von Telemetrie im FAQ hinaus keine Sicherheitsgarantien.

Redaktionelles Fazit

Das README nennt die zentrale Zahl klar: eine mediane Reduktion der Token pro Frage um das 65-fache über sechs festgepinnte Repositories, im besten Fall das 376-fache. Es benennt ebenso klar die Grenzen der eigenen Auswertung und bezeichnet den Recall-Wert von 1,0 als zirkuläre Obergrenze. Die Projektdokumentation stellt Behauptungen und Einschränkungen nebeneinander.

Offizielle Quellen

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
Community-Notizen

Community-Notizen