|

GitNexus : un système nerveux pour le contexte des agents IA

https://github.com/abhigyanpatwari/GitNexus

📌 GITNEXUS est une plateforme qui indexe les bases de code dans un graphe de connaissances pour fournir aux agents d’IA une compréhension profonde de l’architecture et des dépendances, évitant ainsi les modifications cassantes et les chaînes d’appels brisées.

L’outil s’utilise de deux manières principales : via CLI + MCP pour un développement quotidien avec des éditeurs comme Cursor, Claude Code, Codex et OpenCode, ou via une interface web pour une exploration rapide et des démonstrations. La version CLI indexe localement les dépôts avec LadybugDB native, expose 16 outils via le protocole MCP, et installe automatiquement 4 compétences d’agent dans le répertoire .claude/skills/ : exploration, debugging, analyse d’impact et refactoring. La version web fonctionne entièrement dans le navigateur avec Tree-sitter WASM et LadybugDB WASM, offrant un explorateur de graphe visuel et un chat IA sans upload de code vers un serveur.

GitNexus résout un problème critique : les assistants d’IA comme Cursor et Claude Code ne comprennent pas vraiment la structure du code. Lorsqu’un agent modifie une fonction sans connaître les 47 autres fonctions qui dépendent de son type de retour, des modifications cassantes sont livrées en production. Contrairement aux approches traditionnelles de Graph RAG qui livrent des arêtes brutes à l’IA dans l’espoir qu’elle explore suffisamment, GitNexus précalcule la structure lors de l’indexation avec clustering, traçage et scoring, permettant aux outils de retourner un contexte complet en un seul appel.

Le pipeline d’indexation en six phases parcourt l’arborescence des fichiers, extrait les fonctions/classes/méthodes via Tree-sitter, résout les imports et appels de fonctions avec une logique spécifique au langage, regroupe les symboles en communautés fonctionnelles via l’algorithme Leiden, trace les flux d’exécution à partir des points d’entrée, et construit des index de recherche hybride pour une récupération rapide. Cette approche précalculée assure que l’IA ne peut manquer de contexte, optimise l’efficacité des tokens, et démocratise les modèles : même des LLM plus petits fonctionnent bien car les outils font le gros du travail.

● Analyse d’impact en profondeur : identifie ce qui dépend d’un symbole avec scoring de confiance et regroupement par profondeur

● 16 outils MCP exposés : recherche hybride BM25 + sémantique, contexte 360°, détection de changements Git, renommage multi-fichiers

● 4 compétences d’agent installées automatiquement : exploration, debugging, analyse d’impact, refactoring

● Support de 14 langages : TypeScript, JavaScript, Python, Java, Kotlin, C#, Go, Rust, PHP, Ruby, Swift, C, C++, Dart

● Architecture multi-dépôt : un serveur MCP peut servir tous les dépôts indexés sans configuration par projet

● Deux modes de déploiement : CLI local avec LadybugDB native ou web client-side avec WASM

L’installation se fait simplement via npm install -g gitnexus, suivi de gitnexus analyze pour indexer un dépôt. La commande gitnexus setup configure automatiquement le protocole MCP pour les éditeurs détectés en écrivant la configuration globale MCP appropriée, évitant les délais de démarrage liés à npx. Chaque dépôt indexé stocke son index dans .gitnexus/ à l’intérieur du dépôt et enregistre un pointeur dans ~/.gitnexus/registry.json, permettant au serveur MCP de servir n’importe quel dépôt indexé sans configuration par projet. Les connexions LadybugDB sont ouvertes paresseusement à la première requête et évacuées après 5 minutes d’inactivité.

Les 16 outils MCP incluent list_repos pour découvrir tous les dépôts indexés, query pour la recherche hybride groupée par processus, context pour une vue 360° des symboles avec références catégorisées et participation aux processus, impact pour l’analyse du rayon d’explosion avec regroupement par profondeur et scoring, detect_changes pour l’impact Git-diff qui mappe les lignes modifiées aux processus affectés, rename pour le renommage coordonné multi-fichiers avec recherche de graphe et texte, et cypher pour les requêtes brutes de graphe. Les 5 outils de groupe permettent de gérer les dépôts multi-répositoriels avec synchronisation des contrats, inspection des contrats extraits et liens croisés, recherche des flux d’exécution entre tous les dépôts d’un groupe, et vérification de la fraîcheur des dépôts.

Le mode bridge connecte la CLI et l’interface web : gitnexus serve démarre un serveur HTTP local que l’interface web détecte automatiquement, permettant de naviguer dans tous les dépôts indexés par CLI sans ré-upload ni ré-indexation. L’interface web propose deux modes de stockage : LadybugDB WASM en mémoire par session ou mode backend illimité via le serveur local. La visualisation du graphe utilise Sigma.js et Graphology avec WebGL pour un rendu performant, tandis que l’agent d’IA utilise LangChain ReAct pour le chat interactif.

GitNexus génère également une documentation de type wiki depuis le graphe de connaissances via gitnexus wiki, avec support pour des modèles personnalisés et des fournisseurs de LLM alternatifs. La génération lit la structure du graphe indexé, regroupe les fichiers en modules via LLM, génère des pages de documentation par module avec références croisées au graphe, et crée une page de vue d’ensemble. Le mode d’entreprise ajoute des fonctionnalités avancées comme l’analyse automatique du rayon d’explosion sur les pull requests, un wiki de code qui se met à jour automatiquement, la ré-indexation automatique, le support multi-dépôt avec graphe unifié, le support OCaml et la priorité pour les nouvelles fonctionnalités.

Concrètement, c’est un outil qui simplifie l’analyse et la maintenance de bases de code complexes pour les agents d’IA en fournissant une compréhension architecturale complète via un graphe de connaissances précalculé, des outils MCP intelligents et une intégration transparente avec les éditeurs de code populaires.

Publications similaires

Laisser un commentaire