Salta ai contenuti

Dipendenze

Di cosa ha bisogno emet sulla macchina e quale comando verifica ogni voce. I termini seguono GLOSSARY.md. Torna al README.

Obbligatorie

  • bun: solo per le installazioni da sorgenti. Il binario standalone non richiede alcun runtime.

  • rsync e sha256sum o shasum: richiesti da install.sh.

  • git: richiesto a runtime. Quasi ogni sottocomando lo invoca tramite shell.

  • CLI gh, autenticata: richiesta quando il tracker è github o il landing è pr. Le PR la usano sempre. Con tracker.kind: "local" e landing.mode: "merge", gh non è richiesto.

  • Il plugin mattpocock-skills (marketplace claude-plugins-official): le fasi di intervista, spec e ticket di /emet richiamano skill che vivono lì.

    Terminal window
    claude plugin marketplace add anthropics/claude-plugins-official
    claude plugin install mattpocock-skills@claude-plugins-official
  • Gli agenti emet-worker e emet-reviewer in ~/.claude/agents/: installati da install.sh. La fase 6 e la fase 8 fanno il dispatch tramite subagent_type, quindi la mancanza di uno dei due interrompe il dispatch. Vedi Modelli e impegno.

  • Un server MCP di Linear dichiarato in .mcp.json (o a livello utente): solo se il repo usa il tracker linear. emet verifica la dichiarazione. Se la connessione sia autenticata è nell’archivio delle credenziali di Claude Code e da qui non si può controllare. Se un’esecuzione non riesce a leggere i ticket, riavvia Claude Code e approva la connessione.

Nulla di quanto sopra viene mai installato o autenticato al posto dell’utente. Cambia chi lo controlla e con quanta severità.

Cosa controlla cosa

emet init emet doctor emet preflight
plugin mancante/disattivato stampa il comando di installazione lo segnala (una volta, per tutta la flotta) blocca il dispatch
agente emet-worker/emet-reviewer mancante — lo segnala (una volta, per tutta la flotta) blocca il dispatch
gh mancante/non autenticato (tracker: github) stampa cosa eseguire lo segnala blocca il dispatch
server Linear non dichiarato (tracker: linear) stampa una nota lo segnala blocca il dispatch
claude non nel PATH, o una sonda in timeout stampa una nota lo segnala avvisa, non blocca mai: significa «non è stato possibile controllare», non «verificato rotto»
un flag da cui emet dipende manca in --help — lo segnala —

Controlli sui flag

emet doctor verifica i flag stessi, non solo che i binari esistano. Legge --help per gh issue view e gh repo view (--json), gh issue edit (--add-label, --remove-label), claude (--bg) e claude agents (--json) e segnala ogni flag che una CLI più recente o più vecchia non documenta più. Un flag rinominato farebbe altrimenti fallire un’ondata a metà.

Timeout e come saltare un blocco

Ogni sonda è limitata a 5 s, così un gh auth status bloccato (senza rete) non può fermare un’ondata. Se un blocco di preflight è esso stesso sbagliato per il tuo ambiente, EMET_SKIP_DEPENDENCY_CHECKS=1 emet preflight lo declassa a un avviso per quella sola esecuzione. Impostala nella tua shell, non in qualcosa che il coordinatore /emet esegue senza supervisione. Vedi Variabili d’ambiente.

Binari gestiti dal repo

Le preflight.requiredCommands di un repo (in emet.config.json) sono un elenco separato, gestito dal repo, di binari che emet preflight e emet doctor richiedono nel PATH. È utile per rg e sg, che i prompt dei worker propongono come alternative più rapide alla lettura integrale di un file. gh non deve essere elencato lì; il controllo qui sopra lo copre già. Vedi preflight.

Per errori e soluzioni, vedi la risoluzione dei problemi.