Parcourir la documentation

update-check

Demander à npm s’il existe une version plus récente de BMAD+ et si votre politique la laisserait s’appliquer, sans rien changer : options, statuts, raisons, champs JSON, cache et mode hors ligne.

Sur cette page
  1. Synopsis
  2. Ce qu’elle lit et écrit
  3. Statuts et raisons
  4. Codes de sortie
  5. Sortie
  6. Erreurs et que faire
  7. Exemples

update-check vous dit où en est votre projet par rapport à la dernière version publiée. Elle compare trois choses : la version installée dans le projet, celle du paquet que vous lancez et la plus récente sur votre canal de mise à jour. Elle ne fait que rapporter. Rien n’est téléchargé, installé ni écrit, sauf un petit fichier de cache. Les assistants la lancent une fois par session parce que les fichiers d’instructions générés le leur demandent.

Synopsis

Dans le terminal de votre projet
npx bmad-plus update-check [-d <path>] [--refresh] [--offline] [--json]

Options de update-check
OptionCe qu’elle fait
-d, --directory <path>Projet à contrôler (par défaut : dossier courant).
--refreshIgnorer le cache de 24 heures et la pause d’une heure après un échec, et interroger npm tout de suite.
--offlineNe faire aucune requête réseau ; rapporter seulement l’état local (statut unknown, raison offline, ou la cible périmée du cache).
--jsonAfficher une ligne de JSON au lieu de deux lignes de texte.

Ce qu’elle lit et écrit

  • Lit _bmad/.bmad-plus-install.json (version installée), _bmad/update-policy.json (mode, canal, plage) et, pour le verdict de disponibilité, l’inventaire de propriété.
  • Ne contacte npm que si le mode de la politique n’est pas off, que vous n’êtes pas en --offline et qu’il n’y a pas de cache frais. La recherche lance npm view bmad-plus@<channel> version engines --json sur le registre officiel https://registry.npmjs.org/, avec 4 secondes de délai, sans nouvel essai et un plafond de 6 secondes.
  • Écrit .bmad/update-check.json : la version vue et quand (valable 24 heures), ou l’heure du dernier échec (elle attend alors une heure avant de redemander, sauf --refresh).
  • C’est la seule commande BMAD+ qui existe pour interroger npm (update --latest interroge aussi npm, puis télécharge la cible via npm exec). Pour couper complètement ces recherches : update-policy --mode off.

Statuts et raisons

La sortie texte tient en deux lignes. La première est Installed: <v>; running: <v>; channel <name>: <target>, avec unknown pour une valeur absente. La seconde est <status>: <reason>, suivie de (cached result is stale) quand la cible vient d’un cache expiré.

Statuts
StatutSignification
update-availableLe canal porte une version plus récente que l’installée. La raison dit si elle peut s’appliquer (voir plus bas).
currentLa version installée égale celle du canal (raison installed-matches-channel).
aheadLa version installée est plus récente que le canal (raison installed-ahead-of-channel).
offLe mode de la politique est off (raison updates-disabled). npm n’a pas été contacté.
unknownPas de réponse : offline, registry-retry-backoff (échec récent) ou registry-unavailable.
invalid-runtime, invalid-installation, invalid-policyLa version lancée ou l’horloge est inutilisable ; il n’y a pas de manifeste valide ; le fichier de politique est invalide. Code de sortie 1.

Quand le statut est update-available, la raison explique ce qui sépare de la mise à jour. ready-for-authorized-update signifie que la politique l’autorise et que les fichiers sont inchangés : canAutoApply est vrai. Autres raisons : approval-required (le mode est notify, donc un humain doit approuver), outside-allowed-range, prerelease-not-allowed, incompatible-node-version, Complete file ownership inventory is required. (installation ancienne), Local changes or an active update require manual review., ownership-readiness-failed.

La ligne JSON porte : schemaVersion, installedVersion, runningVersion, latestVersion (seulement sur le canal latest), targetVersion, channel, status, checkedAt, source (registry, cache, stale-cache ou none), stale, updateAvailable, releaseEligible, versionEligible, canAutoApply, engineCompatible, engines et reason.

Codes de sortie

Codes de sortie de update-check
CodeSignification
0Tout autre statut, y compris unknown et off : ne pas pouvoir joindre npm n’est pas un échec.
1Le statut commence par invalid-.

Sortie

Les recettes d’acceptation n’ont pas exercé cette commande ; ces transcriptions sont donc composées à partir des modèles de sortie du code (les versions sont des marqueurs) et signalées comme simulées.

Une version plus récente que la politique n’applique pas seuleSimulé
npx bmad-plus update-check
Installed: <old>; running: <old>; channel latest: <new>
update-available: approval-required

Transcription illustrative, non capturée lors d’une exécution réelle. Source: tools/cli/commands/update-check.js lignes 32-37 ; tools/cli/lib/update-check.js lignes 209-231

Hors ligneSimulé
npx bmad-plus update-check --offline --json
{"schemaVersion":1,"installedVersion":"<old>","runningVersion":"<old>","latestVersion":null,"targetVersion":null,"channel":"latest","status":"unknown","checkedAt":null,"source":"none","stale":false,"updateAvailable":null,"releaseEligible":false,"versionEligible":false,"canAutoApply":false,"engineCompatible":null,"engines":{},"reason":"offline"}
Code de sortie 0. Un assistant y voit « poursuivre la tâche » et ne prétend jamais que la version est à jour.

Transcription illustrative, non capturée lors d’une exécution réelle. Source: tools/cli/lib/update-check.js lignes 161-163

Erreurs et que faire

Messages de update-check
Message ou raisonCauseQue faire
No BMAD+ installation found in <dir> (missing _bmad/.bmad-plus-install.json). (sur le flux d’erreur)Mauvais dossier ou non installé ; le statut est invalid-installation.Lancez depuis le projet ou passez --directory.
unknown: registry-unavailablenpm n’a pas pu être joint dans le délai.Réessayez plus tard, ou --refresh. Une machine hors ligne peut l’ignorer.
unknown: registry-retry-backoffUn échec a été noté il y a moins d’une heure.Utilisez --refresh pour redemander maintenant.
invalid-policy: unreadable-or-invalid-update-policy_bmad/update-policy.json n’est pas valide.Corrigez ou supprimez le fichier, ou réécrivez-le avec update-policy.
update-available: incompatible-node-versionLa nouvelle version exige un Node.js plus récent que le vôtre.Mettez Node.js à jour, puis revérifiez.

Exemples

Pour un script : n’agir que si une mise à jour automatique est permise
npx bmad-plus update-check --json --refresh

Voir aussi