Cursor и Claude Code подключаются к CodeGraph через MCP для цепочек Vue и Spring Boot

Меняете API в Cursor или Claude Code, бэкенд смержили, фронт забыли — знакомая картина. В статье только три вопроса: почему пропускают, как выглядит реальный кейс, как помогает CodeGraph. Стек Vue 3 + Spring Boot в раздельных каталогах; инструмент — CodeGraph через MCP.

Итог: перед изменением OrderDTO.amount запустите codegraph_impact — Java Service, Vue createOrder и Pinia store в одном списке; именно этот круг агенты чаще всего пропускают.

Почему Cursor пропускает фронт

Пропуски редко из‑за «модель не умеет кодить». AI Coding плохо видит ссылки через каталоги и языки. В Vue + Spring Boot обычно хватает трёх причин:

1. Окно контекста: только открытый файл

@-файлы Cursor и Read в Claude Code ограничены. Агент смотрит на OrderController.java и не знает, что frontend/src/api/order.ts использует то же поле DTO. Новый чат, новая ветка — «что уже меняли» теряется (хуже вместе с забыванием Cursor на неделях).

2. grep: строка есть, вызовов нет

Разведка через grep. Поиск amount даёт логи, тесты, мёртвые константы — не кто вызывает OrderService.createOrder и какой handler у @PostMapping. Токены уходят на «найти вход», а не на «исправить весь радиус».

3. Нет impact: один файл починили, десять забыли

Люди спрашивают: если поменять поле, что ещё сломается? Без структурированного impact агент «заканчивает Java», TypeScript, Pinia и тесты уезжают «на потом» — кажется, один диалог, на деле два раунда долга.

Нужен не всегда больший модель, а запросы к графу вызовов, рёбрам, точкам входа маршрутов. Ниже — заказной API.

Кейс: OrderDTO.amount

Задача: в POST /api/orders поле amount с number на string (крупные суммы, форматированные строки). Репо: backend/ (Controller → Service → OrderDTO), frontend/ (api/order.ts → Pinia → страница заказа).

Без CodeGraph: что Cursor / Claude Code часто пропускают

Только описание задачи, без @ файлов. Типичный результат:

  • ✅ обновили OrderDTO.java, OrderService
  • ❌ типы payload в frontend/src/api/order.ts для createOrder
  • ❌ маппинг amount в useOrderStore
  • v-model на странице заказа всё ещё с числовой валидацией

mvn compile может пройти, pnpm build иногда тоже — ломается на стыковке или в проде. Это «API поменяли, фронт забыли».

Для сравнения: список impact (фрагмент)

codegraph_impact
  symbol: "OrderDTO.amount"

→ OrderService.createOrder
→ OrderController.create
→ frontend/src/api/order.ts :: createOrder
→ stores/order.ts :: useOrderStore

Последняя строка — Pinia, которую grep чаще всего не находил. Работа по списку в Cursor / Claude Code снижает пропуски.

Как CodeGraph показывает impact

CodeGraph индексирует локально (Tree-sitter, Java / TS / Vue script), пишет рёбра вызовов в .codegraph/, отдаёт codegraph_* через MCP. Данные по умолчанию не уходят с машины — удобно для приватных репо.

Для этого заказа фиксированный порядок:

  1. codegraph_context — пакет задачи: Controller, DTO, вход API на фронте (без @ путей)
  2. codegraph_trace — Spring: OrderController.createOrderMapper.insert
  3. codegraph_impact — от OrderDTO.amount к Java + Vue + store
  4. codegraph_explore — только связанные методы, не весь Service на 800 строк

Если между HTTP-путём и строкой axios нет symbol-рёбер, impact от DTO всё равно дотягивается до фронта — «лучше ожиданий» в этом кейсе. Сравнение инструментов: граф знаний кода; установка ниже.

В AGENTS.md: перед DTO обязателен codegraph_impact, перечислить frontend/src/api и Pinia — надёжнее фразы «не забудь фронт».

Установка (~5 мин)

В корне репо с frontend/ + backend/ (macOS):

curl -fsSL https://raw.githubusercontent.com/colbymchenry/codegraph/main/install.sh | sh
# или: npx @colbymchenry/codegraph

codegraph install --target=cursor --yes
cd /path/to/your-repo
codegraph init -i
codegraph status

Первый полный индекс: ~10–20 минут по размеру; исключить node_modules, target, dist. Сохранение — debounce ~2 с; при ⚠️ Pending sync агенту Read исходника.

Сравнение

ПодходВызовы инструментов (та же задача, субъективно)Фронт в списке?
только grep + Read~15+часто нет Pinia / API
сначала CodeGraph MCP~5–6impact — фронт и бэк вместе

Официальный Java-бенч (OkHttp ~645 файлов): медиана 10→3 (2026-05-29). На Vue + Spring ощущение похоже — меньше половины разведки. Граф не заменяет тесты — перед merge mvn test + pnpm test:unit.

Где индексировать большие репо

Первый codegraph index: высокая CPU, записи SQLite, кулер на максимум — параллельно IDEA собирает Spring, pnpm build Vue, и Cursor MCP тормозит.

Клон + полный индекс + плановые пересборки часто на Mac mini, CI или Cloud Mac; ноутбук — только код и MCP. Я индексирую на M4 Macstripe посуточно, вразнос с локальной сборкой; worktree — FAQ корпоративного Mac CI.

«CodeGraph на Cloud Mac» — отдельная статья; здесь лишь: разделить индекс и интерактив — стабильнее.

Итог

Cursor пропускает фронт при смене API, когда сходятся узкий контекст + grep без вызовов + нет impact. В Vue + Spring Boot MCP CodeGraph contexttraceimpact выравнивает список фронт/бэк для DTO; разведка падает с десятков grep до нескольких структурированных запросов.

Рутина: init → impact (до DTO) → правки по списку → тесты. Обзоры концепций, Claude Code на огромных репо, Cloud Mac — серией; ссылки ниже.

Читать дальше