# Агентская команда opencode Одна сессия opencode в роли **Orchestrator** и четыре субагента — **Analyst**, **Coder**, **Reviewer**, **Tester**, которых Orchestrator вызывает через Task tool. Роли лежат в [`.opencode/agent/`](./.opencode/agent/), Orchestrator назначен агентом по умолчанию в [`opencode.json`](./opencode.json). ## Запуск и работа В корне репозитория запусти `opencode`. Каждая новая сессия стартует Orchestrator'ом: задачу пиши обычным сообщением. Он сам: - декомпозирует задачу и сначала отправляет её Analyst'у (фиксирует в `analytics/*.md`), затем Coder'у через Task tool; - после Coder'а запускает Reviewer (только чтение) и Tester (проверка без правок) параллельно; - возвращает Coder'у actionable findings; при существенном изменении скоупа перед follow-up просит Analyst'а дополнить аналитику (журнал), повторяет цикл, пока Critical/Major не закрыты; - когда Critical/Major закрыты и проверки зелёные — без вопроса деплоит на тестовый сервис (`docker compose up -d --build`, затем `curl http://localhost:8080/api/health`); - отдаёт финальный отчёт уже после деплоя: что написано, просмотрено и протестировано, оставшиеся риски и просьба проверить в браузере с очисткой кэша (Ctrl+Shift+R). Вручную писать субагентам не нужно — их вызывает только Orchestrator. ## Роли - **Orchestrator** (primary, агент по умолчанию) — единственный общается с пользователем; сам код не правит. - **Analyst** (subagent) — перед Coder'ом фиксирует задание в `analytics/*.md`, дополняет его по ходу работы (правки только затронутых секций, документ целиком не переписывается), при необходимости актуализирует `README.md`; отчитывается `ANALYST_DONE`. - **Coder** (subagent) — единственный меняет код продукта; отчитывается `CODER_DONE`. - **Reviewer** (subagent, `edit: deny`) — read-only review; отчитывается `REVIEW_DONE`. - **Tester** (subagent, `edit: deny`) — прогоняет проверки; может создавать игнорируемые артефакты, но не меняет отслеживаемые файлы; отчитывается `TEST_DONE`. ## Файлы - `.opencode/agent/{orchestrator,analyst,coder,reviewer,tester}.md` — определения агентов команды; - `analytics/` — аналитика задач агентской команды (по одному файлу на задачу; конвенция в `analytics/README.md`); - `opencode.json` — `default_agent: orchestrator`. Конфиг и агенты читаются при старте opencode: после изменений перезапусти сессию.