GitNexus — движок интеллекта кода без сервера
📂 Исходный код на GitHubИндексирует кодовую базу в граф знаний — зависимости, цепочки вызовов, кластеры и потоки выполнения — и отдаёт через MCP-инструменты, чтобы AI-агенты не упускали код
GitNexus — инструмент с открытым исходным кодом, который превращает любую кодовую базу в интерактивный граф знаний. Каждый импорт, вызов функции, наследование классов и поток выполнения индексируется и становится доступным AI-агентам через MCP-сервер. Всё работает локально, без отправки кода на сторонние серверы.
Зачем это нужно
AI-ассистенты вроде Cursor, Claude Code, Codex, Windsurf и OpenCode мощные, но они не знают структуру проекта. Результат: агент меняет UserService.validate(), не подозревая, что от этого метода зависят 47 других функций. GitNexus решает эту проблему — он даёт агенту полное архитектурное понимание кодовой базы.
Два режима работы
| CLI + MCP | Web UI | |
|---|---|---|
| Назначение | Индексация локально, подключение AI-агентов | Визуальный исследователь графа + AI-чат |
| Масштаб | Любой размер репозитория | Ограничен памятью браузера (~5k файлов) |
| Установка | npm install -g gitnexus |
Без установки — gitnexus.vercel.app |
Режим gitnexus serve объединяет оба подхода: Web UI автоматически подключается к локальному серверу и показывает все проиндексированные репозитории.
Быстрый старт
# Индексация репозитория (запускать из корня проекта)
npx gitnexus analyze
# Настройка MCP для редактора (один раз)
npx gitnexus setup
# Запуск MCP-сервера
gitnexus mcp
Команда analyze индексирует кодовую базу, устанавливает навыки для агентов, регистрирует хуки Claude Code и создаёт контекстные файлы AGENTS.md / CLAUDE.md.
Что получает AI-агент
Через MCP доступны 16 инструментов (11 для репозиториев + 5 для групп):
- query — гибридный поиск (BM25 + семантический + RRF) с группировкой по процессам
- context — 360-градусный обзор символа: входящие/исходящие ссылки, участие в потоках выполнения
- impact — анализ «радиуса поражения»: что сломается при изменении символа
- detect_changes — маппинг git-diff на затронутые потоки выполнения
- rename — безопасное переименование через граф + текстовый поиск
- cypher — прямые запросы к графу на языке Cypher
Пример анализа влияния:
impact({target: "UserService", direction: "upstream"})
DEPTH 1 (WILL BREAK):
handleLogin [CALLS 90%] -> src/api/auth.ts:45
handleRegister [CALLS 90%] -> src/api/auth.ts:78
DEPTH 2 (LIKELY AFFECTED):
authRouter [IMPORTS] -> src/routes/auth.ts
Поддержка редакторов
| Редактор | MCP | Навыки | Хуки |
|---|---|---|---|
| Claude Code | Да | Да | Да (PreToolUse + PostToolUse) |
| Cursor | Да | Да | Да |
| Codex | Да | Да | — |
| Windsurf | Да | — | — |
| OpenCode | Да | Да | — |
Архитектура
Индексация проходит в несколько фаз:
- Структура — обход файлового дерева, маппинг связей
- Парсинг — извлечение функций, классов, методов через Tree-sitter AST
- Разрешение — резолв импортов, вызовов, наследования, типов
- Кластеризация — группировка символов в функциональные сообщества (алгоритм Leiden)
- Процессы — трассировка потоков выполнения от точек входа
- Поиск — гибридный индекс для быстрого поиска
Поддерживаемые языки
TypeScript, JavaScript, Python, Java, Kotlin, C#, Go, Rust, PHP, Ruby, Swift, C, C++, Dart — всего 14 языков с разной глубиной поддержки (импорты, наследование, типы, конструкторы, фреймворки).
Ключевые технологии
- Tree-sitter для парсинга (нативные биндинги в CLI, WASM в браузере)
- LadybugDB для хранения графа (нативная в CLI, WASM в браузере)
- HuggingFace transformers.js для эмбеддингов (GPU/CPU)
Docker
docker compose up -d
Запускает сервер на localhost:4747 и Web UI на localhost:4173. Образы подписаны Cosign с проверкой цепочки поставок.
Wiki-генерация
gitnexus wiki
Генерирует документацию из графа знаний с помощью LLM. Поддерживает выбор модели и языка: gitnexus wiki --model gpt-4o --lang russian.
Ссылки
- Репозиторий: github.com/abhigyanpatwari/GitNexus
- Web UI: gitnexus.vercel.app
- npm:
npm install -g gitnexus - Документация: ARCHITECTURE.md, RUNBOOK.md