20 KiB
10. Чек-лист запуска
Назначение: последовательный список того, что должно быть сделано, чтобы перейти от «пакета документов» к работающему процессу — на одном пилотном проекте, а потом расшириться. Это не «теория», а конкретные шаги с явными артефактами на выходе каждого шага.
Простым языком
Запуск — за 6 недель, по неделям наращиваем функциональность. Сначала готовим инфраструктуру (1–2 нед), затем включаем агентов по одному и проверяем, что цепочка работает (3–5 нед), на 6-й — снимаем метрики и решаем о масштабировании на остальные проекты.
Плохой подход — «давайте сразу всех 7 агентов». Хороший — «по одному, на пилоте, каждый запуск с явной проверкой».
Пилотный проект — fr24-noisemap (как уже было предложено в analysis_implementation_options.md).
Вводные предположения
- Plane self-hosted уже поднят (если нет — это первый шаг).
- Forge — GitHub или Gitea (рекомендация: Gitea для контроля и стоимости).
- VPS под self-hosted сервисы (рекомендация: 4 CPU / 16 GB RAM / 200 GB SSD / Ubuntu 22.04 LTS / Docker).
- Anthropic API-ключ доступен.
- Один человек на роль DevOps/Owner на время запуска.
Чек-лист недели 1: фундамент инфраструктуры
П1.1. Поднять/проверить Plane
- Plane self-hosted работает
- HTTPS настроен (Let's Encrypt)
- Постgres резервируется ежедневно (
docs/operations/backup-restore.md) - Workspace создан (одна организация — все проекты)
- API-токен сгенерирован и сохранён в секретах CI
- Custom fields добавлены (см.
06_plane_integration.md) - Лейблы созданы (см.
06_plane_integration.md)
П1.2. Поднять Forge (если не GitHub)
- Gitea / GitLab CE поднят
- Service account
claude-botсоздан, SSH-ключ + PAT настроены - GPG-ключ для подписи коммитов (опц.)
- Webhooks настроены на Orchestrator URL
П1.3. Поднять Orchestrator
- Репозиторий
internal/orchestratorсоздан - Базовый FastAPI/Express скелет (~150 строк): endpoint
/webhook/plane,/webhook/forge,/health - Postgres-схема для журнала событий (см.
08_interaction_protocol.md) - Деплой Orchestrator'а на VPS (Docker Compose)
- HTTPS endpoint доступен из Plane и Forge
П1.4. Подготовить пилотный репо fr24-noisemap
- Привести к каноническому виду структуры (см.
02_repo_structure.md) Dockerfile,docker-compose.yml,docker-compose.test.ymlMakefileс целями:dev,test,lint,build,deploy-testCLAUDE.mdзаполнен (см. шаблон в02_repo_structure.md)docs/architecture/README.md+ хотя бы базовыйc4-context.mmddocs/runbook.md.env.example+ миграции БД (если есть).pre-commit-config.yamltests/структура:unit,integration,e2e,visual,fixtures,smoke
П1.5. Поднять test-окружение пилота
- VPS / контейнер test-окружения
- HTTPS на test.fr24-noisemap.example.com
- Ansible-плейбук деплоя (
infra/ansible/deploy.yml) - Healthcheck endpoint
/health
Чем закрывается: один работающий пилотный репо, один работающий Plane, один работающий Orchestrator, одно работающее test-окружение.
Чек-лист недели 2: CI/CD и preview
П2.1. CI pipeline
.github/workflows/ci.yml(или Gitea-аналог) — линт+тип+тест+build- Coverage reporting (
make coverage) - Security-scan (Trivy + bandit/npm-audit)
- Spec-linter, ADR-linter, naming-check скрипты в
scripts/ - req-coverage.py скрипт
П2.2. Branch protection
- На
main: required status checks, no force push, no merge-commit, signed commits (если включено) - Service account для агентов имеет push-права на feature/*, не на main
П2.3. Ephemeral preview
preview.ymlworkflow поднимает stack через Docker Compose- nginx-reverse-proxy с wildcard
*.preview.example.com - Скрипт
wait-healthy.sh - При закрытии PR — автоматическое удаление preview
П2.4. Deploy pipelines
deploy-test.ymlна push в maindeploy-prom.ymlна тег + approvenightly.ymlcron 02:00 UTC- semver-from-commits скрипт
П2.5. Plane MCP-сервер
- Если официальный есть — подключить
- Если нет — написать тонкую обёртку (~150 строк Python) над Plane REST API, экспонировать как MCP-сервер согласно контракту в
08_interaction_protocol.md - Проверить из Claude Code CLI:
plane_get_work_item,plane_update_statusработают
Чем закрывается: PR → CI зелёный → preview работает → merge в main → авто-деплой в test → smoke-тесты зелёные. Без агентов, чисто инфраструктурный pipeline.
Чек-лист недели 3: Analyst
П3.1. Subagent definition
.openclaw/agents/analyst.md— копия из05_agent_system_prompts.md- Параметризация:
{{plane_id}},{{project_name}} - Allowed tools: Plane MCP, Filesystem (только
docs/work-items/{{plane_id}}/), Bash (read-only Git)
П3.2. Webhook-обработка work_item.created
- Plane → Orchestrator: при создании Feature
- QG-0 проверка
- Создание ветки в Git через Forge MCP
- Создание 7 подзадач через Plane API
- Создание
docs/work-items/<id>/00-business-request.md - Запуск Analyst через
claude --agent analyst <id>или эквивалентный API-вызов
П3.3. QG-1 проверки
- Скрипт
scripts/lint-spec.shготов - Скрипт
scripts/lint-test-plan.sh(валидация YAML по схеме) - Скрипт
scripts/req-coverage.py - Скрипт
scripts/check-reaction.py(через Plane API) - CI workflow
qg-analysis.yml
П3.4. Тестовый прогон
- Создать тестовый Work Item «Add new noise zone toggle» через Plane UI
- Проверить: ветка создаётся, подзадачи создаются, BR-файл создаётся, Analyst запускается
- Проверить: Analyst задаёт вопросы; ответить через Plane comment; Analyst пишет BRD/ТЗ/AC/TestPlan
- Проверить: QG-1 валидирует артефакты
- Поставить
:approved:; проверить переход на следующий этап (но без Architect ещё — просто меняется статус)
Чем закрывается: живой Analyst производит ТЗ по живому запросу, QG-1 проверяет.
Чек-лист недели 4: Architect + Developer
П4.1. Architect subagent
.openclaw/agents/architect.mdготов- Mermaid CLI установлен на Orchestrator/CI
- Скрипт
scripts/render-mermaid.sh - Скрипт
scripts/lint-adr.sh - CI workflow
qg-arch.yml - Webhook: при QG-1 ✅ → запуск Architect
П4.2. Developer subagent
.openclaw/agents/developer.mdготов- Allowed tools: Forge MCP (создание PR), Git (commit/push), Bash (test runners)
- PR template (
.github/PULL_REQUEST_TEMPLATE.md) - CI запускает QG-4 на PR
- Webhook: при QG-2 ✅ (или QG-3 если UI) → запуск Developer
П4.3. Тестовый прогон
- Завести Work Item «add /api/health endpoint» (тривиальная задача без UI)
- Прогнать: Analyst → QG-1 → Architect → QG-2 → Developer → QG-4
- Получить открытый PR с зелёным CI
- Проверить, что артефакты лежат в правильных местах
Чем закрывается: end-to-end от запроса до зелёного PR — без человеческого участия в самой работе (только approve).
Чек-лист недели 5: Reviewer + Tester + Designer
П5.1. Reviewer subagent
.openclaw/agents/reviewer.mdготов- Forge MCP с правом оставлять review
- CI workflow
qg-review.yml - Webhook: при QG-4 ✅ → запуск Reviewer
- Защита: orchestrator не запускает Reviewer в той же сессии, что Developer
П5.2. Tester subagent
.openclaw/agents/tester.mdготов- Playwright MCP подключён
- Скрипт
scripts/run-test-plan.pyготов - Visual baseline'ы созданы для пилота
- axe-core интегрирован
- Lighthouse CI настроен
- CI workflow
qg-test.yml - Webhook: при QG-5 ✅ → лейбл
stage:test→ запуск Tester
П5.3. Designer subagent (опц., можно отложить)
.openclaw/agents/designer.mdготовdocs/design/design-tokens.jsonдля пилотаdocs/design/components.md(хотя бы 5–10 базовых)- CI workflow
qg-design.yml - Webhook: при QG-2 ✅ + ui_affected=true → запуск Designer
П5.4. Тестовый прогон с UI
- Завести Work Item с UI-составляющей
- Прогнать полный конвейер до Tester
- Получить зелёный test-report
Чем закрывается: полный 7-агентный конвейер работает от запроса до stage:ready-to-deploy.
Чек-лист недели 6: Deployer + метрики + ретроспектива
П6.1. Deployer subagent
.openclaw/agents/deployer.mdготовinfra/ansible/deploy.ymlс обработкой test и promscripts/rollback.shscripts/check-metrics.sh(Prometheus query)- CI workflow
deploy-test.yml,deploy-prom.yml - Webhook: при QG-6 ✅ → запуск Deployer
П6.2. Прод-инфра
- Prom-окружение готово (отдельный VPS / контейнер)
- HTTPS, healthcheck, мониторинг (Prometheus + Grafana)
- Алёрты на Telegram/Slack/email
- Smoke-тесты на prom (минимальный набор)
- Runbook rollback'а отрепетирован руками (не агентом)
П6.3. Дашборды
- DORA-метрики (Lead Time, Deploy Frequency, CFR, MTTR) — Grafana
- Cost dashboard (USD/задача, USD/день) — Grafana или Streamlit
- QG pass-rate, retry-count, override-count — Grafana
- Plane Views: текущая работа, витрина, backlog, health (см.
06_plane_integration.md)
П6.4. Финальная end-to-end проверка
- Завести Work Item с полноценной UI-фичей
- Прогнать через все 7 этапов до Done
- Снять метрики: tokens spent, lead time, retry count
- Записать ретроспективу в
docs/operations/retrospectives/2026-week-6.md
П6.5. Принять решение о масштабировании
- Если метрики ОК: tokens < $25/задача, lead time < 24ч, intervention rate < 50%, retry < 2 в среднем — расширять на следующий проект
- Если метрики не ОК — диагностика и итерация
Чем закрывается: живая фича прошла от запроса до prom за разумное время и стоимость, метрики собраны.
Что готовить заранее (до недели 1)
Секреты
ANTHROPIC_API_KEY(для Sonnet, Opus, Haiku)OPENROUTER_API_KEY(опционально, для GLM/Qwen) или endpoint Ollama / vLLMPLANE_API_TOKENGITEA_TOKENилиGITHUB_TOKENORCHESTRATOR_WEBHOOK_SECRET- SSH-ключ service account
- Ansible Vault password
- Prometheus credentials
Все хранятся в CI secrets и в Ansible Vault. Никогда не в репо.
Доменные имена
plane.example.comgit.example.com(если Gitea)orchestrator.example.com*.preview.example.com(wildcard)test.<project>.example.com<project>.example.com(prom)
Учётные записи и роли
- Все участники команды добавлены в Plane workspace
- Роли распределены:
Owner,Admin,Stakeholder,Member,Viewer Stakeholder— кто может ставить:approved:Owner— кто может разрешать override
Бюджет на LLM
- Согласованный месячный лимит на Anthropic API (Cost Limit в console.anthropic.com)
- Согласованный per-task budget (
.openclaw/budget.yaml)
Финальная проверка консистентности пакета
Прошёл по всем 11 файлам и проверил:
- Иерархия Plane. Везде согласовано: Workspace → Project → Phase (опц.) → Feature (с 7 подзадачами); глубина 1 уровень.
- Названия этапов. Один набор: Inception → Анализ → Архитектура → Дизайн → Разработка → Code Review → Тестирование → Внедрение.
- Quality Gates. Нумерация QG-0 … QG-7 + QG-final. Описаны во всех релевантных файлах одинаково.
- Артефакты. Имена файлов (
01-brd.md,02-trz.md…) согласованы между01_production_process.md,02_repo_structure.md,03_quality_gates.md,05_agent_system_prompts.md. - Лейблы.
stage:*,back-to:*,skip:*,escalation:*,incident:*— единый словарь. - Reactions.
:approved:,:rejected:,:break-glass:,:final-approved:— единый словарь, везде те же роли. - Модели LLM. Sonnet 4.6 / Opus 4.7 / Qwen 3.6+ / GLM-5.1 — везде одинаково. Ревьюер всегда Opus, архитектор всегда Opus.
- Изоляция Reviewer ≠ Developer. Прописано в
04_agents_roles.md,05_agent_system_prompts.md,08_interaction_protocol.md. - Branch naming.
feature/<plane-id>-<slug>везде согласовано. - Conventional Commits. Формат и список типов согласованы между
02_repo_structure.mdи07_git_workflow.md. - MCP-tools. Контракт в
08_interaction_protocol.mdсовпадает с использованием в04_agents_roles.mdи05_agent_system_prompts.md. - Окружения. dev / preview / test / prom — везде одинаково. Принцип «один Docker, разница только в данных» прописан.
- UI-тестирование. Уровни тестов в
09_ui_testing.mdсогласованы с QG-6 в03_quality_gates.mdи с обязанностями Tester в04/05.
Известные сложности и где их решить позже
| Сложность | Описание | Когда решать |
|---|---|---|
| Plane MCP-сервер | Может не быть готового; писать обёртку | Неделя 2 |
| Стоимость Opus | Архитектор + Reviewer на Opus — самая дорогая часть | Мониторить с недели 6, оптимизировать prompt caching |
| Visual regression baseline'ы | На старте baseline'ов нет — первый прогон создаст. Команда должна привыкнуть к процедуре «обновить baseline = намеренное действие» | Неделя 5 (Tester) |
| Flaky e2e | Появятся со временем; нужна процедура карантина | Неделя 5+ |
| Prompt caching | Использовать для CLAUDE.md и часто читаемых ADR | С недели 3 |
| Локальные LLM (Qwen, GLM) | Удешевление; нужно поднять Ollama / vLLM | Опционально с недели 4, если бюджет позволяет |
| Onboarding новых проектов | После пилота — как масштабировать на остальные 19 проектов | После недели 6, отдельным runbook'ом |
Roll-out на остальные проекты (после пилота)
После успешного пилота: runbook миграции существующего проекта (≈4 часа на проект):
- Привести структуру к канону (
02_repo_structure.md). - Сделать
CLAUDE.md. - Импортировать минимальные C4 + 2–3 базовых ADR.
- Подключить
.openclaw/agents/(копия с пилота). - Подключить webhooks Plane и Forge.
- Настроить CI (
ci.yml,preview.yml,deploy-test.yml). - Запустить тестовую Feature через конвейер.
- По итогам — внести проектные особенности в
CLAUDE.md.
Ожидаемая нагрузка: 1 проект в неделю (после пилота). Полная миграция всех 20 проектов — ≈5 месяцев.
Финальный итог пакета
После прохождения всех чек-листов вы получаете:
- Жёсткий, повторяемый процесс разработки ПО с 7 этапами и автоматическими QG.
- Каждое изменение документировано (BRD, ТЗ, ADR, дизайн, отчёт о тестах, deploy log) и доступно в Plane как «витрина», в Git как источник правды.
- 7 специализированных агентов с готовыми системными промптами, корректными границами ответственности, защитой от само-согласования.
- Полное автотестирование, включая UI (e2e + visual + a11y + perf + security).
- Воспроизводимые среды dev/preview/test/prom с автоматическим деплоем через CI.
- Метрики (DORA + агентные + cost) с дашбордами.
- Audit trail всех действий агентов и QG-проверок.
Что вы делаете как Stakeholder:
- Заводите Work Item в Plane.
- Отвечаете на уточняющие вопросы Analyst'а.
- Ставите
:approved:на ТЗ, дизайне, и финальном деплое.
Всё остальное — агенты + CI + Plane.