Результат: после этого workflow вы сможете безопасно провести первый или очередной цикл рефакторинга legacy-кода в Cursor: от индексации репозитория и фиксации правил проекта до многофайловых правок, review diff и проверки тестами.
- Время: автоиндексация обычно занимает 1–15 минут; полный цикл зависит от размера репозитория и набора тестов.
- Сложность: средний.
- Стоимость: по официальной странице на 2026-08-15 указаны Hobby Free, Pro $20/мес. и Teams $40/пользователь/мес.; Cursor Start отдельно объявлен только для Индии по ₹649/мес. Покупка доступна только через официальный сайт Cursor, налоги могут начисляться отдельно. Доступность функций и тарифов проверяйте на live-страницах.
- Что потребуется: установленный Cursor, открытый legacy-репозиторий, Git-история, существующий способ запускать тесты проекта, время на индексацию и понимание безопасного объема изменений.
- Актуальная версия: официальный workflow Cursor и документация по состоянию на 2026-08-15; номер desktop-версии в источниках не указан, поэтому интерфейс сверяйте по live-docs.
Практический вердикт: для legacy-кода в Cursor лучше всего работает не запрос «перепиши всё», а короткий цикл: дождаться indexing, задать Project Rules, составить план в Plan Mode, применить один срез изменений через Agent, затем принять правки через Diffs & Review и прогнать тесты. Редакционное ограничение: в source pack нет точного номера desktop-версии Cursor и полного примера CLI-команды, поэтому эти детали нужно перепроверять в день публикации.
Пошагово: как рефакторить legacy-код с Cursor
-
Откройте репозиторий в Cursor и дождитесь завершения indexing. Cursor автоматически начинает indexing при открытии проекта. Официальная installation page указывает, что процесс обычно занимает около 1–15 минут в зависимости от размера проекта, а прогресс можно проверить в
Settings → Indexing & Docs. Не начинайте архитектурный обзор и тем более multi-file refactor до завершения индексации.Ожидаемый результат: индекс завершен, Cursor видит структуру codebase и может отвечать по релевантным файлам, а не только по текущей вкладке. Если рефакторинг затрагивает несколько репозиториев, workshop отдельно рекомендует multi-root workspaces.
-
Зафиксируйте правила проекта до первого изменения. Официальные Project Rules хранятся в
.cursor/rules, версионируются и scoped к codebase. Файл.cursorrulesуказан как legacy/deprecated, поэтому не стройте новый workflow вокруг него. Если вам нужен более простой старт, документация также поддерживаетAGENTS.mdкак альтернативу.Для legacy-кода полезно сразу записать ограничения: какие публичные API нельзя ломать, какие директории трогать нельзя, какой стиль тестов обязателен, какие команды считать авторитетной проверкой.
# AGENTS.md - Preserve existing public API unless the plan explicitly says otherwise. - Prefer behavior-preserving refactors. - Edit only files approved in the plan. - Add or update regression tests before replacing old paths. - Stop and report if tests fail after changes.Ожидаемый результат: у Agent появляется явный набор guardrails, а у вас — версионируемая спецификация рефакторинга внутри репозитория.
-
Запустите Plan Mode и попросите сначала составить план, а не код. В официальном описании Plan Mode сказано, что он сначала исследует codebase, находит релевантные файлы, просматривает документацию и задает уточняющие вопросы. Запуск —
Shift+Tabв полеAgent. Для legacy-систем это безопаснее, чем сразу просить «сделай рефакторинг».Plan a behavior-preserving refactor for @Folders src/legacy and @Files tests/. Use @Docs and @Cursor Rules. Constraints: 1. Do not change public API. 2. List exact files to inspect and edit. 3. Propose regression tests first. 4. Mark risky assumptions and unanswered questions.Не пропускайте уточняющие вопросы. Если агент спрашивает о контракте API, слоях инфраструктуры или допуске на renaming, ответьте до перехода к редактированию.
Ожидаемый результат: вы получаете список файлов, последовательность шагов, риски и тестовую стратегию вместо общего и плохо проверяемого ответа.
-
Уточните контекст через @symbols, чтобы план не оторвался от реального проекта. В Cursor есть контекстные символы
@Code,@Docs,@Git,@Cursor Rules,@Files,@Folders,@Webи@Recent Changes. Для legacy-рефакторинга практично подмешивать минимум три слоя: текущий код, проектные правила и историю изменений.Use @Code, @Git, @Recent Changes and @Cursor Rules. Explain which files are tightly coupled, which interfaces look stable, and where a safe first extraction can happen without changing behavior.Если у вас длинная сессия, официальный workshop рекомендует свежие чаты + git diffs. На практике это означает: после крупного куска правок откройте новый чат и заново привяжите его к
@Git,@Recent Changesи правилам проекта, вместо того чтобы тянуть контекст на десятки сообщений.Ожидаемый результат: план и дальнейшие изменения опираются на актуальные файлы, документацию и git-контекст, а не на устаревшую память длинного диалога.
-
Переключитесь в Agent mode и примените только один согласованный срез изменений. Документация по modes говорит, что
Agentможет автономно исследовать codebase, редактировать несколько файлов, запускать команды и исправлять ошибки, тогда какAskработает в режиме read-only. Для legacy-кода это означает простой выбор: исследование и ревью гипотез — через Ask или Plan Mode, фактическое внесение правок — через Agent.Implement only step 1 from the approved plan. Use @Code and @Cursor Rules. Touch only the listed files. After edits, stop for review and do not continue to unrelated cleanup.Не объединяйте в один проход rename, extraction, перенос слоев, чистку импорта и переписывание тестов по всему репозиторию. Чем уже срез, тем легче review и откат.
Ожидаемый результат: Cursor предлагает ограниченный набор изменений по согласованным файлам, а не разливает рефакторинг на всю codebase.
-
Проверьте каждое изменение через Diffs & Review до применения. Официальный интерфейс
Diffs & Reviewпоказывает добавления и удаления и позволяет принимать или отклонять изменения по файлам до применения. Это обязательный этап для legacy-рефакторинга: именно здесь вы отсекаете лишние renaming, спорные импорты и «косметические» правки, которые не были частью плана.Сверяйте diff с тем, что было утверждено на этапе плана: список файлов, границы API, миграционный шаг и тестовое покрытие. Если сессия получилась длинной, откройте свежий чат и попросите Cursor кратко резюмировать diff через
@Gitи@Recent Changes.Ожидаемый результат: применяются только те изменения, которые вы можете объяснить по файлам и по назначению.
-
Добавьте или обновите тесты и запустите проверку поведения. В workshop по legacy refactor отдельно рекомендованы dual-write patterns и тесты для проверки поведения. Quickstart также показывает, что Agent может создать тестовый файл, написать test cases и запустить их. Практически это означает два безопасных сценария: либо сначала зафиксировать текущее поведение регрессионными тестами, либо временно держать старый и новый путь рядом и сравнивать результат тестами.
Add regression tests for the current behavior before further refactoring. Use the existing test framework from this repository. Stop after generating tests and list any failing cases.Если у вас уже есть авторитетная команда тестов, поручите Agent запустить именно ее; если тестовый контур слабый, хотя бы зафиксируйте критичные входы/выходы вокруг тех модулей, которые меняете.
Ожидаемый результат: у вас есть проходящий набор тестов или точный список падений, который показывает, где рефакторинг изменил поведение.
-
При необходимости вынесите валидацию в CLI-проход. В документации Cursor CLI указано, что для структурированного результата в режиме
--printиспользуется--output-format json. Это полезно, если вы хотите воспроизводимо проверять refactor или code review вне IDE. Однако в этом source pack нет полного примера вызова CLI, поэтому точную команду сверяйте с актуальной страницей CLI перед автоматизацией.Ожидаемый результат: у вас есть путь к повторяемой машинной валидации, но без риска копировать устаревший синтаксис команды из вторичного источника.
Как проверить, что всё работает
-
Откройте
Diffs & Reviewи убедитесь, что изменены только те файлы, которые были согласованы в плане. -
Запустите существующие тесты проекта. Минимальный ожидаемый результат — тот же статус, который был до рефакторинга, либо точный список новых падений, связанных только с затронутым срезом.
-
Если вы применяли dual-write подход, сравните поведение старого и нового пути тестами до удаления старой ветки кода.
-
Откройте свежий чат и попросите Cursor через
@Gitи@Recent Changesкратко перечислить измененные файлы и цели правок. Список должен совпадать с утвержденным планом. -
Если рефакторинг был многофайловым, проверьте, что публичный API и внешние точки интеграции не изменились без отдельного решения на этапе плана.
Частые ошибки и исправления
-
❌ Ошибка: начинать обзор архитектуры сразу после открытия большого репозитория.
✅ Решение: дождитесь завершения indexing и проверьте прогресс вSettings → Indexing & Docs. По официальной документации это обычно занимает 1–15 минут. -
❌ Ошибка: продолжать использовать
.cursorrulesкак основной файл правил для нового проекта.
✅ Решение: перенесите правила в.cursor/rulesили используйтеAGENTS.mdкак простую альтернативу. В документации.cursorrulesпомечен как legacy/deprecated. -
❌ Ошибка: просить Agent «полностью очистить legacy» без плана и границ.
✅ Решение: сначала запустите Plan Mode, получите список файлов, рисков и тестов, а затем применяйте только один согласованный миграционный шаг. -
❌ Ошибка: принимать все правки пакетом без пофайлового review.
✅ Решение: используйтеDiffs & Reviewи отклоняйте всё, что не входит в текущий срез: лишние renaming, косметические перестановки и несогласованные изменения API. -
❌ Ошибка: пытаться вести длинный рефакторинг в одном бесконечном чате и терять контекст.
✅ Решение: переходите в свежие чаты и заново привязывайте контекст через@Git,@Recent Changes,@Docsи правила проекта.
Безопасность и ограничения
-
Agent умеет не только читать, но и редактировать несколько файлов и запускать команды. Для чувствительных веток и legacy-систем не пропускайте ручной review diff перед применением.
-
Для безопасного исследования используйте Ask mode. По официальной документации он работает в read-only режиме и подходит, когда вы хотите сначала понять зависимости, а не менять код.
-
Доступность функций может отличаться по релизам, планам и регионам. Source pack прямо предупреждает, что docs быстро меняются, а доступность Plan Mode и связанных функций нужно сверять на live-страницах перед публикацией и перед внедрением workflow в команду.
-
Тарифы и биллинг тоже меняются. Официальная pricing page указывает текущие публичные планы, pricing policy — правила биллинга и налогов, а Cursor Start опубликован как отдельное региональное предложение только для Индии.
-
Ограничение этой инструкции: здесь нет полного проверенного примера CLI-команды и нет точного номера desktop-версии Cursor в источниках, поэтому автоматизацию через CLI и мелкие UI-детали валидируйте отдельно по официальной документации.
Что делать дальше
-
Если IDE у вас еще не подготовлена, пройдите инструкцию как настроить Cursor с нуля: установка, импорт профиля и базовая рабочая среда.
-
Если хотите поменять модельный стек внутри IDE, посмотрите руководство как подключить Claude в Cursor.
-
Если после рефакторинга вы выносите часть логики в агентские процессы, пригодится инструкция как настроить агента в n8n с ИИ.
Источники
- Cursor · Refactoring Legacy Codebases
- Introducing Plan Mode · Cursor
- Cursor – Modes
- Cursor – Rules
- Cursor – Overview
- Cursor – Diffs & Review
- Cursor – Installation
- Cursor – Quickstart
- Cursor · Pricing
- Cursor Start · Cursor
- Cursor · Pricing Policy
- Cursor – Output format
Вопросы и ответы
Можно ли сначала только исследовать legacy-код без правок?
Да. Для этого используйте Ask mode, который в официальной документации описан как read-only, и Plan Mode, который сначала исследует codebase, документацию и задает уточняющие вопросы.
Где хранить правила проекта для такого рефакторинга?
Основной вариант — .cursor/rules. Документация указывает, что правила там версионируются и scoped к codebase. .cursorrules помечен как legacy/deprecated, а AGENTS.md поддерживается как простая альтернатива.
Как включить Plan Mode в Cursor?
Официальный запуск — Shift+Tab в поле Agent.
Как понять, что Cursor готов работать по всей codebase?
Дождитесь окончания indexing. По installation guide это обычно занимает 1–15 минут в зависимости от размера проекта. Прогресс можно проверить в Settings → Indexing & Docs.
Нужен ли платный тариф для legacy-рефакторинга?
В официальном pricing на 2026-08-15 перечислены Hobby Free, Pro и Teams, а Cursor Start вынесен отдельно только для Индии. Но source pack отдельно предупреждает, что доступность функций и региональные условия могут меняться, поэтому проверяйте live pricing page и changelog перед покупкой.