Skip to content

Latest commit

 

History

History
199 lines (141 loc) · 8.72 KB

File metadata and controls

199 lines (141 loc) · 8.72 KB

hegwid-cg

hedwig-cg

"With hedwig-cg, your coding agent knows what to read."
Schnellstart · English · 한국어 · 日本語 · 中文

CI PyPI License Python 3.10+


Warum hedwig-cg?

raw data from a given number of sources is collected, then compiled by an LLM into a .md wiki, then operated on by various CLIs by the LLM to do Q&A and to incrementally enhance the wiki - Andrej Karpathy

hedwig-cg erstellt mit leichtgewichtigen lokalen LLM-Modellen einen abfragbaren Code Graph und eine Wissensdatenbank aus Codebasen mit 10.000+ Dateien und Wissensdokumenten. Two-Stage 5-Signal-Hybridsuche (Vektor + Graph + Keyword + Community → RRF-Fusion → Cross-Encoder-Reranking) ermoeglicht Coding-Agents, Ihr gesamtes Projekt wirklich zu verstehen. Installieren Sie es, und Claude Code sieht das Gesamtbild — keine zusaetzlichen Tokens, keine zusaetzlichen Befehle, alles laeuft 100% lokal.

Schnellstart

pip install hedwig-cg

cd your-project/
hedwig-cg claude install

Sagen Sie Claude Code:

"Baue einen Code Graph fuer dieses Projekt"

Das war's. Claude Code baut den Graph und konsultiert ihn ab sofort bei jeder Suche. Der Graph wird automatisch neu gebaut, wenn Ihre Sitzung endet.

AI-Agent-Integrationen

hedwig-cg integriert sich mit einem Befehl in fuehrende AI Coding Agents:

Agent Installation Beschreibung
Claude Code hedwig-cg claude install Skill + CLAUDE.md + PreToolUse-Hook
Codex CLI hedwig-cg codex install AGENTS.md + PreToolUse-Hook
Gemini CLI hedwig-cg gemini install GEMINI.md + BeforeTool-Hook
Cursor IDE hedwig-cg cursor install .cursor/rules/-Regeldatei
Windsurf IDE hedwig-cg windsurf install .windsurf/rules/-Regeldatei
Cline hedwig-cg cline install .clinerules-Datei
Aider CLI hedwig-cg aider install CONVENTIONS.md + .aider.conf.yml
MCP-Server claude mcp add hedwig-cg -- hedwig-cg mcp Model Context Protocol 5 Tools

Jeder install-Befehl schreibt eine Kontextdatei und registriert (bei unterstuetzten Plattformen) einen Hook vor Tool-Aufrufen. Entfernen: hedwig-cg <platform> uninstall.

Unterstuetzte Sprachen

Strukturextraktion (20+ Sprachen)

hedwig-cg verwendet tree-sitter und native Parser zur Extraktion von Funktionen, Klassen, Methoden, Aufrufen, Imports und Vererbung.

Python JavaScript TypeScript Go
Rust Java C C++
C# Ruby Swift Scala
Lua PHP Elixir Kotlin
Objective-C Terraform/HCL

Konfigurations- und Dokumentformate werden ebenfalls strukturell extrahiert: YAML, JSON, TOML, Markdown, PDF, HTML, CSV, Shell, R und mehr.

Mehrsprachige natuerliche Sprache

Textknoten (Dokumente, Kommentare, Markdown) werden mit intfloat/multilingual-e5-small eingebettet und unterstuetzen 100+ natuerliche Sprachen — Deutsch, Koreanisch, Japanisch, Chinesisch, Franzoesisch und mehr. Suchen Sie in Ihrer Sprache, finden Sie Ergebnisse in jeder Sprache.


Funktionen

Automatischer Rebuild

Bei Integration mit KI-Coding-Agenten (Claude Code, Codex usw.) baut hedwig-cg den Graphen automatisch neu, wenn sich Code aendert. Der Stop/SessionEnd-Hook erkennt geaenderte Dateien ueber git diff und fuehrt im Hintergrund einen inkrementellen Build durch — kein manuelles Eingreifen noetig.

Intelligentes Ignore

Unterstuetzt Ignore-Muster aus drei Quellen, alle mit vollstaendiger gitignore-Spezifikation (Negation !, **-Globs, verzeichnisspezifische Muster):

Quelle Beschreibung
Eingebaut .git, node_modules, __pycache__, dist, build usw.
.gitignore Automatisches Lesen aus dem Projektstamm — bestehende Git-Ignores funktionieren einfach
.hedwig-cg-ignore Projektspezifische Ueberschreibungen fuer den Code-Graphen

