Зависимости
Что нужно emet на машине и какая команда проверяет каждый пункт. Термины соответствуют GLOSSARY.md. Назад к README.
Обязательные
-
bun: только для установки из исходников. Автономному бинарному файлу среда выполнения не нужна.
-
rsyncиsha256sumилиshasum: требуются дляinstall.sh. -
git: нужен во время работы. Почти каждая подкоманда вызывает его через оболочку. -
CLI
ghс авторизацией: нужен, если трекер —githubили посадка выполняется черезpr. PR всегда используют его. Приtracker.kind: "local"иlanding.mode: "merge"ghне требуется. -
Плагин
mattpocock-skills(маркетплейсclaude-plugins-official): фазы интервью, спецификации и тикетов в/emetвызывают навыки, которые находятся в нём.Terminal window claude plugin marketplace add anthropics/claude-plugins-officialclaude plugin install mattpocock-skills@claude-plugins-official -
Агенты
emet-workerиemet-reviewerв~/.claude/agents/: устанавливаютсяinstall.sh. Фазы 6 и 8 диспетчеризуют поsubagent_type, поэтому отсутствие любого из них ломает диспетчеризацию. См. Модели и усилие. -
Сервер Linear MCP, объявленный в
.mcp.json(или на уровне пользователя): только если репозиторий использует трекерlinear. emet проверяет объявление. Авторизовано ли соединение, хранится в собственном хранилище учётных данных Claude Code и отсюда проверить это нельзя. Если запуск не может прочитать тикеты, перезапустите Claude Code и подтвердите соединение.
Ничто из перечисленного никогда не устанавливается и не авторизуется за пользователя. Различается лишь то, кто это проверяет и насколько строго.
Что что проверяет
emet init |
emet doctor |
emet preflight |
|
|---|---|---|---|
| плагин отсутствует/отключён | выводит команду установки | сообщает (один раз, для всего флота) | блокирует диспетчеризацию |
агент emet-worker/emet-reviewer отсутствует |
— | сообщает (один раз, для всего флота) | блокирует диспетчеризацию |
gh отсутствует/нет авторизации (трекер: github) |
выводит, что выполнить | сообщает | блокирует диспетчеризацию |
сервер Linear не объявлен (трекер: linear) |
выводит заметку | сообщает | блокирует диспетчеризацию |
claude нет в PATH или проба превысила время |
выводит заметку | сообщает | предупреждает, никогда не блокирует: это «не удалось проверить», а не «подтверждённо сломано» |
флага, на который опирается emet, нет в --help |
— | сообщает | — |
Проверки флагов
emet doctor проверяет сами флаги, а не только наличие бинарных файлов. Он читает --help для gh issue view и gh repo view (--json), gh issue edit (--add-label, --remove-label), claude (--bg) и claude agents (--json) и сообщает о каждом флаге, который более новая или более старая версия CLI больше не документирует. Переименованный флаг иначе сорвал бы волну на полпути.
Тайм-ауты и пропуск блокировки
Каждая проба ограничена 5 с, чтобы зависший gh auth status (без сети) не мог заблокировать волну. Если сама блокировка preflight неверна для вашего окружения, EMET_SKIP_DEPENDENCY_CHECKS=1 emet preflight понижает её до предупреждения для этого одного запуска. Задавайте переменную в собственной оболочке, а не в том, что координатор /emet запускает без присмотра. См. Переменные окружения.
Бинарные файлы репозитория
preflight.requiredCommands репозитория (в emet.config.json) — это отдельный список бинарных файлов, принадлежащий самому репозиторию, которые emet preflight и emet doctor требуют в PATH. Он полезен для rg и sg, которые промпты воркеров предлагают как более быструю альтернативу чтению файла целиком. gh перечислять там не нужно; проверка выше уже его покрывает. См. preflight.
О сбоях и их исправлении см. устранение неполадок.