code-review-graph: локальная система для построения графа знаний о коде

code-review-graph: локальная система для построения графа знаний о коде

code-review-graph — это локальная система для построения графа знаний о коде, которая помогает AI-инструментам для код-ревью получать важный контекст из вашего репозитория.

Этот проект ориентирован на разработчиков, которые сталкиваются с большими кодовыми базами и хотят упростить процесс анализа изменений. Он создает постоянную структуру данных, которая позволяет инструментам на основе ИИ сосредотачиваться на ключевых элементах, что особенно полезно при работе с множеством файлов и историей изменений. В отличие от большинства традиционных подходов, тут акцент на локальное хранение данных, что улучшает производительность.

Проект написан на Python (3.10+) и использует Model Context Protocol (MCP) для интеграции. Запустить его можно через pip: pip install code-review-graph. Обрати внимание, что пока проект находится на ранней стадии разработки, это может повлиять на стабильность и функциональность.

Проект code-review-graph представляет собой локальный граф знаний о коде, который помогает инструментам ИИ, занимающимся код-ревью, точно ориентироваться в контексте изменений в коде. Основная идея состоит в том, чтобы создать структурированную карту кода с помощью библиотеки Tree-sitter, которая обновляется по мере внесения изменений, позволяя ассистентам обращаться только к тем файлам, которые затрагиваются изменениями.

Установка и запуск

Установка проекта включает несколько простых шагов:

pip install code-review-graph          # или: pipx install code-review-graph
code-review-graph install              # детектирует установленные инструменты ИИ и настраивает их
code-review-graph build                # парсит кодовую базу

Команда install автоматически обнаруживает доступные инструменты ИИ и создает необходимые настройки. После этого, для начала работы, можешь открыть проект и запустить команду:

Build the code review graph for this project

Имей в виду, что время сборки графа зависит от размера репозитория. Например, полная сборка репозитория из ~3000 файлов может занять около 40 секунд.

Как это работает

При помощи Tree-sitter репозиторий парсится в абстрактные синтаксические деревья (ASTs), которые затем хранятся в виде графа, где узлы представляют собой функции, классы и импорты, а связи между ними — вызовы, наследование и покрытия тестами. При ревью граф запрашивается для определения минимально необходимого набора файлов, которые нужно прочитать для понимания изменений.

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

Ограничения

  • Сложности с анализом маленьких изменений в одном файле. В некоторых случаях использование графа может быть менее эффективным, чем простое чтение файла.
  • Поиск результатов может не всегда выдавать релевантные ответы. Выборка результатов требует дальнейшего улучшения.
  • Детектирование потока управления выполняется наиболее эффективно для Python и PHP, в других языках возможны трудности.
  • Как правило, отказоустойчивость подхода основана на развитии графа, что означает возможность ложных срабатываний в больших зависимостях.

Функции

Некоторые ключевые возможности code-review-graph включают:

  • Инкрементальные обновления, при которых происходит повторный анализ только изменённых файлов.
  • Широкая поддержка языков программирования и работа с Jupyter и Databricks ноутбуками.
  • Анализ "взрывоопасной" области, позволяющий определить, какие функции, классы и файлы могут быть затронуты изменениями.
  • Автоматические хуки, которые обновляют граф в процессе работы.
  • Семантический поиск (опционально) с возможностью векторных встраиваний для улучшения поиска.

В целом, code-review-graph представляет интерес для разработчиков, использующих ИИ в процессе ревью кода, особенно в средах с большим количеством файлов и сложной структурой зависимостей.

Радар проекта: 87 из 100 — зрелый и живой проект

ИмпульсТемпЗрелостьСообществоСвежестьСтартПродакшенДовериеДокументацияЭкосистема87
  • Импульс 59 ≈ 22 звезды в день
  • Темп разработки 100 419 коммитов за 12 недель
  • Зрелость 81 проекту 9 месяцев, 30 релизов
  • Сообщество 96 171 участник, 2967 форков
  • Свежесть 96 последний коммит — 6 дней назад
  • Быстрый старт 65 есть: команда установки, сайт/демо
  • Готовность к продакшену 100 релиз v2.3.9, автосборка, тесты
  • Безопасность и доверие 80 лицензия MIT, SECURITY.md
  • Документация 100 README 39 тыс. знаков, 26 разделов, папка docs
  • Экосистема 88 93 подписчика на обновления, 12 тем
Как считаем

Только открытые данные GitHub на 07.11.2026, без оценок нейросети. Каждая ось — от 0 до 100, итог — среднее.

  • Импульс — звёзд в день: за время наших замеров, а пока их нет — за всю жизнь проекта; 200 в день — максимум.
  • Темп разработки — коммитов за последние 12 недель; 300 — максимум. Пока GitHub не досчитал статистику, ось не учитывается.
  • Зрелость — возраст проекта (3 года — максимум) и число релизов (30 — максимум), поровну.
  • Сообщество — участников с коммитами (200 — максимум) и форков (5000 — максимум), поровну.
  • Свежесть — дней с последнего коммита: сегодня — 100, полгода и больше или архив — 0.
  • Быстрый старт — в README есть команда установки, раздел «быстрый старт» или примеры использования, в репозитории — Docker и папка примеров, у проекта есть сайт или демо.
  • Готовность к продакшену — релизы, версия 1.0 и выше, автосборка (GitHub Actions), тесты, лицензия, журнал изменений.
  • Безопасность и доверие — открытая лицензия (своя — половина балла), политика безопасности (SECURITY.md), проект организации, правила для участников, не в архиве.
  • Документация — объём и структура README, папка docs или сайт, оценка «здоровья сообщества» GitHub.
  • Экосистема — звёзды (50 тыс. — максимум), подписчики на обновления (1000 — максимум), темы репозитория.

Открыть на GitHub: tirth8205/code-review-graph →

Что нового на GitHub — короткие обзоры на русском Новые обзоры приходят в Telegram. Без спама, по делу.
Подписаться

Похожие статьи

Популярные темы на сайте