Skip to content
Apothem
Référence de la CLI

doctor

Référence de la CLI pour la commande apothem doctor.

Vérifie l'état de santé de ce qui est installé. Là où apothem verify vérifie les environnements que vous sélectionnez, doctor vérifie chaque environnement installé ainsi que le profil partagé en une seule passe.

Synopsis

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

Ce qui est vérifié

  • Profil partagé. Un profil présent est validé par rapport au schéma fourni avec le paquet ; un profil mal formé échoue avec son code de diagnostic. Un profil absent est signalé, sans échec (install en crée un).
  • Environnements installés uniquement. Un environnement qui n'est pas installé est signalé comme not_installed et ne constitue pas un échec ; une machine dotée d'un seul environnement en bonne santé réussit donc la vérification. Les environnements à portée de projet sont vérifiés lorsque --project nomme leur racine ; sans cette option, ils sont signalés comme needs_project.
  • Vérification. Chaque environnement installé doit réussir la même vérification que verify.
  • Runtime des hooks. Pour chaque environnement vérifié, doctor lit les fichiers écrits par sa dernière installation, trouve les commandes de hook qu'Apothem y a enregistrées, et démarre une fois chaque interpréteur et chaque script de hook avec une charge utile sans effet (les arguments enregistrés plus --help, {} sur stdin, un répertoire de travail temporaire, et PYTHONPATH retiré). Rien n'est écrit. Un interpréteur manquant, un script manquant ou un plantage au moment de l'import fait échouer la vérification.

Chaque vérification en échec nomme une correction. Quitte avec 0 lorsqu'aucune vérification n'échoue, et avec 1 sinon.

Sortie JSON

--json conserve les champs antérieurs (version, python, platform, profile_path, profile_exists, profile_valid, harnesses, all_ok, et profile_error lorsque le profil est invalide) et ajoute :

  • profile_error_code — le code de diagnostic du profil, lorsque le profil est invalide.
  • project — la racine --project résolue, ou null.
  • harnesses[].status — ok, not_installed, needs_project, verify_failed, hook_failed ou error ; plus verified et hooks ({"probed": N, "failed": [...]}, ou null lorsqu'aucun enregistrement d'installation n'existe).
  • checks — un enregistrement par vérification : code (par exemple harness.verify_failed, hook.start_failed, ledger.unreadable ou un code profile.*), status (pass, fail ou info), harness, message et 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 …"
    }
  ]
}

Options

OptionDescription
--project PATHRacine de projet pour les environnements à portée de projet ; sans cette option, ils sont signalés comme needs_project.
--quiet, -qSupprime la sortie informative ; seules les erreurs sont émises.
--verbose, -vAccepté par cohérence avec les autres commandes ; cette commande n'affiche aucune sortie supplémentaire.
--format plain|jsonFormat de sortie (par défaut : plain).
--jsonRaccourci de --format json.
--no-colorDésactive les codes de couleur ANSI dans la sortie.
-h, --helpAffiche l'aide et quitte.

Exemples

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

Le format plain par défaut affiche des diagnostics lisibles par un humain ; --json (équivalent à --format json) émet sur stdout un document lisible par une machine, adapté à un acheminement par pipe vers d'autres outils.

Codes de sortie

CodeSignification
0Toutes les vérifications ont réussi (y compris lorsqu'aucun environnement n'est encore installé)
1Un environnement installé ne passe pas la vérification, une commande de hook enregistrée ne peut pas démarrer, un adaptateur n'a pas pu être chargé ou sondé, ou un profil présent a échoué à la validation du schéma
64Erreur d'utilisation : une option ou une commande inconnue, ou une valeur d'option manquante ou invalide. Sous --json, l'erreur est une enveloppe JSON avec le code cli.usage.

Voir aussi

On this page