Parcourir la documentation

doctor

Rapport de santé en lecture seule : manifeste, inventaire de propriété, fichiers modifiés, fichiers d’instructions, environnements. Options, codes de contrôle, rapport JSON, sortie réelle.

Sur cette page
  1. Synopsis
  2. Codes de sortie
  3. Sortie réelle
  4. Ce qu’elle contrôle
  5. Le rapport JSON
  6. Exemples

doctor répond à une seule question : cette installation est-elle intacte ? Elle compare ce qui est sur le disque à ce que le manifeste dit que BMAD+ a installé, vérifie la configuration et les fichiers d’instructions, regarde les environnements dont les packs ont besoin et affiche ce qu’elle trouve. Elle n’écrit jamais dans le projet et ne contacte jamais npm ; pour savoir s’il existe une version plus récente, utilisez update-check. Lancez-la après une installation, après une mise à jour, ou quand quelque chose se comporte bizarrement.

Synopsis

Dans le terminal de votre projet
npx bmad-plus doctor [-d <path>] [-l <code>] [--json] [--verify-python]

Options de doctor
OptionArgumentCe qu’elle fait
-d, --directory <path>dossierProjet à contrôler (par défaut : dossier courant).
-l, --lang <code>code de langueAcceptée par cohérence ; le rapport est toujours en anglais.
--json-Afficher tout le rapport en JSON au lieu du résumé lisible.
--verify-python-Exécuter aussi les interpréteurs Python installés pour vérifier leur version et leurs imports. Sans elle, doctor n’exécute aucun interpréteur. Elle ne provisionne ni ne répare jamais rien.

Codes de sortie

Codes de sortie de doctor
CodeSignification
0Aucun contrôle n’est en erreur. Les avertissements seuls ne font pas échouer la commande.
1Au moins un contrôle est en erreur (par exemple un fichier requis manquant, un pack inconnu, un verrou périmé, un Node.js sous le minimum).

Sortie réelle

Enregistré juste après l’installation montrée sur la page de install (Core et Design, 0.23.0). Le rapport lisible ne liste que ce qui n’est pas un simple succès, plus la ligne du manifeste, puis un cadre de synthèse. « 87/87 checks passed » compte tous les contrôles, y compris les réussis qui ne sont pas listés.

doctor après une installation propre
npx bmad-plus doctor --directory .\demo-app
T   BMAD+ Doctor v0.23.0
|
*  Manifest found: v0.23.0
|
o  BMAD+ Health Report ---------------------------------------------------------------------------------+
|                                                                                                       |
|  87/87 checks passed                                                                                  |
|  0 error(s), 0 warning(s)                                                                             |
|  Installed: v0.23.0 | Executing CLI: v0.23.0                                                          |
|  Ownership inventory: complete                                                                        |
|  Integrations use host-managed execution; host capabilities were not probed.                          |
|  Optional Nexus process execution requires an explicit plan; executable availability was not probed.  |
|                                                                                                       |
+-------------------------------------------------------------------------------------------------------+
|
•  Published version is not checked here. Use `bmad-plus update-check --json` to check npm.
|
—  Installation checks passed.

Sortie capturée lors d’une exécution réelle. Source: Capturé pendant la recette d’acceptation de la 0.23.0, le 2026-10-18 (étape 2; lignes npm notice retirées)

Ce qu’elle contrôle

Chaque contrôle a un code, un statut (pass, warning ou error), un message et souvent un chemin. Les codes ci-dessous sont ceux que la commande peut émettre.

Codes de contrôle
CodeStatutSignification et que faire
installation.missingerrorPas de manifeste : BMAD+ n’est pas installé dans ce dossier. Vérifiez le dossier ou installez.
manifest.unreadable, manifest.invaliderrorLe manifeste est illisible ou il lui manque des champs. Restaurez-le, ou relancez install.
manifest.validpassManifeste trouvé, avec sa version.
lock.activewarningUne installation ou mise à jour tient le verrou en ce moment (pid et heure de début affichés). Attendez.
lock.staleerrorUn verrou de plus de 60 minutes, illisible depuis plus d’une minute, ou dont le processus est mort. Si rien ne tourne, supprimez .bmad/update.lock.
lock.unreadablewarningLe verrou n’a pas pu être inspecté.
version.clipass / warningLes versions installée et lancée correspondent, ou non. Un écart est le signal pour lancer update.
pack.unknown, pack.core-missingerrorLe manifeste liste un pack inconnu de ce paquet, ou n’a pas Core.
studio.resourcespass / errorAvec Dev Studio : ses workflows et ressources se résolvent (ou pourquoi non).
shield.ai-registerpass / warningAvec Shield : le registre de traitements d’IA couvre les intégrations d’IA trouvées. Jamais une erreur.
file.unchangedpassUn fichier géré correspond à son empreinte enregistrée.
file.modifiedwarningUn fichier géré a été modifié localement. Relisez avant de mettre à jour ; update le préservera.
file.unownedwarningUn fichier requis existe sans empreinte enregistrée.
file.missing, file.unreadableerrorUn fichier requis est absent ou illisible. Relancez install pour le restaurer.
inventory.complete, .incomplete, .legacy, .invalid, inventory.omissionspass / warning / errorÉtat de l’inventaire de propriété. legacy (pas d’inventaire) et incomplete limitent ce que update --auto peut faire ; invalid est une erreur.
config.present, config.missing, config.unreadablepass / error_bmad/config.yaml est-il là ?
integrations.legacy, integrations.invalid, adapters.invalidwarning / errorLa sélection d’outils enregistrée ou les empreintes d’adaptateurs manquent ou sont invalides.
adapter.unchanged, .adopted, .unowned, .modified, .missing, .unreadablepass / warning / errorÉtat de AGENTS.md et de chaque fichier d’outil sélectionné : intact ; remplacé par un fichier généré par le dépôt ; non reconnu comme appartenant à BMAD+ ; modifié par vous ; absent ; illisible.
runtime.nodepass / errorNode.js atteint au moins le minimum (20.0.0).
runtime.requirementspass / errorPour les packs Python : le fichier de dépendances est livré dans le paquet.
runtime.python-unverified, runtime.python-probewarning / passÉtat de l’environnement Python ; avec --verify-python, la version de l’interpréteur et les imports ont réellement été exécutés.
package.unreadableerrorLe paquet en cours d’exécution ne peut pas être inspecté.

Le rapport JSON

Avec --json, la sortie est un unique document JSON et rien d’autre. Ses clés de premier niveau sont schemaVersion, projectDir, status (ok, warning ou error), versions (installed, cli et published, toujours null car doctor n’interroge jamais npm), inventory (status, trackedFiles), packs, integrations, processExecution, runtimes, checks (la liste complète, succès compris) et summary (passed, warnings, errors). Le code de sortie suit summary.errors.

Remarque Ce que doctor ne sait pas

Elle ne sonde pas votre assistant : « Integrations use host-managed execution; host capabilities were not probed. » Un rapport vert signifie que les fichiers sont intacts, pas que votre outil d’IA les a chargés.

Exemples

Conditionner un job de CI au résultat
npx bmad-plus doctor --json > doctor.json || echo "installation needs attention"

Contrôler aussi les imports Python
npx bmad-plus doctor --verify-python

Voir aussi