stamatios
← Voltar ao feed
Mapa urbano com rotas luminosas ligando bairros distintos, metáfora do índice de grafo do Gortex para busca entre repositórios
Dev & Engenharia · Open Source

Gortex indexa código em grafo local com busca entre repositórios

resumo de ~3 min

O que é o Gortex

Gortex é um motor de inteligência de código open source (licença Apache 2.0), escrito em Go, que indexa repositórios em um grafo de conhecimento persistente e expõe esse grafo a agentes de programação e IDEs via CLI, servidor MCP e API HTTP. É distribuído como binário estático único para macOS, Linux e Windows, sem dependências externas nem download de modelos, e opera 100% local, com telemetria desativada por padrão.

O projeto usa tree-sitter para parsear 257 linguagens e adiciona resolução de referências em nível de compilador para Python, TypeScript/JavaScript, Go, Rust, Java, Kotlin, C/C++, PHP, C#, Ruby, Swift, Zig, Elixir e outras. O grafo resultante registra funções, classes, cadeias de chamadas, rotas HTTP e contratos entre serviços, com um modelo de confiança por níveis de procedência.

Proposta central: economizar tokens

O argumento principal do projeto é que consultas nativas ao grafo eliminam leituras ingênuas de arquivos inteiros: o agente lê apenas o símbolo ou trecho necessário, o que reduz o consumo de tokens por resposta em até 50 vezes, segundo o README. Um comando gortex savings reporta os tokens economizados em relação a leituras de arquivo, com dados de exemplo de US$ 168,69 evitados em 1.878 chamadas e mais de 11 milhões de tokens poupados em um uso acumulado de 93,3%.

O formato de arame próprio GCX1, publicado e com ida e volta, promete reduzir adicionalmente 27% de tokens em relação a JSON mantendo a mesma fidelidade.

Multi-repositório e contratos de API

O suporte a múltiplos repositórios é padrão: N repositórios entram em um único grafo, com referências, cadeias de chamadas e contratos atravessando fronteiras de repositório, com resolução comprovada por evidências, análise de impacto e isolamento por sessão. Um índice de alcançabilidade pré-computado em profundidade 3 torna consultas de "raio de explosão" (o que quebra se eu mudar isto?) operações de busca em mapa, seguras para rodar a cada edição.

O sistema detecta automaticamente contratos de API entre repositórios - rotas HTTP (gin, Express, FastAPI, Spring), gRPC, GraphQL, tópicos de mensageria (Kafka, RabbitMQ, NATS, Redis), WebSocket, variáveis de ambiente e specs OpenAPI - e normaliza tudo em IDs canônicos para casar provedores e consumidores, detectando órfãos e incompatibilidades.

Integração com agentes e ferramentas

O Gortex se integra a 19 agentes de codificação, incluindo Claude Code, Cursor, Windsurf, VS Code/Copilot, Codex CLI, Gemini CLI, Zed, Aider e Cline: um único comando gortex init configura todos os assistentes detectados na máquina. São oferecidas mais de 100 ferramentas MCP (configuráveis, com 175 no total, para usar apenas as necessárias), 16 recursos e 3 prompts, cobrindo busca de símbolos, cadeias de chamadas, blast radius, fluxo de dados, detecção de clones, refatoração e ações de código.

Recursos adicionais incluem busca semântica ativada por padrão (GloVe embutido de 3,8 MB com FTS5/BM25 e fusão adaptativa, com MiniLM, Ollama ou OpenAI opcionais), execução especulativa (preview_edit e simulate_chain simulam mudanças sem tocar no disco), overlays para buffers não salvos, revisão de PRs de ponta a ponta com vereditos BLOCK/REVIEW/APPROVE baseados em regras sobre o grafo, e verificações de segurança como verify_change e check_guards.

Escala e arquitetura

Segundo benchmarks do próprio projeto, medidos em um laptop Apple Silicon, o Gortex indexa o kernel Linux (70.333 arquivos, 1,69 milhão de nós, 6,2 milhões de arestas) em cerca de 3 minutos, a 300 arquivos por segundo com pico de heap de 5,07 GB; o VS Code leva cerca de 1 minuto. O parseamento domina o tempo de execução (65–80%), e um daemon de longa vida serve todas as janelas de IDE a partir de um mesmo grafo em SQLite, com monitoramento de arquivos via fsnotify e reinício incremental.

Há também uma interface web em Next.js 15 com cinco modos de visualização 3D do grafo. O projeto acumula 1,7 mil estrelas no GitHub e é mantido por Andrey Kumanyaev.