Repolode
redhat-et

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. 1

    Instale o ripwire com o instalador de uma linha do README

  2. 2

    Adicione o diretório de instalação ao PATH

    export PATH="$HOME/.local/bin:$PATH"
  3. 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