Servidor MCP que indexa código, documentação e infraestrutura em um grafo de conhecimento local para que agentes de programação com IA consultem a estrutura sem reler arquivos.
redhat-et/ripwire
CLI e servidor MCP em C++23, sem dependências, que fornecem a agentes de programação um mapa classificado do código e verificam o impacto, os testes necessários e regressões de qualidade das alterações.
- Estrelas
- 2,467
- Forks
- 158
- Issues abertas
- 70
- Último commit
- há 2 horas
O que é?
ripwire é uma ferramenta de linha de comando e um servidor MCP para agentes de programação. Antes de ler um repositório, um agente pode executar ripwire para obter um grafo de chamadas determinístico e classificado: os principais subsistemas, pontos de entrada, símbolos mais importantes e quem os chama. Consultas como --for, --expand, --callers e --path retornam respostas compactas, dentro de um orçamento de tokens, para que o agente evite repetir buscas com grep e ler arquivos inteiros.
Depois de uma alteração, a mesma ferramenta informa o que ela afeta: o raio de impacto, os testes que chegam ao código alterado, as diferenças de qualidade que listam apenas regressões, parceiros de coalteração esquecidos e mudanças nos contratos de símbolos públicos. Resultados incertos são identificados, por exemplo, com um valor de confiança ou arestas tracejadas no mapa HTML; quando a saída é truncada, ela informa o próximo comando para recuperar o restante.
O projeto é escrito em C++23, não tem dependências em tempo de execução e oferece suporte a várias linguagens por meio de tree-sitter, incluindo Rust, Python, Go, TypeScript e Java. A instalação é feita com uma única linha de shell, e a ferramenta pode configurar skills para agentes como Claude Code, Codex, Cursor e Gemini.
Recursos principais
- 01Gera um mapa determinístico e classificado dos subsistemas, pontos de entrada e símbolos principais de um repositório.
- 02Responde a consultas específicas, como onde um conceito é tratado, quem chama uma função e qual é o corpo dela.
- 03Informa o raio de impacto, os testes que chegam ao código alterado e as regressões de qualidade após uma alteração.
- 04Identifica arestas de chamada incertas e sinaliza quando a saída foi truncada, em vez de apresentar suposições como fatos.
- 05É distribuído como um único binário C++, sem dependências em tempo de execução, e pode funcionar como servidor MCP.
Casos de uso
- Ajudar um agente de programação a se situar em um repositório grande e desconhecido antes de começar a fazer alterações.
- Verificar quais testes executar e o que mais uma alteração pode quebrar antes de abrir um pull request.
- Analisar um diff em busca de padrões de shotgun surgery e arquivos que deveriam ter sido alterados em conjunto, mas foram esquecidos.
- Visualizar o grafo de chamadas de uma base de código, com cores que representam complexidade ou churn, em um arquivo HTML independente.
Início rápido
- 1
Instale o ripwire com o instalador de uma linha do README
- 2
Adicione o diretório de instalação ao PATH
export PATH="$HOME/.local/bin:$PATH" - 3
Execute o ripwire no seu repositório com uma descrição da alteração
ripwire . --for="<the change you are about to make, in words>"
Antes de usar
- A instalação rápida executa um script remoto redirecionado para o bash; se isso for uma preocupação, revise-o antes.
Em coleções
Tópicos
Perguntas frequentes
- O que é ripwire?
- CLI e servidor MCP em C++23, sem dependências, que fornecem a agentes de programação um mapa classificado do código e verificam o impacto, os testes necessários e regressões de qualidade das alterações. ripwire é uma ferramenta de linha de comando e um servidor MCP para agentes de programação. Antes de ler um repositório, um agente pode executar ripwire para obter um grafo de chamadas determinístico e classificado: os principais subsistemas, pontos de entrada, símbolos mais importantes e quem os chama. Consultas como --for, --expand, --callers e --path retornam respostas compactas, dentro de um orçamento de tokens, para que o agente evite repetir buscas com grep e ler arquivos inteiros.
- ripwire é gratuito? Qual é a licença?
- ripwire é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
- ripwire ainda é mantido?
- Manutenção ativa. O último commit de ripwire foi em 22 de out. de 2026.
- Para que posso usar ripwire?
- Ajudar um agente de programação a se situar em um repositório grande e desconhecido antes de começar a fazer alterações. Verificar quais testes executar e o que mais uma alteração pode quebrar antes de abrir um pull request. Analisar um diff em busca de padrões de shotgun surgery e arquivos que deveriam ter sido alterados em conjunto, mas foram esquecidos. Visualizar o grafo de chamadas de uma base de código, com cores que representam complexidade ou churn, em um arquivo HTML independente.
- Como instalar ripwire?
- Instale o ripwire com o instalador de uma linha do README Adicione o diretório de instalação ao PATH: export PATH="$HOME/.local/bin:$PATH" Execute o ripwire no seu repositório com uma descrição da alteração: ripwire . --for="<the change you are about to make, in words>"
- Onde consigo ripwire?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/redhat-et/ripwire
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Transforma uma base de código, sua documentação, schemas e PDFs em um grafo de conhecimento consultável por assistentes de programação com IA, criado localmente com parsing de AST usando tree-sitter.
Indexa uma base de código em um grafo de conhecimento com dependências, cadeias de chamadas e fluxos de execução, e o disponibiliza a agentes de programação com IA por meio de ferramentas MCP.
Indexa bases de código em várias linguagens em um grafo de conhecimento para consultar, pesquisar e editar código em linguagem natural com um agente de IA ou servidor MCP.
Ix transforma um repositório em um grafo persistente de símbolos, chamadas e imports para que desenvolvedores e agentes de programação com IA consultem sua estrutura.
Um mecanismo de análise estática em Rust que cria grafos compactos de programas a partir do código-fonte e gera 19 diagramas UML e de IR de compilador.