Abhängigkeiten
Was emet auf dem Rechner braucht und welcher Befehl jeden Eintrag prüft. Die Begriffe folgen GLOSSARY.md. Zurück zur README.
Erforderlich
-
bun: nur für Installationen aus dem Quellcode. Die eigenständige Binärdatei braucht keine Laufzeitumgebung.
-
rsyncundsha256sumodershasum: voninstall.shbenötigt. -
git: zur Laufzeit erforderlich. Nahezu jeder Unterbefehl ruft es über die Shell auf. -
gh-CLI, angemeldet: erforderlich, wenn der Trackergithubist oder das Landingprverwendet. PRs nutzen es immer. Mittracker.kind: "local"undlanding.mode: "merge"istghnicht erforderlich. -
Das Plugin
mattpocock-skills(Marketplaceclaude-plugins-official): Die Phasen Interview, Spec und Ticket von/emetrufen Skills auf, die dort liegen.Terminal window claude plugin marketplace add anthropics/claude-plugins-officialclaude plugin install mattpocock-skills@claude-plugins-official -
Die Agents
emet-workerundemet-reviewerin~/.claude/agents/: voninstall.shinstalliert. Phase 6 und Phase 8 dispatchen übersubagent_type, daher bricht das Fehlen eines der beiden den Dispatch. Siehe Modelle und Aufwand. -
Ein in
.mcp.json(oder im Nutzerbereich) deklarierter Linear-MCP-Server: nur, wenn das Repo den Trackerlinearverwendet. emet prüft die Deklaration. Ob die Verbindung angemeldet ist, steht im eigenen Credential-Speicher von Claude Code und lässt sich von hier aus nicht prüfen. Schlägt ein Lauf beim Lesen von Tickets fehl, Claude Code neu starten und die Verbindung freigeben.
Nichts davon wird jemals im Auftrag des Nutzers installiert oder angemeldet. Unterschiedlich ist, wer es prüft und wie streng.
Was was prüft
emet init |
emet doctor |
emet preflight |
|
|---|---|---|---|
| Plugin fehlt/deaktiviert | gibt den Installationsbefehl aus | meldet es (einmal, flottenweit) | blockiert den Dispatch |
Agent emet-worker/emet-reviewer fehlt |
— | meldet es (einmal, flottenweit) | blockiert den Dispatch |
gh fehlt/nicht angemeldet (Tracker: github) |
gibt aus, was auszuführen ist | meldet es | blockiert den Dispatch |
Linear-Server nicht deklariert (Tracker: linear) |
gibt einen Hinweis aus | meldet es | blockiert den Dispatch |
claude nicht im PATH oder eine Sonde läuft in ein Timeout |
gibt einen Hinweis aus | meldet es | warnt, blockiert nie: Das heißt „konnte nicht geprüft werden“, nicht „als defekt verifiziert“ |
ein von emet benötigtes Flag fehlt in --help |
— | meldet es | — |
Flag-Prüfungen
emet doctor prüft die Flags selbst, nicht nur, ob die Binärdateien existieren. Es liest --help für gh issue view und gh repo view (--json), gh issue edit (--add-label, --remove-label), claude (--bg) und claude agents (--json) und meldet jedes Flag, das eine neuere oder ältere CLI nicht mehr dokumentiert. Ein umbenanntes Flag würde sonst eine Welle mittendrin scheitern lassen.
Timeouts und Überspringen einer Sperre
Jede Sonde ist auf 5 s begrenzt, damit ein hängendes gh auth status (ohne Netzwerk) keine Welle blockieren kann. Ist eine Sperre von preflight für die eigene Umgebung selbst falsch, stuft EMET_SKIP_DEPENDENCY_CHECKS=1 emet preflight sie für diesen einen Lauf zu einer Warnung herab. In der eigenen Shell setzen, nicht in etwas, das der /emet-Koordinator unbeaufsichtigt ausführt. Siehe Umgebungsvariablen.
Repo-eigene Binärdateien
Die preflight.requiredCommands eines Repos (in emet.config.json) sind eine separate, repo-eigene Liste von Binärdateien, die emet preflight und emet doctor im PATH voraussetzen. Sie ist nützlich für rg und sg, die die Worker-Prompts als schnellere Alternativen zum vollständigen Lesen einer Datei anbieten. gh muss dort nicht aufgeführt werden; die obige Prüfung deckt es bereits ab. Siehe preflight.
Zu Fehlern und Lösungen siehe Fehlerbehebung.