MCP-сервер индексирует код, документацию и инфраструктуру в локальный граф знаний, чтобы AI-агенты для программирования могли изучать структуру проекта, не перечитывая файлы.
redhat-et/ripwire
CLI и MCP-сервер на C++23 без зависимостей, который строит для coding agents ранжированную карту кодовой базы и проверяет правки на радиус воздействия, необходимые тесты и ухудшение качества.
- Звёзды
- 2,464
- Форки
- 158
- Открытые issues
- 70
- Последний коммит
- 5 часов назад
Что это?
ripwire — CLI-инструмент и MCP-сервер для coding agents. Прежде чем изучать репозиторий, агент может запустить ripwire и получить ранжированный детерминированный граф вызовов: основные подсистемы, точки входа, наиболее важные символы и их вызывающие стороны. Запросы вроде --for, --expand, --callers и --path возвращают компактные ответы с ограничением по числу токенов, помогая агенту не выполнять grep снова и снова и не читать файлы целиком.
После правки тот же инструмент показывает, что затронуло изменение: радиус воздействия, тесты, доходящие до изменённого кода, изменения качества, в которых перечислены только регрессии, забытые связанные изменения и изменения контрактов публичных символов. Неуверенные результаты помечаются, например значением confidence или пунктирными рёбрами на HTML-карте, а в усечённом выводе указывается следующая команда для получения остального.
Проект написан на C++23, не имеет зависимостей во время выполнения и поддерживает широкий набор языков благодаря tree-sitter, включая Rust, Python, Go, TypeScript и Java. Для установки достаточно одной команды в shell; также можно настроить skills для таких агентов, как Claude Code, Codex, Cursor и Gemini.
Ключевые возможности
- 01Строит ранжированную детерминированную карту подсистем, точек входа и ключевых символов репозитория.
- 02Отвечает на целевые запросы: где обрабатывается понятие, кто вызывает функцию и как выглядит её тело.
- 03После правки показывает радиус воздействия, тесты, доходящие до изменённого кода, и регрессии качества.
- 04Помечает неуверенные рёбра графа вызовов и сообщает об усечении вывода, не выдавая предположения за факты.
- 05Поставляется в виде одного бинарного файла на C++ без зависимостей во время выполнения и может работать как MCP-сервер.
Сценарии использования
- Помочь coding agent разобраться в большой незнакомой кодовой базе до начала правок.
- Проверить, какие тесты запускать и что ещё может сломать изменение, прежде чем открывать pull request.
- Проверить diff на признаки shotgun surgery и забытые связанные изменения в файлах.
- Визуализировать граф вызовов кодовой базы с цветовой индикацией сложности или churn в отдельном HTML-файле.
Быстрый старт
- 1
Установите ripwire с помощью однострочного установщика из README
- 2
Добавьте каталог установки в PATH
export PATH="$HOME/.local/bin:$PATH" - 3
Запустите ripwire в своём репозитории, указав описание изменений
ripwire . --for="<the change you are about to make, in words>"
Что важно знать
- При быстрой установке удалённый скрипт передаётся в bash для выполнения. Если вас это беспокоит, сначала проверьте его.
Темы
Частые вопросы
- Что такое ripwire?
- CLI и MCP-сервер на C++23 без зависимостей, который строит для coding agents ранжированную карту кодовой базы и проверяет правки на радиус воздействия, необходимые тесты и ухудшение качества. ripwire — CLI-инструмент и MCP-сервер для coding agents. Прежде чем изучать репозиторий, агент может запустить ripwire и получить ранжированный детерминированный граф вызовов: основные подсистемы, точки входа, наиболее важные символы и их вызывающие стороны. Запросы вроде --for, --expand, --callers и --path возвращают компактные ответы с ограничением по числу токенов, помогая агенту не выполнять grep снова и снова и не читать файлы целиком.
- ripwire можно использовать бесплатно? Какая у него лицензия?
- ripwire распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- ripwire всё ещё поддерживается?
- Активно поддерживается. Последний коммит в ripwire — 22 окт. 2026 г..
- Для чего можно использовать ripwire?
- Помочь coding agent разобраться в большой незнакомой кодовой базе до начала правок. Проверить, какие тесты запускать и что ещё может сломать изменение, прежде чем открывать pull request. Проверить diff на признаки shotgun surgery и забытые связанные изменения в файлах. Визуализировать граф вызовов кодовой базы с цветовой индикацией сложности или churn в отдельном HTML-файле.
- Как установить ripwire?
- Установите ripwire с помощью однострочного установщика из README Добавьте каталог установки в PATH: export PATH="$HOME/.local/bin:$PATH" Запустите ripwire в своём репозитории, указав описание изменений: ripwire . --for="<the change you are about to make, in words>"
- Где скачать ripwire?
- Исходный код и инструкции по установке — на GitHub: https://github.com/redhat-et/ripwire
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Преобразует кодовую базу, документацию, схемы и PDF в граф знаний для AI-ассистентов разработки, который можно запрашивать; строит его локально с помощью разбора AST через tree-sitter.
Индексирует кодовую базу в граф знаний зависимостей, цепочек вызовов и потоков выполнения и предоставляет его AI-агентам для программирования через инструменты MCP.
Индексирует многоязычные кодовые базы в граф знаний, чтобы через AI-агента или MCP-сервер искать, изучать и редактировать код на обычном английском.
Ix преобразует репозиторий в постоянный граф символов, вызовов и импортов, чтобы разработчики и AI-агенты могли запрашивать сведения о его структуре.
Механизм статического анализа кода на Rust, который строит компактные графы программ и генерирует на их основе 19 диаграмм UML и компиляторных IR.