GORTEX : le graphe de code qui évite à votre agent de relire vos fichiers
⏱️ Temps de lecture estimé : 4 minutes
📌 Gortex est un moteur d’intelligence de code open source qui indexe un dépôt en graphe de connaissances et le sert à votre agent de programmation en MCP, en HTTP et dans une web UI — 100 % local, un seul binaire, aucun service à administrer.
Vous connaissez la boucle. Vous demandez une modification, l’agent ouvre quatre fichiers, relit deux qu’il avait déjà vus, devine l’interface à satisfaire, puis propose un diff. Gortex attaque exactement ce point. Il indexe une fois le dépôt — fichiers, symboles, imports, appels, champs, routes, TODOs — puis répond par une requête de graphe. Sur l’exemple chiffré de la page d’accueil, une édition passe de 11 480 tokens de lectures à 688 : sept symboles, trois fichiers, signatures et appelants, l’interface satisfaite, le rayon d’impact. Un watcher fsnotify répare ensuite le graphe fichier par fichier.
La mise en route tient en deux commandes, séparées volontairement. gortex install --start --track s’exécute une fois par machine : câblage MCP, skills et slash commands dans ~/.claude/, puis daemon lancé en arrière-plan. gortex init s’exécute une fois par dépôt : .mcp.json, un CLAUDE.md avec un routage par « communautés » détectées dans le graphe, un SKILL.md par communauté, et quatre hooks. Ce sont ces hooks qui font le travail invisible. PreToolUse détourne Read, Grep, Glob et Task vers les outils de graphe, et bloque la lecture entière des fichiers source. PreCompact injecte un instantané d’orientation avant la compaction de contexte, pour que l’agent survive sans réexplorer. Stop relance la détection de changements, les cibles de tests et le code mort. Quand le bridge est injoignable, tout se désactive en silence.
La couverture est large : 257 langages sur trois paliers — une trentaine de grammaires tree-sitter écrites à la main pour la résolution profonde, une soixante de regex pour le folklore, environ 165 en signature seule, plus vos propres grammaires via .gortex.yaml. L’index, lui, ne manipule pas de petits volumes : le noyau Linux, 70 333 fichiers, donne 1,69 million de nœuds et 6,24 millions d’arêtes en trois minutes, avec 5 Go de pic mémoire. Sur un dépôt de 100 000 symboles, comptez 20 à 30 secondes la première fois, 200 ms la suivante.

Autour du graphe, quatre fonctions méritent le détour. Vos buffers non sauvegardés sont poussés en shadow-graph : les outils lisent à travers, et change renvoie le delta entre la base et l’overlay, avec détection de dérive par SHA de blob git. La recherche sémantique est active par défaut, en hybride BM25 + vecteur, avec une table GloVe-50d de 3,8 Mo embarquée. Les contrats entre dépôts sont détectés automatiquement — HTTP, gRPC, GraphQL, topics Kafka/NATS/Redis, OpenAPI — puis normalisés en identifiants canoniques : un producteur orphelin d’un côté, un consommateur absent de l’autre sont signalés. gortex review rend un verdict BLOCK / REVIEW / APPROVE ancré aux lignes. Enfin, le format de transport GCX1 retire encore 27 % de tokens face au JSON. La télémétrie est opt-in, éteinte par défaut, et limitée à des compteurs groupés : jamais de code, de chemin ni de nom de symbole.
Mon avis : c’est le genre d’outil qui change la façon dont on délègue. L’idée de fond est saine — l’agent ne devrait pas apprendre le code en le lisant, mais le questionner — et le mécanisme est réel, même si le −94 % de la page d’accueil reste un scénario bien choisi. Ce qui m’aide à y croire, c’est la lisibilité de l’architecture : un binaire statique d’environ 20 Mo écrit en Go, un daemon sur socket Unix, un serveur HTTP sur le port 4747, aucune base de données à maintenir. Les garde-fous aussi : une édition est refusée si elle introduit une erreur de parsing, et les releases sont signées Sigstore (SLSA niveau 3). Les réserves tiennent surtout à la maturité : v0.62.0 pour un dépôt né en avril 2026, et une évaluation de recherche sémantique volontairement sage, R@1 à 42,3 %.
- 🔎 Une requête de graphe remplace une pile de lectures : appelants, dépendances, rayon d’impact
- 🪝 Quatre hooks détournent Read, Grep et Glob vers les outils de graphe
- 🧠 Les buffers non sauvegardés sont lus à travers un shadow-graph, avec détection de dérive
- 🔗 Contrats inter-dépôts détectés sur HTTP, gRPC, GraphQL, topics et OpenAPI
- 🧾
gortex reviewrend un verdict BLOCK / REVIEW / APPROVE ancré aux lignes du diff
Un binaire signé, pas de conteneur à surveiller : c’est la partie que j’apprécie le plus. Apache 2.0, usage commercial compris.
Sources






