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.
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
npx bmad-plus doctor [-d <path>] [-l <code>] [--json] [--verify-python]| Option | Argument | Ce qu’elle fait |
|---|---|---|
-d, --directory <path> | dossier | Projet à contrôler (par défaut : dossier courant). |
-l, --lang <code> | code de langue | Accepté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
| Code | Signification |
|---|---|
| 0 | Aucun contrôle n’est en erreur. Les avertissements seuls ne font pas échouer la commande. |
| 1 | Au 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.
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.npx bmad-plus doctor --directory .\demo-appCe 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.
| Code | Statut | Signification et que faire |
|---|---|---|
installation.missing | error | Pas de manifeste : BMAD+ n’est pas installé dans ce dossier. Vérifiez le dossier ou installez. |
manifest.unreadable, manifest.invalid | error | Le manifeste est illisible ou il lui manque des champs. Restaurez-le, ou relancez install. |
manifest.valid | pass | Manifeste trouvé, avec sa version. |
lock.active | warning | Une installation ou mise à jour tient le verrou en ce moment (pid et heure de début affichés). Attendez. |
lock.stale | error | Un 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.unreadable | warning | Le verrou n’a pas pu être inspecté. |
version.cli | pass / warning | Les versions installée et lancée correspondent, ou non. Un écart est le signal pour lancer update. |
pack.unknown, pack.core-missing | error | Le manifeste liste un pack inconnu de ce paquet, ou n’a pas Core. |
studio.resources | pass / error | Avec Dev Studio : ses workflows et ressources se résolvent (ou pourquoi non). |
shield.ai-register | pass / warning | Avec Shield : le registre de traitements d’IA couvre les intégrations d’IA trouvées. Jamais une erreur. |
file.unchanged | pass | Un fichier géré correspond à son empreinte enregistrée. |
file.modified | warning | Un fichier géré a été modifié localement. Relisez avant de mettre à jour ; update le préservera. |
file.unowned | warning | Un fichier requis existe sans empreinte enregistrée. |
file.missing, file.unreadable | error | Un fichier requis est absent ou illisible. Relancez install pour le restaurer. |
inventory.complete, .incomplete, .legacy, .invalid, inventory.omissions | pass / 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.unreadable | pass / error | _bmad/config.yaml est-il là ? |
integrations.legacy, integrations.invalid, adapters.invalid | warning / error | La sélection d’outils enregistrée ou les empreintes d’adaptateurs manquent ou sont invalides. |
adapter.unchanged, .adopted, .unowned, .modified, .missing, .unreadable | pass / 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.node | pass / error | Node.js atteint au moins le minimum (20.0.0). |
runtime.requirements | pass / error | Pour les packs Python : le fichier de dépendances est livré dans le paquet. |
runtime.python-unverified, runtime.python-probe | warning / 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.unreadable | error | Le 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
npx bmad-plus doctor --json > doctor.json || echo "installation needs attention"npx bmad-plus doctor --verify-pythonVoir aussi
- install install
- update update
- update-check update-check
- Adaptateurs Adaptateurs
- Dépannage Dépannage