arbor

arbor

Anandb71MIT
122 звёзд19 форков
Arbor — это слой графового интеллекта для кода. Он строит семантический граф зависимостей и даёт AI-ассистентам точные ответы на вопросы о том, что изменится в коде. Разработчики добавляют Arbor в MCP-клиент и сразу получают инструмент для анализа связей между функциями, классами и модулями. В отличие от простого поиска по тексту Arbor использует дерево разбора (AST) и резолвинг символов. Он понимает, как на самом деле элементы кода связаны друг с другом. Это помогает командам уменьшить поломки от изменений и быстрее разбираться в чужом коде. Arbor работает с восемью языками включая Rust, Python, JavaScript, TypeScript, Go, Java, C и C++.

Характеристики

Общее

  • СтатусСообщество
  • РазработчикAnandb71
  • ЛицензияMIT

Технологии

  • Языки
    Rust

Описание

Возможности

  • Строит семантический граф зависимостей для кода на 8 языках: Rust, Python, JavaScript, TypeScript, Go, Java, C, C++.
  • Отвечает, какие символы сломаются, если изменить конкретный элемент.
  • Находит всех прямых и транзитивных вызывающих заданной функции, класса или переменной.
  • Вычисляет кратчайший архитектурный путь между двумя узлами графа.
  • Интегрируется с CI-пайплайнами, запуская только те проверки, которые действительно нужны после каждого коммита.
  • Работает по протоколу MCP с любыми AI-ассистентами: Claude Desktop, VS Code, другие поддерживающие MCP клиенты.
  • Предоставляет CLI-инструмент для локального запуска и визуального исследования графа.
  • Определяет минимальный набор тестов для запуска на основе изменённых файлов (git-aware анализ).

Как подключить

  1. Установите CLI-инструмент Arbor через менеджер пакетов. Самый быстрый способ — Cargo: cargo install arbor-graph-cli Альтернативно: npm, brew или Docker-образ из GHCR.
  2. Настройте MCP в конфигурации Claude Desktop. Откройте файл claude_desktop_config.json и добавьте секцию: { "mcpServers": { "arbor": { "command": "arbor", "args": ["mcp"] } } } Убедитесь что командой arbor доступен в PATH.
  3. Перезапустите Claude Desktop. После перезапуска сервер будет доступен для всех запросов об анализе кода.

Примеры запросов

  • «Покажи что сломается если я изменю функцию authenticate_user в файле auth.rs.»
  • «Найди всех прямых и косвенных вызывающих для метода PaymentProcessor.process() в проекте.»
  • «Какой самый короткий путь от модуля database до модуля api в графе зависимостей?»
  • «Какие тесты нужно запустить если я поменяю протокол шифрования в Crypto.new

Технические детали

Язык: Rust

Транспорт: stdio (MCP-протокол)

Лицензия: MIT

Совместимые клиенты: Claude Desktop, VS Code с MCP-расширениями, любые приложения поддерживающие протокол MCP.

Поделиться