Как я переписал проект за неделю вместо трёх месяцев

Как я переписал проект за неделю вместо трёх месяцев

Год назад у меня был legacy-проект с одним main.go на две тысячи строк. MVP: бизнес-логика, конфиг, хэндлеры, БД - всё в одном файле. Три месяца в Cursor, аккуратно, по кусочкам, с тестами на коленке, я вытянул это в нормальную структуру.

А недавно я сел переписывать другой свой проект такого же масштаба. Claude Code, Opus, три субагента-ревьювера, тридцать скилов. Неделя. И это я ещё половину времени потратил на BDD, потому что поверх всего накатывал реализацию на godog.

Почему терминал, а не плагин

Первое, что надо сделать человеку, который всё ещё сидит в Cursor или KiloCode: открыть терминал и запустить там Claude Code.

Контекст это всё

Главный ресурс при работе с Claude Code - это контекстное окно.

Skills, декомпозиция правил

Скил в Claude Code устроен просто. Это отдельная папка внутри .claude/skills/, в ней SKILL.md с фронтматтером.

Субагенты-ревьюверы

У меня три субагента: dod-reviewer, test-reviewer, bdd-reviewer.

Эталонный проект

У меня есть проект budva, сервис пересылки сообщений в Telegram на TDLib, написанный на Go.

BDD и Claude, идеальная пара

Картинка про качели: заказчик, аналитик, дизайнер и разработчик видят один и тот же проект абсолютно по-разному, и на выходе получается франкенштейн.

Тулчейн level85

Все мои проекты лежат на одном уровне каталога: ~/pure-golang/level85/, ~/pure-golang/budva/, ~/pure-golang/geo/, и так далее.

Полезные команды и режимы модели

Есть одна фраза, которая у меня работает надёжно: “разбей задачу на граф зависимостей и выполняй параллельно”.

Практические наблюдения

Первое желание при рефакторинге: “создам новый репо и туда перенесу”.

Заключение

Что можно сделать сегодня:

  1. Поставить Claude Code в терминале, под Warp.
  2. Взять свой самый большой CLAUDE.md и разделить на три-пять скилов по темам.
  3. Добавить префикс x- к именам скилов.
  4. Написать в скилах командами в повелительном наклонении.
  5. Запустить /context и посмотреть, куда уходит контекст.
  6. Включить кастомный statusline, чтобы видеть расход лимитов в реальном времени.
  7. Попробовать /model opusplan как дефолт для ежедневной работы.
Читать оригинал