Ton agent IA arrête de lire les fichiers un par un. Il comprend toute la base de code.
Code Explorer pré-indexe ton dépôt entier en un graphe de connaissance interrogeable — chaque fonction, classe, appel et import — et le sert à n'importe quel agent IA via MCP. Demande « qui appelle ça ? » ou « qu'est-ce qui casse si je modifie ça ? » et obtiens une réponse précise en quelques millisecondes, au lieu de lire fichier après fichier.
$ gitnexus impact executePlan --direction both Aval (symboles affectés par un changement) : Niveau 1 (7) Niveau 2 (39) Niveau 3 (4) Niveau 4 (7) Niveau 5 (4) Amont (symboles qui affectent celui-ci) : Niveau 1 (1) Niveau 2 (13) Niveau 3 (22) … ✓ 136 symboles, 5 niveaux — 0,65 s aucun fichier lu · graphe de tout le dépôt
Vrai run sur une base de 1 984 fichiers. Une recherche texte ne peut pas calculer ce rayon d'impact transitif, point.
Le problème qu'il résout
Les assistants IA de code (Claude Code, Cursor, Copilot…) lisent les fichiers un par un, à la demande.
- Ils lisent des dizaines de fichiers pour suivre une seule chaîne d'appels.
- Ils repartent de zéro à chaque conversation.
- Ils remplissent la fenêtre de contexte de code brut, sans place pour réfléchir.
- Et une recherche texte ne peut pas calculer un rayon d'impact transitif —
greptrouve où un nom apparaît, pas la chaîne de choses qui cassent trois sauts plus loin.
Code Explorer pré-calcule tout ça, une fois, dans un graphe qui vit sur le disque et répond instantanément aux questions de structure.
Le gain, mesuré
Chiffres réels, en indexant une base TypeScript de 1 984 fichiers (l'agent Code Buddy lui-même), mesurés le 2026-07-03.
Question : « Qu'est-ce qui casse si je modifie executePlan ? »
| Agent seul (grep + lecture) | Agent + Code Explorer | |
|---|---|---|
| Méthode | grep trouve 4 fichiers qui mentionnent le nom | un seul appel impact |
| Coût | les lire ≈ 35 000 tokens (est.) | 0,65 s · un seul appel |
| Réponse | mentions directes seulement — le rayon d'impact transitif est incalculable par recherche texte | 136 symboles impactés (75 amont + 61 aval), 5 niveaux de profondeur |
L'enjeu n'est pas que l'économie de tokens. C'est la capacité : l'impact transitif complet, un agent en recherche texte ne peut pas le produire de façon fiable — il abandonne après quelques sauts ou il devine. Le graphe le rend en un seul appel.
Ce que le graphe apporte à ton agent
Graphe de connaissance pré-indexé
Tout ton dépôt parsé en symboles et relations typées — fonctions, classes, appels, imports, hiérarchie. Persiste sur le disque, interrogeable en un appel.
Analyse de rayon d'impact
impact <symbole> trace les appelants amont, les appelés aval et l'impact transitif — le réflexe le plus rentable avant toute refacto.
30 outils via MCP
context, impact, find_cycles, detect_changes, cypher et plus — vers n'importe quel agent MCP : Claude Code, Cursor, VS Code.
14 langages
JS, TypeScript, Python, Java, C, C++, C#, Go, Rust, Ruby, PHP, Kotlin, Swift, Razor — via tree-sitter, plus un support poussé du legacy ASP.NET MVC.
100 % local & hors-ligne
Le graphe est un instantané qui t'appartient. Aucun cloud, aucune API, aucune télémétrie — tourne entièrement sur ta machine.
Analyse statique honnête
Lecture seule par conception. Les arêtes via imports dynamiques peuvent manquer — donc « code mort » est un candidat, pas une preuve. Une aide à la navigation rapide et précise, dite franchement.
Démarrage rapide
# 1. Build (release, binaire ~35 Mo)
cargo build --release # binaire dans target/release/gitnexus
# 2. Indexer le dépôt une fois (relancer avec --incremental après changements)
gitnexus analyze .
# 3. Brancher ton agent dessus via MCP
gitnexus mcp-install # écrit .mcp.json pour Claude Code
# …ou à la main : { "command": "gitnexus", "args": ["mcp"] }
Vérif : ton agent doit afficher « gitnexus · 30 tools ».
Licence
PolyForm Noncommercial 1.0.0. Libre d'utilisation, d'étude, de test et de dérivation pour tout usage non commercial — projets perso, recherche, éducation, évaluation. L'usage commercial nécessite une licence séparée — ouvre une issue ou contacte-moi.