crg CLI

CLI и MCP-сервер строят граф кода через Tree-sitter, чтобы агент при ревью читал только нужные функции и тратил меньше токенов

  • 76 ★ репозитория
  • Последний коммит
CLI

Расширенный доступ

Почему такой уровень

  • Граф хранится на диске и содержит структуру и фрагменты вашего кода
  • В HTTP-режиме открывается порт, а Docker-вариант закрыт токеном и слушает только loopback
Все причины и проверки

n24q02m/crg

Установка

В терминале, через SkillFoxx CLI

npx skillfoxx add cli/crg

Определит агенты на машине, покажет уровень доступа и зафиксирует версию.

Другие способы установки

Доступ и проверки

Как мы проверяем

Расширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.

  • Граф хранится на диске и содержит структуру и фрагменты вашего кода
  • В HTTP-режиме открывается порт, а Docker-вариант закрыт токеном и слушает только loopback

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

crg разбирает код через Tree-sitter и строит граф функций, классов и импортов. Агент получает точный контекст изменения и читает только то, что важно, без обхода всего дерева репозитория. Основной интерфейс — команда `crg`, MCP-сервер идет вторым. Команда `crg graph build --full-rebuild --repo-root /path` собирает граф, `crg query search --search-query "authentication"` ищет по нему. Семантический поиск по умолчанию идет через локальный реестр ONNX-моделей из fastretrieval, без ключа API и настройки. Облачную цепочку эмбеддингов можно включить отдельно. Поиск по нескольким словам, разрешение вызовов по полному имени и постраничный вывод исправлены относительно исходного code-review-graph. Версия 2.0 добавила во все узлы и ребра временные столбцы `valid_from_sha` и `valid_to_sha` и необязательный сканер безопасности. В репозитории лежат скиллы `build-graph`, `review-delta` и `review-pr`, которые вызывают CLI напрямую и не требуют MCP. Для постоянного режима есть HTTP-сервер: `n24q02m-crg server start` слушает `127.0.0.1:8000/mcp`, а Docker-вариант закрыт токеном и публикуется только на loopback.

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

Подходит, если

  • Ревью PR в большом репозитории, где агенту нужны только измененные функции и их вызовы
  • Поиск по смыслу в коде без ключа API, на локальной модели
  • Нужно понять, какие функции затрагивает изменение: помогает разрешение вызовов по полному имени
  • Граф должен помнить состояние по коммитам: во всех узлах есть столбцы `valid_from_sha`
  • Один и тот же граф нужен нескольким агентам через общий HTTP-сервер с токеном

Не подходит, если

  • Нужен простой текстовый поиск: хватит `grep`, граф для него избыточен
  • Вы не можете поставить Python 3.13 или `uv`
  • Код на языке, которого нет в наборе Tree-sitter проекта

Пример запроса к агенту

Построй граф репозитория и найди функции, которые связаны с авторизацией, затем покажи, что затрагивает мой последний коммит.

Ограничения

Нужен Python 3.13. Дистрибутив на PyPI называется `n24q02m-crg`, старое имя `better-code-review-graph` осталось псевдонимом команды. Релиз 2.0 ломает совместимость: схема базы мигрирует при первом открытии, копия старой базы сохраняется в `<graph_db>.pre-2.0.bak`, возврат на 1.x включается через `CRG_DOWNGRADE_TO_1_X=1`. Сканер безопасности ставится экстрой `[security]`. Хостинга нет, HTTP-режим работает только на вашей машине. Для моделей чата, rerank и эмбеддингов заданы отдельные провайдеры в `[models.<task>]`.

Как отключить. Удалите плагин командой `/plugin uninstall crg`, MCP-запись командой `claude mcp remove crg` и пакет командой `pip uninstall n24q02m-crg`. Графы лежат в каталоге конфигурации `~/.crg`, его можно удалить.

Частые вопросы

Как запустить crg без установки?

Командой `uvx --python 3.13 --from n24q02m-crg crg graph build --full-rebuild --repo-root /path/to/repo`. Короткое имя `crg` требует явного `--from`.

Как подключить crg к Claude Code по MCP?

Командой `claude mcp add crg -- uvx --python 3.13 n24q02m-crg` или через плагин из маркетплейса n24q02m/claude-plugins.

Нужен ли ключ API для семантического поиска?

Нет. По умолчанию работает локальная модель ONNX без ключа. Облачные эмбеддинги включаются через `EMBEDDING_MODELS`.

Чем crg отличается от code-review-graph?

Это форк с исправленным поиском по нескольким словам, разрешением вызовов по полному имени, режимами эмбеддингов, постраничным выводом и готовым CI.

Что делать при обновлении до версии 2.0?

Схема мигрирует сама при первом открытии графа, копия старой базы остается рядом. Подробности и откат описаны в `BREAKING_CHANGES.md`.

Обсуждение

Вопросов и отзывов пока нет.

Локальный граф структуры кода: строит карту репозитория через tree-sitter и отдает агенту по MCP только тот контекст, который относится к правке

MCP-серверРасширенный доступ32,7 тыс.Звезды репозитория
Официальный

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

MCP-серверРасширенный доступ516Звезды репозитория

MCP-сервер дает агенту граф кода репозитория: поиск функций по смыслу, связи символов и список мест, которые заденет правка

MCP-серверРасширенный доступ401Звезды репозитория

DevLens строит граф репозитория один раз, и агент по MCP получает ранжированные файлы, вызовы и радиус изменений

MCP-серверРасширенный доступ70Звезды репозитория

MCP-сервер строит граф знаний о коде: поиск по смыслу, граф вызовов, трассировка HTTP-маршрутов и анализ влияния правок.

MCP-серверРасширенный доступ94Звезды репозитория

MCP-сервер, который строит граф кода: функции, классы, вызовы и маршруты, и отвечает на структурные запросы агента локально

MCP-серверРасширенный доступ48,5 тыс.Звезды репозитория

Коротко о README

Описаны переименование проекта, миграция на версию 2.0, установка в агентов, режимы stdio и HTTP, настройка моделей по задачам, CLI, возможности и модель доверия.

Бейдж для README

Сообщить о проблеме