# Dev Workflow — Процесс разработки через OpenClaw > Адаптация методологии Superpowers под нашу архитектуру: Стрим (постановка) → Dev-агент (реализация) → Стрим (ревью) --- ## Роли | Роль | Кто | Что делает | |------|-----|-----------| | **Product** | Слава | Идея, приоритеты, финальное ОК | | **Architect** | Стрим | BRD, ТЗ по шаблону, ревью результата | | **Implementer** | Dev-агент | Код, тесты, деплой | | **Reviewer** | Стрим (+ опционально отдельный субагент) | Проверка соответствия ТЗ | --- ## Пайплайн ``` Слава: идея/запрос ↓ Стрим: уточняющие вопросы (1-3 штуки, не больше) ↓ Стрим: BRD (если фича крупная) или сразу ТЗ ↓ Слава: ОК / правки ↓ Стрим: заполняет DEV_TASK по шаблону ↓ Dev-агент: реализация (sessions_spawn, agentId: "dev") ↓ Стрим: ревью результата (spec compliance) ↓ [если баги] → Dev-агент: фикс → Стрим: повторное ревью ↓ Стрим: обновляет PROJECT.md, онтологию ↓ Слава: финальная проверка ``` --- ## Когда что использовать ### Быстрая задача (< 30 мин Dev-работы) - Один файл, понятная правка, нет архитектурных решений - **Процесс:** Стрим пишет короткое ТЗ прямо в `task` параметре `sessions_spawn` - **Шаблон не нужен** — достаточно: цель + файлы + команда проверки - Пример: «поменять opacity слоя с 0.55 на 0.7 в app.js строка 450» ### Средняя задача (30 мин — 2 часа) - Несколько файлов, но понятная архитектура - **Процесс:** Стрим заполняет DEV_TASK_TEMPLATE.md, передаёт Dev-агенту - **Ревью:** Стрим проверяет по таблице Acceptance - Пример: новая кнопка в UI + API endpoint + деплой ### Крупная задача (> 2 часов, новая фича) - Много файлов, архитектурные решения, несколько компонентов - **Процесс:** BRD → ТЗ по шаблону → разбивка на Task 1..N → Dev-агент получает по одной задаче - **Ревью:** после каждого Task (не в конце!) - **Опционально:** отдельный субагент-ревьюер для spec compliance - Пример: terrain layer, PWA, новый режим роутинга --- ## Формат передачи задачи Dev-агенту ### Вариант A: Файл (средние/крупные задачи) ```python sessions_spawn( agentId="dev", task="Реализуй задачу по ТЗ: /home/node/.openclaw/workspace/tasks/{project}/DEV_TASK_{feature}.md. Начни с Task 1. После каждого Task — отчитайся что сделано.", mode="run" ) ``` ### Вариант B: Inline (быстрые задачи) ```python sessions_spawn( agentId="dev", task=""" Проект: enduro-trails Сервер: slin@82.22.50.71 Задача: Поменять opacity гипсометрии с 0.55 на 0.7 Файл: /home/slin/enduro-trails/prototype/static/app.js Строка: найти `'raster-opacity': 0.55` в source `terrain-hypso` Заменить на: `'raster-opacity': 0.7` Деплой: docker cp /home/slin/enduro-trails/prototype/static/app.js prototype-enduro-trails-1:/app/static/app.js Проверка: curl -s https://openclaw.mva154.duckdns.org/enduro/static/app.js | grep "raster-opacity" # Должно быть 0.7 """, mode="run" ) ``` --- ## Ревью после реализации ### Что проверяет Стрим: 1. **Spec compliance** — всё ли из ТЗ реализовано? Ничего лишнего не добавлено? 2. **Деплой** — код на сервере, контейнер работает, URL отвечает? 3. **Edge cases** — что будет если [нет данных / таймаут / мобильный]? ### Когда запускать отдельного ревьюера: - Задача > 3 Tasks - Затрагивает > 5 файлов - Есть сложная логика (роутинг, алгоритмы) ```python sessions_spawn( task=""" Ты — ревьюер. Проверь реализацию на соответствие ТЗ. ТЗ: [путь к DEV_TASK] Реализация: [пути к изменённым файлам] Проверь: 1. Все задачи из ТЗ выполнены? 2. Нет лишнего кода, не описанного в ТЗ? 3. Команды проверки из ТЗ проходят? Формат ответа: ✅ Task N — ОК / ❌ Task N — [что не так] """, mode="run" ) ``` --- ## Принципы (из Superpowers, адаптированные) | Superpowers | Наша адаптация | |-------------|---------------| | TDD обязателен | Тесты для бэкенда/логики. Для UI — acceptance checks | | Git worktrees | Не используем. Деплой через docker cp / SSH | | Fresh subagent per task | ✅ Уже делаем через sessions_spawn | | No placeholders в плане | ✅ Точный код, точные пути, точные команды | | Spec review + Code review | Spec review — всегда. Code review — для крупных задач | | Continuous execution | Dev работает автономно внутри одного Task | | YAGNI | Не добавлять фичи, которых нет в ТЗ | --- ## Антипаттерны ❌ **Стрим пишет код сама** — никогда, даже «быстрый фикс» ❌ **ТЗ без команды проверки** — Dev не знает когда он закончил ❌ **«Сделай как в прошлый раз»** — Dev не помнит прошлый раз, повтори контекст ❌ **Несколько крупных Tasks в одном spawn** — контекст переполнится ❌ **Ревью через неделю** — проверять сразу после выполнения --- *Создано: 2026-05-12 | Автор: Стрим*