Skip to content
Apothem
CLI-Referenz

doctor

CLI-Referenz für den Befehl apothem doctor.

Prüft den Zustand dessen, was installiert ist. Während apothem verify die Harnesses prüft, die Sie auswählen, prüft doctor jeden installierten Harness und das gemeinsame Profil in einem Durchlauf.

Übersicht

apothem doctor [--project PATH] [--quiet|-q] [--verbose|-v]
               [--format plain|json] [--json] [--no-color]

Was geprüft wird

  • Gemeinsames Profil. Ein vorhandenes Profil wird gegen das mitgelieferte Schema validiert; ein fehlerhaftes schlägt mit seinem Diagnosecode fehl. Ein fehlendes Profil wird gemeldet, gilt aber nicht als Fehlschlag (install legt eines an).
  • Nur installierte Harnesses. Ein nicht installierter Harness wird als not_installed gemeldet und gilt nicht als Fehlschlag, sodass ein Rechner mit einem intakten Harness die Prüfung besteht. Harnesses mit Projektgeltungsbereich werden geprüft, wenn --project ihre Wurzel benennt; ohne diese Option werden sie als needs_project gemeldet.
  • Verifizierung. Jeder installierte Harness muss dieselbe Prüfung bestehen wie verify.
  • Hook-Laufzeit. Für jeden verifizierten Harness liest doctor die Dateien, die seine letzte Installation geschrieben hat, findet die Hook-Befehle, die Apothem dort registriert hat, und startet jeden Interpreter und jedes Hook-Skript einmal mit einer wirkungslosen Nutzlast (die registrierten Argumente plus --help, {} auf stdin, ein temporäres Arbeitsverzeichnis und entferntes PYTHONPATH). Es wird nichts geschrieben. Ein fehlender Interpreter, ein fehlendes Skript oder ein Absturz beim Import lässt die Prüfung fehlschlagen.

Jede fehlgeschlagene Prüfung nennt eine Korrektur. Beendet sich mit 0, wenn keine Prüfung fehlschlägt, andernfalls mit 1.

JSON-Ausgabe

--json behält die früheren Felder bei (version, python, platform, profile_path, profile_exists, profile_valid, harnesses, all_ok sowie profile_error, wenn das Profil ungültig ist) und fügt hinzu:

  • profile_error_code — der Profil-Diagnosecode, wenn das Profil ungültig ist.
  • project — die aufgelöste --project-Wurzel oder null.
  • harnesses[].status — ok, not_installed, needs_project, verify_failed, hook_failed oder error; dazu verified und hooks ({"probed": N, "failed": [...]} oder null, wenn kein Installationsdatensatz existiert).
  • checks — ein Datensatz pro Prüfung: code (zum Beispiel harness.verify_failed, hook.start_failed, ledger.unreadable oder ein profile.*-Code), status (pass, fail oder info), harness, message und fix.
{
  "schema_version": 1,
  "all_ok": false,
  "checks": [
    {
      "code": "hook.start_failed",
      "status": "fail",
      "harness": "claude-code",
      "message": "claude-code: a registered hook command cannot start: …",
      "fix": "Check that the interpreter in the hook command exists and runs, then …"
    }
  ]
}

Optionen

OptionBeschreibung
--project PATHProjektwurzel für Harnesses mit Projekt-Geltungsbereich; ohne diese Option werden sie als needs_project gemeldet.
--quiet, -qUnterdrückt informative Ausgaben; nur Fehler werden ausgegeben.
--verbose, -vAus Gründen der Konsistenz mit anderen Befehlen akzeptiert; dieser Befehl gibt keine zusätzliche Ausgabe aus.
--format plain|jsonAusgabeformat (Standard: plain).
--jsonKurzform für --format json.
--no-colorDeaktiviert ANSI-Farbcodes in der Ausgabe.
-h, --helpZeigt die Hilfe an und beendet den Befehl.

Beispiele

apothem doctor
apothem doctor --project .
apothem doctor --json

Das Standardformat plain gibt menschenlesbare Diagnosen aus; --json (gleichwertig zu --format json) gibt ein maschinenlesbares Dokument auf stdout aus, das sich für die Weiterleitung per Pipe an andere Werkzeuge eignet.

Exit-Codes

CodeBedeutung
0Alle Prüfungen bestanden (auch wenn noch kein Harness installiert ist)
1Ein installierter Harness besteht die Verifizierung nicht, ein registrierter Hook-Befehl kann nicht starten, ein Adapter konnte nicht geladen oder sondiert werden, oder ein vorhandenes Profil hat die Schemavalidierung nicht bestanden
64Verwendungsfehler: eine unbekannte Option oder ein unbekannter Befehl oder ein fehlender oder ungültiger Optionswert. Unter --json ist der Fehler ein JSON-Umschlag mit dem Code cli.usage.

Siehe auch

On this page