Перейти к содержимому

Зависимости

Что нужно 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-official
    claude 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.

О сбоях и их исправлении см. устранение неполадок.