Главная / 🔄 Workflow

🔄 Workflow разработки

Spec-driven development с Claude Code: от идеи до смёрджённого PR. Brainstorm → Spec → Plan → Worktree → Execute → Review → Merge.

🗺️ Полный цикл новой фичи

1
Brainstorm — обсудить идею
Запустить skill brainstorming. Claude задаёт уточняющие вопросы, предлагает 2-3 подхода, помогает выбрать. Обязателен для задач > 5 файлов.
/brainstorm
2
Spec — зафиксировать дизайн
Claude сохраняет согласованный дизайн в docs/superpowers/specs/YYYY-MM-DD-feature-design.md. Это точка истины для реализации.
docs/superpowers/specs/2026-05-08-payments-design.md
3
Plan — детальный план реализации
Spec-driven план с пошаговыми задачами (2-5 минут каждая). Чекбоксы для отслеживания прогресса. Claude сохраняет в docs/superpowers/plans/.
/write-plan
4
Git Worktree — изолированная ветка
Работа в отдельном worktree чтобы не ломать основную ветку. Можно вести несколько задач параллельно.
git worktree add E:/Clients/wt/payments feat/payments main
5
Execute — реализация по плану
Запустить Claude в worktree. Работать пошагово по чекбоксам плана. TDD: тест → реализация → рефакторинг.
cd E:/Clients/wt/payments && claude
6
Review — проверка кода
Code review через Claude. Проверка соответствия spec, стандартов кода, тестов. Все тесты должны быть зелёными.
/request-code-review
7
Merge — слияние в main
PR → squash merge → удалить worktree. Коммит должен быть атомарным — одна фича, один PR.
git worktree remove E:/Clients/wt/payments

🌿 Git Worktrees — параллельная работа

Worktrees позволяют работать над несколькими задачами одновременно, не переключая ветки в основной рабочей директории.

# Создать worktree для фичи payments (от main): git worktree add E:/Clients/wt/payments feat/payments main # Открыть Claude Code в worktree: # cd E:/Clients/wt/payments && claude # Список активных worktrees: git worktree list # Удалить worktree после merge: git worktree remove E:/Clients/wt/payments # Структура параллельных задач: E:\Clients\wt\ ├── payments\ ← feat/payments (активный) ├── auth-fix\ ← fix/auth-bug (активный) └── refactor-api\ ← refactor/api-v2 (в ревью)
💡
Каждый worktree — отдельный Claude Code процесс. Запускай claude в каждой папке независимо. Они не мешают друг другу, у каждого свой контекст.

📝 TDD — Test Driven Development

# Цикл RED → GREEN → REFACTOR: # 1. RED — написать тест который не проходит: # Claude пишет тест для PaymentService::create() ./vendor/bin/pest tests/Feature/PaymentTest.php # FAIL ← ожидаем! # 2. GREEN — написать минимальную реализацию: # Claude пишет PaymentService::create() ./vendor/bin/pest tests/Feature/PaymentTest.php # PASS ← цель! # 3. REFACTOR — улучшить код: # Claude рефакторит Service, тест должен оставаться зелёным ./vendor/bin/pest tests/Feature/PaymentTest.php # PASS ← всё ещё!
Правило из CLAUDE.md: перед PR все тесты должны быть зелёными. Если Claude говорит "всё работает" — запроси реальный output: "Запусти ./vendor/bin/pest и покажи вывод".

🎓 Советы экспертов — что работает

Выжимка из блогов Boris Cherny (создатель CC), Geoffrey Huntley, Armin Ronacher, Mitchell Hashimoto, Steve Yegge, Harper Reed — люди с реальными проектами 50k–500k строк.

1
Верификация — главное (Anthropic, Yegge)
«Дай Claude способ проверить свою работу» — единственная вещь с наибольшим leverage. Тесты, lint, реальный bash-вывод. Никогда не доверяй «100% successful» без proof.
./vendor/bin/pest | pytest -v | npm test — запрашивай реальный output
2
Harper Reed: Idea → Spec → Plan → Execute
Сначала Socratic-диалог с reasoning-моделью → spec.md. Потом prompt_plan.md с чек-листом. Потом execute: «Open @prompt_plan.md, implement next uncompleted item, run tests, commit, mark done.»
3
Boris Cherny: параллельность + tags в PR
5 параллельных Claude в нумерованных вкладках + системные нотификации. Теги @.claude в PR — ошибки превращаются в правила CLAUDE.md. Голосовой ввод (fn+fn) даёт богаче промпты.
4
Mitchell Hashimoto: Vertical Slices
Ручной research архитектурных границ → «Consult the Oracle» (интерактивный план) → Vertical slices: UI → backend → integration по очереди. Никогда не шипать AI-код без manual review.
5
Geoffrey Huntley: /specs + stdlib промптов
Библиотека многоразовых шаблонов задач. Компилятор как верификатор — сильно типизированные языки (Rust, Go) дают детерминированный feedback. Анти-паттерн: преждевременная мульти-агентность.
6
Steve Yegge: Rule of Five
4–5 итераций до «as good as can get». 40% времени на code health — иначе будет >60%. Beware the Merge Wall: параллельные агенты от одного baseline создают ад при merge.
⚠️
Что НЕ работает у экспертов: slash-команды без чёткого контракта, hooks кроме deny-list, sub-agents для не-исследовательских задач (Armin Ronacher). Peter Steinberger удалил все MCP кроме минимума — Claude уходил крутить Playwright когда мог читать код напрямую.

💬 Эффективные промпты

# Начало задачи: "Добавь страницу оплаты с Stripe. Backend: Laravel Service + Controller + FormRequest. Frontend: Vue компонент PaymentForm. Начни с /brainstorm." # Ограничение scope (важно!): "Реализуй ТОЛЬКО PaymentService::create(). Не трогай Controller, Migration, тесты пока." # При зависании: "Запусти ./vendor/bin/pest tests/Feature/PaymentTest.php и покажи реальный output." # После неудачи: [/clear] "Получаю TypeError в PaymentService строка 45. Вот полный стек: [вставить]. Причина в том что amount приходит как string из FormRequest."