code-graph-rag: работа с монорепозиториями с помощью ИИ и графов

code-graph-rag: работа с монорепозиториями с помощью ИИ и графов

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

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

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

Проект Code-Graph-RAG предназначен для анализа многоплатформенного кода с помощью Tree-sitter. Он создает структурированную модель кода в виде графа знаний в базе данных Memgraph и позволяет вести запросы, редактировать и оптимизировать код на естественном языке. Эта система находит применение в многопроектах, работающих с разными языками программирования.

Что делает проект

Code-Graph-RAG сканирует репозиторий, извлекает информацию о функциях, классах и методах, а затем строит граф, который отражает связи между этими элементами. С помощью созданного графа ты можешь:

  • Задавать вопросы о кодовой базе на естественном языке и получать структурированные ответы.
  • Извлекать исходный код по имени функции, класса или метода.
  • Редактировать код с помощью точной замены (AST-based surgical patching) с предварительным просмотром изменений.
  • Оптимизировать код в соответствии с наилучшими практиками.
  • Находить неиспользуемый код, анализируя вызовы и ссылки.
  • Выполнять поиск и переписывание кода, используя аст-греп.
  • Накладывать поведение во время выполнения, отслеживая выполнение тестов или профилирование в eBPF.

Как устроен проект

Проект состоит из двух основных компонентов:

  • Многоязыковой парсер: использует Tree-sitter для считывания кода и загрузки информации в Memgraph.
  • Система RAG: взаимодействует с пользователем через CLI, преобразует естественный язык в запросы Cypher и управляет редактированием кода с использованием ИИ.

Процесс выглядит следующим образом:


Source Code -> Tree-sitter Parser -> AST Analysis -> Memgraph Knowledge Graph
                                                           |
User Query -> AI Model (Cypher Gen) -> Cypher Query -> Graph Results -> Response
  

Установка

Установить Code-Graph-RAG можно через PyPI. Рекомендуется установить его с дополнительными опциями:


# с uv (рекомендуется)
uv tool install "code-graph-rag[treesitter-full,semantic]"

# или с помощью pipx
pipx install "code-graph-rag[treesitter-full,semantic]"
  

Для работы потребуется Python версии 3.12 или выше, Docker для Memgraph, cmake и ripgrep.

Быстрый старт

После установки запусти следующие команды, чтобы начать парсинг репозитория и запросы к графу:


# Запустите упакованный Memgraph + Qdrant
cgr daemon up

# Парсинг репозиторий в граф
cgr start --repo-path /path/to/repo --update-graph
cgr start --repo-path /path/to/repo
  

Ограничения и особенности

Code-Graph-RAG поддерживает множество языков, в том числе Python, TypeScript, JavaScript, C++, и другие. Есть определенные ограничения по языкам, которые находятся на этапе разработки или имеют только частичную поддержку. Чтобы узнать все детали, стоит обратиться к документации по поддерживаемым языкам.

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

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

ИмпульсТемпЗрелостьСообществоСвежестьСтартПродакшенДовериеДокументацияЭкосистема81
  • Импульс 30 ≈ 4 звезды в день
  • Темп разработки 100 6274 коммита за 12 недель
  • Зрелость 90 проекту 17 месяцев, 38 релизов
  • Сообщество 80 76 участников, 713 форков
  • Свежесть 97 последний коммит — 5 дней назад
  • Быстрый старт 100 есть: команда установки, Docker, сайт/демо, примеры
  • Готовность к продакшену 55 релиз v0.5.0, автосборка
  • Безопасность и доверие 80 лицензия MIT, SECURITY.md
  • Документация 99 README 11.5 тыс. знаков, 18 разделов, папка docs
  • Экосистема 75 34 подписчика на обновления, 20 тем
Как считаем

Только открытые данные 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: vitali87/code-graph-rag →

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

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

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