Stop met het Voeden van Neurale Netwerken met Gigabytes aan Code en Verander je Repository in een Grafiek
Elke keer dat ik een onbekende repository met enkele tienduizenden regels code open en AI wil betrekken bij refactoring, gebeurt hetzelfde. De assistent begint gretig door bestanden te greppen, vult het contextvenster met ongerelateerde codefragmenten, raakt in de war over aanroepen en produceert uiteindelijk een hallucinatie in plaats van een werkende patch. We besteden tonnen tokens, maar het model begrijpt nooit hoe de delen van het systeem met elkaar verbonden zijn.
Onlangs stuitte ik op een interessant project genaamd Ix. De auteurs kozen voor een andere aanpak: in plaats van rauwe tekst aan neurale netwerken te voeren, bouwen ze een lokale afhankelijkheidsgrafiek van de codebase.
Wat Ix Doet
In essentie is het een CLI-hulpprogramma en lokale backend die de repository parseert met behulp van een tree-sitter parser. Het hulpprogramma ondersteunt 26 programmeertalen, waaronder TypeScript, Go, Rust, Python, Java, C++, Ruby en Elixir, en herkent ook configuratiebestanden zoals YAML, SQL en Dockerfile.
Tijdens het scannen haalt het hulpprogramma de structuur eruit: functies, klassen, import-punten en aanroepketens. Dit alles wordt opgeslagen in een lokale ArangoDB-graafdatabase die draait in Docker. Het resultaat is dat in plaats van eindeloos bestanden lezen en giswerk, de ontwikkelaar en LLM een interactieve kaart van het project krijgen die met gerichte commando's kan worden opgevraagd.
Context blijft behouden tussen sessies. Als je de terminal sluit of de editor herstart, verdwijnen de opgebouwde verbindingen niet.
Vier Commando's in Plaats van Eindeloos Zoeken
Alle werkzaamheden met het hulpprogramma draaien rond vier basisscenario's.
1. Een Kaart Bouwen
Eerst scannen we de huidige codebase:
ix map .
De parser doorloopt bestanden, parseert syntaxisbomen en bouwt de initiële afhankelijkheidsgrafiek.
2. Een Component Uitleggen
Als je snel wilt begrijpen waar een specifieke module verantwoordelijk voor is en waarmee deze verbonden is, roep je explain aan:
ix explain IngestionService
Het commando geeft een korte samenvatting voor het symbool, samen met een lijst van inkomende en uitgaande verbindingen.
3. Stromen Traceren
Als je een gegevensverwerkingsketen traceert, is het trace commando handig:
ix trace user_login_flow
Het doorloopt de graafknopen en toont de aanroepvolgorde van het startpunt tot de eindhandler.
4. De Impact van Wijzigingen Beoordelen
Voordat je een gedeelde functie of dataschema bewerkt, is het de moeite waard om te controleren wat er zou kunnen breken:
ix impact verify_token
Het hulpprogramma vindt alle plaatsen die direct of indirect afhangen van het geselecteerde symbool. Volgens de auteurs bespaart deze gerichte structuurzoektocht tussen 30% en 99% van de tokens bij ontwikkeltaken.
Verbinding Maken met Editors via MCP
De CLI heeft al een Model Context Protocol (MCP) server ingebouwd. Dit betekent dat het hulpprogramma gemakkelijk kan worden verbonden met elk modern AI-hulpmiddel: Cursor, VS Code, Claude Code, Codex, Gemini CLI of OpenClaw.
Automatische installatie van alle gedetecteerde clients wordt gestart met één commando:
ix mcp install
Het script controleert de configuraties op de machine en voegt zorgvuldig de ix mcp serverstart toe. Het maakt ook reservekopieën van configuraties met de .bak extensie en overschrijft niet blindelings bestaande instellingen.
Als je een client handmatig moet registreren (bijvoorbeeld Codex), voer je gewoon uit:
codex mcp add ix-memory -- ix mcp
Wanneer een agent een taak voltooit, opent het de lokale graaf direct via MCP-tools, in plaats van blind door honderden bestanden te greppen.
Installatie en Systeemvereisten
Je hebt Node.js 22+, Git, ripgrep en een werkende Docker met Docker Compose nodig (het draait ArangoDB op de achtergrond).
Op macOS en Linux is de installatie één regel:
curl -fsSL https://ix-infra.com/install.sh | sh
Voor Windows is er een PowerShell-script:
irm https://ix-infra.com/install.ps1 | iex
Na de installatie controleer je de servicestatus:
ix status
ix docker start
ix doctor
Als de database nog niet draait, zal ix docker start de ArangoDB-container op de achtergrond starten.
Conclusie
Het project is momenteel in vroege alfa, dus commando-gedrag en API kunnen nog veranderen. Documentatie is momenteel minimaal, en de afhankelijkheid van een lokale Docker-container voegt wat overhead toe bij de eerste start.
Wie zou het project moeten proberen:
- Ontwikkelaars die regelmatig door grote onbekende repositories navigeren.
- Degenen die actief Claude Code, Cursor of Codex gebruiken en genoeg hebben van context-overloop.
- Teams die een lokale kennisbank van verbindingen binnen microservices nodig hebben zonder broncode naar servers van derden te sturen.
Als je op zoek bent naar een manier om orde te brengen in hoe AI interageert met je codebase, bekijk dan de GitHub-repository van het project en test ix map op je eigen project.
Gerelateerde projecten