Repolode
redhat-et

redhat-et/ripwire

CLI и MCP-сервер на C++23 без зависимостей, который строит для coding agents ранжированную карту кодовой базы и проверяет правки на радиус воздействия, необходимые тесты и ухудшение качества.

Звёзды
2,464
Форки
158
Открытые issues
70
Последний коммит
7 часов назад

Что это?

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

    Установите ripwire с помощью однострочного установщика из README

  2. 2

    Добавьте каталог установки в PATH

    export PATH="$HOME/.local/bin:$PATH"
  3. 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 обновляется ежедневно.

Похожие проекты

MCP-сервер индексирует код, документацию и инфраструктуру в локальный граф знаний, чтобы AI-агенты для программирования могли изучать структуру проекта, не перечитывая файлы.

47 тыс.3,9 тыс.CMITОбновлён позавчера

Преобразует кодовую базу, документацию, схемы и PDF в граф знаний для AI-ассистентов разработки, который можно запрашивать; строит его локально с помощью разбора AST через tree-sitter.

130 тыс.12,5 тыс.PythonApache-2.0Обновлён позавчера

Индексирует кодовую базу в граф знаний зависимостей, цепочек вызовов и потоков выполнения и предоставляет его AI-агентам для программирования через инструменты MCP.

48 тыс.5,2 тыс.TypeScriptOtherОбновлён 3 дня назад