Меняете 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. Данные по умолчанию не уходят с машины — удобно для приватных репо.
Для этого заказа фиксированный порядок:
codegraph_context— пакет задачи: Controller, DTO, вход API на фронте (без @ путей)codegraph_trace— Spring:OrderController.create→OrderMapper.insertcodegraph_impact— отOrderDTO.amountк Java + Vue + storecodegraph_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–6 | impact — фронт и бэк вместе |
Официальный 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 context → trace → impact выравнивает список фронт/бэк для DTO; разведка падает с десятков grep до нескольких структурированных запросов.
Рутина: init → impact (до DTO) → правки по списку → тесты. Обзоры концепций, Claude Code на огромных репо, Cloud Mac — серией; ссылки ниже.