GitNexus — движок интеллекта кода без сервера

· 1 мин чтения
knowledge-graph mcp ai-agents cli
📂 Исходный код на GitHub

Индексирует кодовую базу в граф знаний — зависимости, цепочки вызовов, кластеры и потоки выполнения — и отдаёт через MCP-инструменты, чтобы AI-агенты не упускали код

GitNexus — движок интеллекта кода без сервера

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 Да Да

Архитектура

Индексация проходит в несколько фаз:

  1. Структура — обход файлового дерева, маппинг связей
  2. Парсинг — извлечение функций, классов, методов через Tree-sitter AST
  3. Разрешение — резолв импортов, вызовов, наследования, типов
  4. Кластеризация — группировка символов в функциональные сообщества (алгоритм Leiden)
  5. Процессы — трассировка потоков выполнения от точек входа
  6. Поиск — гибридный индекс для быстрого поиска

Поддерживаемые языки

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.

Ссылки

Источник: https://github.com/abhigyanpatwari/GitNexus