Repolode
redhat-et

redhat-et/ripwire

CLI y servidor MCP en C++23 sin dependencias que ofrecen a los agentes de programación un mapa ordenado del código y evalúan el impacto, las pruebas y las regresiones de calidad de sus cambios.

Estrellas
2,467
Forks
158
Issues abiertos
70
Último commit
hace 2 horas

¿Qué es?

ripwire es una herramienta de línea de comandos y un servidor MCP para agentes de programación. Antes de leer un repositorio, un agente puede ejecutar ripwire para obtener un grafo de llamadas ordenado y determinista: los subsistemas principales, los puntos de entrada, los símbolos más importantes y quién los llama. Consultas como --for, --expand, --callers y --path devuelven respuestas concisas dentro de un presupuesto de tokens, para que el agente evite repetir búsquedas con grep y leer archivos completos.

Después de una edición, la misma herramienta informa qué afecta el cambio: su radio de impacto, las pruebas que llegan al código modificado, las variaciones de calidad que solo enumeran regresiones, los colaboradores de cambios conjuntos que se hayan pasado por alto y los cambios en los contratos de símbolos públicos. Los resultados inciertos se señalan, por ejemplo, con un valor de confianza o con líneas discontinuas en el mapa HTML; si la salida se trunca, se indica el siguiente comando para recuperar el resto.

El proyecto está escrito en C++23, no tiene dependencias en tiempo de ejecución y admite muchos lenguajes mediante tree-sitter, incluidos Rust, Python, Go, TypeScript y Java. Se instala con una sola línea de shell y puede configurar skills para agentes como Claude Code, Codex, Cursor y Gemini.

Funciones clave

  • 01Genera un mapa ordenado y determinista de los subsistemas, puntos de entrada y símbolos clave de un repositorio.
  • 02Responde consultas específicas, como dónde se gestiona un concepto, quién llama a una función y cuál es el cuerpo de una función.
  • 03Informa del radio de impacto, las pruebas que llegan al código modificado y las regresiones de calidad tras una edición.
  • 04Señala las aristas de llamadas inciertas y los resultados truncados en lugar de presentar conjeturas como hechos.
  • 05Se distribuye como un único binario de C++ sin dependencias en tiempo de ejecución y puede ejecutarse como servidor MCP.

Casos de uso

  • Ayudar a un agente de programación a orientarse en un repositorio grande y desconocido antes de empezar a editarlo.
  • Comprobar qué pruebas ejecutar y qué más podría romper un cambio antes de abrir una pull request.
  • Revisar un diff para detectar patrones de cambios dispersos y archivos que debían modificarse en conjunto, pero se pasaron por alto.
  • Visualizar el grafo de llamadas de un código con colores según su complejidad o frecuencia de cambios en un archivo HTML independiente.

Inicio rápido

  1. 1

    Instala ripwire con el instalador de una sola línea del README

  2. 2

    Añade el directorio de instalación a tu PATH

    export PATH="$HOME/.local/bin:$PATH"
  3. 3

    Ejecuta ripwire en tu repositorio con una descripción del cambio

    ripwire . --for="<the change you are about to make, in words>"

Antes de usarlo

  • La instalación rápida ejecuta un script remoto canalizado a bash; si te preocupa, revísalo antes.

En colecciones

Temas

Preguntas frecuentes

¿Qué es ripwire?
CLI y servidor MCP en C++23 sin dependencias que ofrecen a los agentes de programación un mapa ordenado del código y evalúan el impacto, las pruebas y las regresiones de calidad de sus cambios. ripwire es una herramienta de línea de comandos y un servidor MCP para agentes de programación. Antes de leer un repositorio, un agente puede ejecutar ripwire para obtener un grafo de llamadas ordenado y determinista: los subsistemas principales, los puntos de entrada, los símbolos más importantes y quién los llama. Consultas como --for, --expand, --callers y --path devuelven respuestas concisas dentro de un presupuesto de tokens, para que el agente evite repetir búsquedas con grep y leer archivos completos.
¿ripwire es gratuito? ¿Qué licencia tiene?
ripwire es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿ripwire sigue mantenido?
Mantenimiento activo. El último commit de ripwire fue el 22 oct 2026.
¿Para qué puedo usar ripwire?
Ayudar a un agente de programación a orientarse en un repositorio grande y desconocido antes de empezar a editarlo. Comprobar qué pruebas ejecutar y qué más podría romper un cambio antes de abrir una pull request. Revisar un diff para detectar patrones de cambios dispersos y archivos que debían modificarse en conjunto, pero se pasaron por alto. Visualizar el grafo de llamadas de un código con colores según su complejidad o frecuencia de cambios en un archivo HTML independiente.
¿Cómo se instala ripwire?
Instala ripwire con el instalador de una sola línea del README Añade el directorio de instalación a tu PATH: export PATH="$HOME/.local/bin:$PATH" Ejecuta ripwire en tu repositorio con una descripción del cambio: ripwire . --for="<the change you are about to make, in words>"
¿Dónde consigo ripwire?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/redhat-et/ripwire

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados