Un servidor MCP que indexa código, documentación e infraestructura en un grafo de conocimiento local para que los agentes de programación con IA consulten la estructura sin volver a leer archivos.
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,464
- Forks
- 158
- Issues abiertos
- 70
- Último commit
- hace 4 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
Instala ripwire con el instalador de una sola línea del README
- 2
Añade el directorio de instalación a tu PATH
export PATH="$HOME/.local/bin:$PATH" - 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.
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
Convierte el código, la documentación, los esquemas y los PDF de un proyecto en un grafo de conocimiento consultable para asistentes de programación con IA, generado localmente mediante el análisis AST de tree-sitter.
Indexa una base de código como un grafo de conocimiento de dependencias, cadenas de llamadas y flujos de ejecución, y lo ofrece a agentes de programación con IA mediante herramientas MCP.
Indexa bases de código multilingües en un grafo de conocimiento para consultar, buscar y editar código en lenguaje natural mediante un agente de IA o un servidor MCP.
Ix convierte un repositorio en un grafo persistente de símbolos, llamadas e imports para que desarrolladores y agentes de programación con IA consulten su estructura.
Motor de análisis estático en Rust que crea grafos compactos de programas a partir del código fuente y genera 19 diagramas UML y de IR de compilador.