codemap CLI

Считает, какие файлы импортируют друг друга и что заденет правка, и отдает это агенту через хуки, MCP и команду codemap

  • 704 ★ репозитория
  • Последний коммит
  • MIT
CLI

Расширенный доступ

Почему такой уровень

  • Команда `codemap setup` дописывает хуки в настройки Claude Code и Codex, а хуки запускают бинарник при каждой сессии и правке
  • Фоновый наблюдатель и HTTP API на 127.0.0.1 держат состояние графа, а команда с адресом GitHub или GitLab клонирует чужой репозиторий во временную папку
  • Проверка `codemap doctor` в стороннем репозитории запускает путь из его локального конфига, о чем предупреждает разработчик
Все причины и проверки

jordancoin/codemap

Установка

Работает в

Ручная установка

brew tap JordanCoin/tap && brew install codemap

macOS и Linux. В Windows: scoop bucket add codemap https://github.com/JordanCoin/scoop-codemap, затем scoop install codemap.

Доступ и проверки

Как мы проверяем

Расширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.

  • Команда `codemap setup` дописывает хуки в настройки Claude Code и Codex, а хуки запускают бинарник при каждой сессии и правке
  • Фоновый наблюдатель и HTTP API на 127.0.0.1 держат состояние графа, а команда с адресом GitHub или GitLab клонирует чужой репозиторий во временную папку
  • Проверка `codemap doctor` в стороннем репозитории запускает путь из его локального конфига, о чем предупреждает разработчик

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

codemap строит для агента карту репозитория и граф импортов. Агент и так видит, что написано в файле, но не видит, кто от него зависит: это следует из go.mod, членства в рабочем пространстве Cargo, карт экспорта в package.json и алиасов tsconfig. codemap разбирает их по правилам каждой экосистемы. Команда `codemap .` показывает дерево с главными файлами, `codemap --importers config/config.go` перечисляет зависящие от файла, а `codemap find "запрос"` ранжирует файлы по совпадению пути и символов и подписывает число импортирующих. Каждый ответ о зависимостях заканчивается строкой о покрытии: «complete», «partial» или «unavailable», с названием источника, которому нельзя доверять. Поэтому «ничто не импортирует этот файл» и «не удалось определить» читаются по-разному. Если сканирование завершилось по таймауту или с ошибкой, codemap возвращает пустой результат с пометкой источника. Команда `codemap setup` подключает все это к Claude Code и Codex: создает `.codemap/config.json` с языковыми фильтрами, дописывает хуки в `.claude/settings.local.json` и `.codex/hooks.json` и регистрирует MCP в `.mcp.json` и `.codex/config.toml`. Хуки дают контекст в начале сессии, перед правкой и при сжатии, а MCP-сервер с 19 инструментами запускается командой `codemap mcp` и подходит любому клиенту.

Для кого. Для разработчиков, у которых агент правит большие репозитории на Go, Rust, TypeScript, Python и других языках и должен знать заранее, какие файлы заденет изменение.

Подходит, если

  • Агент собирается переименовать или переместить файл, который импортируют десятки других, и нужно показать ему список зависимых командой `codemap --importers`
  • Перед ревью нужен единый отчет об изменениях: `codemap blast-radius --ref main .` собирает разницу с основной веткой, зависимости и импортирующие файлы в Markdown или JSON
  • Агент каждый раз начинает сессию с нуля, и ему нужен дешевый обзор структуры: дерево с пометкой главных файлов на старте
  • Несколько pull request ждут слияния, и `codemap collide` ранжирует их по опасности конфликтов из-за общих файлов
  • Работа переходит между Claude Code, Codex и Cursor, и `codemap handoff` сохраняет, кто и какие файлы правил

Не подходит, если

  • Нужен семантический поиск по смыслу: `codemap find` работает только по совпадению путей и символов и сам об этом сообщает
  • Репозиторий маленький, и агент справляется с чтением нескольких файлов без графа
  • Нужно выполнить или протестировать код: codemap читает исходники и импорты, но программу не запускает
  • Нужен анализ языка, которого нет среди 21 правила разбора зависимостей: для таких файлов граф останется неполным

Пример запроса к агенту

Прежде чем менять config/config.go, выясни через codemap, какие файлы его импортируют, и скажи, насколько широко заденет правка

Ограничения

  • Разбор зависимостей опирается на сторонний анализатор ast-grep. Homebrew ставит его сам, а в архиве релиза лежит только codemap: для CI нужен отдельный анализатор или сборка codemap-full.
  • Если свежего графа нет, число импортирующих файлов в контексте остается пустым, а оценка опасности правки помечена unknown, чтобы не выдавать догадку за факт.
  • После обновления бинарника интеграции с агентами остаются прежними, пока вы не обновите их вручную: выполните `codemap setup` в каждом проекте, а для Codex один раз `codemap plugin install`.
  • `codemap doctor` проверяет исполняемые файлы, которые записаны в локальном конфиге проекта. Разработчик предупреждает, что в чужом репозитории такая проверка запускает выбранный им путь.

