Files
wiki/templates/DEV_WORKFLOW.md
2026-05-12 23:20:01 +03:00

6.7 KiB
Raw Blame History

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"
)

Ревью после реализации

Что проверяет Стрим:

  1. Spec compliance — всё ли из ТЗ реализовано? Ничего лишнего не добавлено?
  2. Деплой — код на сервере, контейнер работает, URL отвечает?
  3. 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 | Автор: Стрим