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