Inkrementelle Builds

SHA-256-Content-Hashing pro Datei. Nur geaenderte Dateien werden neu extrahiert und neu eingebettet. Unveraenderte Dateien werden aus dem bestehenden Graphen uebernommen — typischerweise 95%+ schneller als ein vollstaendiger Build.

Speicherverwaltung

4GB Speicherbudget mit stufenweiser Freigabe. Die Pipeline erzeugt → speichert → gibt frei in jeder Phase: Extraktionsergebnisse werden nach dem Graph-Aufbau freigegeben, Embeddings werden batchweise gestreamt und nach DB-Schreiben freigegeben, der gesamte Graph wird nach der Persistierung freigegeben. GC wird bei 75% Schwellenwert praeventiv ausgeloest.

100% Lokal

Keine Cloud-Dienste, keine API-Schluessel, keine Telemetrie. SQLite + FAISS fuer Speicherung, sentence-transformers fuer Embeddings. Alle Daten bleiben auf Ihrem Rechner.


Zweistufige Hybridsuche

Alle Abfragen durchlaufen eine zweistufige Pipeline:

Stufe 1 — 5-Signal-Retrieval (RRF-Fusion)

Signal Findet
Code-Vektor Semantisch ähnlichen Code
Text-Vektor Dokumentation und Kommentare in 100+ Sprachen
Graph-Expansion Strukturell verbundene Knoten (Aufrufer, Imports)
Volltextsuche Exakte Keyword-Treffer (BM25)
Community-Kontext Verwandte Knoten aus demselben Cluster

Stufe 2 — Cross-Encoder-Reranking

Ein Cross-Encoder-Modell bewertet die Kandidaten neu und rankt Implementierungscode über Test- und Dokumentationsknoten. Ergebnisse enthalten Beziehungskanten zwischen Knoten.

CLI-Referenz

Alle Befehle geben standardmaessig kompaktes JSON aus (fuer AI-Agent-Nutzung konzipiert).

Befehl Beschreibung
build <dir> Code-Graph erstellen (--incremental)
search <query> Two-Stage 5-Signal-Hybridsuche (--top-k, --fast, --expand)
search-vector <query> Nur Vektor-Aehnlichkeit (Code + Text Dual-Modell)
search-graph <query> Nur Graph-Expansion (BFS von Vektor-Seeds)
search-keyword <query> Nur FTS5-Keyword-Matching (BM25-Ranking)
search-community <query> Nur Community-Cluster-Matching
query Interaktive Such-REPL
communities Communities auflisten und durchsuchen (--search, --level)
stats Graph-Statistiken
node <id> Knotendetails mit Fuzzy-Matching
export Export als JSON, GraphML oder D3.js
visualize Interaktive HTML-Visualisierung
clean .hedwig-cg/-Datenbank entfernen
doctor Installationsstatus pruefen
mcp MCP-Server starten (stdio)
claude install|uninstall Claude Code Integration verwalten
codex install|uninstall Codex CLI Integration verwalten
gemini install|uninstall Gemini CLI Integration verwalten
cursor install|uninstall Cursor IDE Integration verwalten
windsurf install|uninstall Windsurf IDE Integration verwalten
cline install|uninstall Cline Integration verwalten
aider install|uninstall Aider CLI Integration verwalten

Leistung

Benchmarks auf der eigenen Codebasis von hedwig-cg (~3.500 Zeilen, 90 Dateien, 1.300 Knoten):

Operation Zeit
Vollstaendiger Build ~14s
Inkrementeller Build (Aenderungen) ~4s
Inkrementeller Build (keine Aenderungen) ~0,4s
Kaltstart-Suche (Dual-Modell) ~2,8s
Kaltstart-Suche (--fast) ~0,2s
Warme Suche ~0,08s
Cache-Treffer <1ms
  • Einbettungsmodelle: ~470MB, einmalig nach ~/.hedwig-cg/models/ heruntergeladen
  • Datenbank: ~2MB (SQLite + FTS5 + FAISS-Indizes)
  • Inkrementelle Builds: SHA-256-Hashing, 95%+ schneller als vollstaendiger Build

Anforderungen

  • Python 3.10+
  • Einbettungsmodelle ~470MB (beim ersten Gebrauch gecacht)
# Optional: PDF-Extraktion
pip install hedwig-cg[docs]

Entwicklung

pip install -e ".[dev]"
pytest
ruff check hedwig_cg/

Lizenz

MIT License. Siehe LICENSE.

Mitwirken

Beitraege sind willkommen! Siehe CONTRIBUTING.md.