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 — зрелый и живой проект
- Импульс 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 →
RepoRadar