6.7 KiB
6.7 KiB
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: Файл (средние/крупные задачи)
sessions_spawn(
agentId="dev",
task="Реализуй задачу по ТЗ: /home/node/.openclaw/workspace/tasks/{project}/DEV_TASK_{feature}.md. Начни с Task 1. После каждого Task — отчитайся что сделано.",
mode="run"
)
Вариант B: Inline (быстрые задачи)
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"
)
Ревью после реализации
Что проверяет Стрим:
- Spec compliance — всё ли из ТЗ реализовано? Ничего лишнего не добавлено?
- Деплой — код на сервере, контейнер работает, URL отвечает?
- Edge cases — что будет если [нет данных / таймаут / мобильный]?
Когда запускать отдельного ревьюера:
- Задача > 3 Tasks
- Затрагивает > 5 файлов
- Есть сложная логика (роутинг, алгоритмы)
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 | Автор: Стрим