Как отключить. Уберите блок codemap из `.mcp.json` и `.codex/config.toml`, а хуки codemap из `.claude/settings.local.json` и `.codex/hooks.json`. Папку `.codemap` в проекте можно удалить. Фоновый наблюдатель включается отдельно командой `codemap watch start`, завершите его процесс, если запускали. Сам бинарник удаляется командой `brew uninstall codemap` или `scoop uninstall codemap`.

Частые вопросы

Как подключить codemap к Claude Code?

Поставьте программу через Homebrew или Scoop и выполните `codemap setup` в корне git-репозитория. Команда создаст конфиг проекта, допишет хуки в настройки Claude Code и зарегистрирует MCP. Только для Claude добавьте флаг `--agent claude`, а проверит подключение `codemap doctor`.

Что значит строка Coverage: «partial» в ответе codemap?

Статус показывает, насколько полно codemap подтверждает ответ: «complete», «partial» или «unavailable». При «partial» часть источников, например Cargo-манифесты, разобрана запасным способом, а нерешенные импорты перечислены в списке проблем. Если ответ пустой с «partial», нельзя считать, что файл никто не импортирует.

Как узнать, что сломается, если изменить файл?

Выполните `codemap --importers путь/к/файлу`: программа перечислит зависимые файлы и пометит файл как HUB FILE, если его импортируют три и более файлов. Полный отчет для ревью даст `codemap blast-radius --ref main .`, с флагом `--json` он выводится одним объектом JSON.

Какие языки поддерживает codemap?

Для анализа зависимостей подключено 21 правило разбора: Go, Python, JavaScript, TypeScript, Rust, Ruby, C, C++, Java, Swift, Dart, Kotlin, C#, PHP и другие. Для Go, Rust, JS/TS и Dart импорты разрешаются по правилам экосистемы, а для остальных — по суффиксам и каталогам.

Можно ли разобрать чужой репозиторий с GitHub?

Да, укажите адрес вместо пути, например `codemap github.com/user/repo`. Программа поверхностно клонирует репозиторий во временную папку и удаляет ее после работы. Если копия уже есть на диске, берется она. Флаги ставятся до адреса.

Обсуждение

Вопросов и отзывов пока нет.

codesight за один запуск собирает карту проекта: маршруты, модели БД, зависимости, env-переменные. Отдает ее агенту файлами или через MCP-сервер

MCP-серверРасширенный доступ1,4 тыс.Звезды репозитория

Локальный граф структуры кода: строит карту репозитория через tree-sitter и отдает агенту по MCP только тот контекст, который относится к правке

MCP-серверРасширенный доступ32,5 тыс.Звезды репозитория

CodeGraph на Rust

codegraph-rust

Граф кода для агента на Rust: четыре MCP-инструмента показывают, что заденет правка, как устроена архитектура и где хрупкие места проекта

MCP-серверРасширенный доступ908Звезды репозитория

MCP-сервер дает агенту граф кода репозитория: поиск функций по смыслу, связи символов и список мест, которые заденет правка

MCP-серверРасширенный доступ402Звезды репозитория

Режимы работы для ИИ-агента: облегченный на каждый день и /man с планом, проверкой и ревью для крупных задач

CLIШирокий доступ359Звезды репозитория

MCP-сервер и CLI на Go: агент ведет в репозитории индекс кода и схемы базы, хранит его в Git и читает целиком перед каждой задачей

MCP-серверШирокий доступ1,8 тыс.Звезды репозитория

Сравнение с похожими

Записи с тем же главным запросом: чем они отличаются.

ЗаписьОфициальныйАвторизацияЗвезды репозиторияГлавное отличие
codemap (эта запись)нет704
CodeGraphнетне нужна75 798локальный граф кода для MCP с точками входа и связями символов, без хуков и передачи работы между агентами
GitNexusнетне нужна48 101индексирует код в граф знаний и дает связи вызовов через MCP, а покрытие ответа не помечает

Коротко о README

Страница репозитория начинается с трех команд для первой минуты агента: поставить программу, выполнить setup и запустить MCP. Затем объясняется, зачем нужен граф зависимостей, и показан контракт покрытия с примером ответа в JSON. Дальше идут установка, правила разбора для Go, Rust, JS/TS и Dart, полный список команд и флагов и режимы разницы с веткой, потока зависимостей, радиуса влияния и «городского горизонта». В конце описаны хуки, 19 инструментов MCP, настройка проекта, встроенные скиллы, протокол контекста, HTTP API и передача работы между агентами.

Бейдж для README

Сообщить о проблеме

Foxx AIcodemap
Foxx AI

Я Foxx AI и уже разобрал этот инструмент. Спросите про установку, настройку или что угодно еще, отвечу простыми словами.