Parcourir la documentation

update-policy

Afficher ou fixer la politique du projet qui décide si BMAD+ cherche des mises à jour et si certaines peuvent s’appliquer sans vous : modes off, notify, auto, canal, plage, préversions, erreurs.

Sur cette page
  1. Synopsis
  2. Le fichier de politique
  3. Codes de sortie
  4. Sortie
  5. Erreurs et que faire
  6. Exemples

La politique de mise à jour est un petit fichier de votre projet qui dit ce que BMAD+ peut faire face aux nouvelles versions. Par défaut, il vous prévient et attend. Vous pouvez couper les recherches, ou autoriser des mises à jour automatiques dans une plage de versions de votre choix : c’est ainsi qu’une équipe laisse avancer une série de correctifs de confiance tout en gardant un humain aux commandes pour le reste. update-policy affiche la politique et, avec des options, la réécrit. Elle ne vérifie ni n’installe rien elle-même.

Synopsis

Dans le terminal de votre projet
npx bmad-plus update-policy [-d <path>] [--mode <off|notify|auto>] [--range <semver-range>] [--channel <tag>] [--allow-prerelease | --stable-only] [--json]

Options de update-policy
OptionArgumentCe qu’elle fait
-d, --directory <path>dossierProjet (par défaut : dossier courant).
--mode <mode>off, notify, autooff : ne jamais contacter npm. notify : vérifier et rapporter, un humain applique. auto : autoriser des mises à jour automatiques dans --range. auto exige --range.
--range <range>plage semverLes versions que les mises à jour automatiques peuvent atteindre, par exemple ^0.23.0. Doit être une plage semver valide.
--channel <tag>étiquette npmL’étiquette de publication npm à suivre. Par défaut latest. Lettres minuscules, chiffres, - et _, en commençant par une lettre, 32 caractères au plus.
--allow-prerelease-Autoriser les préversions comme cibles.
--stable-only-Interdire les préversions (le défaut). Incompatible avec --allow-prerelease.
--json-Afficher {"policy": {...}, "changed": true|false} ; les erreurs affichent {"error": "..."}.

Le fichier de politique

La politique vit dans _bmad/update-policy.json. Sans fichier, le défaut s’applique : mode notify, canal latest, pas de plage, pas de préversion, registre https://registry.npmjs.org/. Le registre n’est pas configurable : toute autre valeur rend la politique invalide, si bien que les mises à jour ne peuvent pas être redirigées vers une autre source. Les clés inconnues sont refusées. Le fichier est écrit de façon atomique et jamais à travers un lien.

Une politique autorisant les correctifs automatiques en 0.23.x
{
  "schemaVersion": 1,
  "mode": "auto",
  "channel": "latest",
  "allowedRange": "~0.23.0",
  "allowPrerelease": false,
  "registry": "https://registry.npmjs.org/"
}

Ce que fait chaque mode
Modeupdate-checkupdate --latest
offNe contacte pas npm : statut off.Refusée : updates-disabled.
notify (défaut)Vérifie et rapporte ; la raison est approval-required.Seulement avec --yes. --auto est refusé.
autoRapporte ready-for-authorized-update quand la cible est dans la plage et que les fichiers sont inchangés.Avec --yes, ou avec --auto pour une cible dans la plage ; --auto exige aussi un inventaire de propriété complet et aucun conflit.

Codes de sortie

Codes de sortie de update-policy
CodeSignification
0Politique affichée ou enregistrée.
1Combinaison d’options invalide, politique invalide ou fichier de politique illisible. Le message va sur le flux d’erreur (ou dans le champ JSON error).

Sortie

La sortie tient en une ligne : Update policy saved: ... quand vous avez changé quelque chose, Update policy: ... quand vous avez seulement regardé. Les transcriptions sont composées à partir du modèle du code et signalées comme simulées.

Regarder, puis autoriser les correctifsSimulé
npx bmad-plus update-policy
Update policy: notify; channel=latest; range=none; prereleases=false
npx bmad-plus update-policy --mode auto --range "~0.23.0"
Update policy saved: auto; channel=latest; range=~0.23.0; prereleases=false

Transcription illustrative, non capturée lors d’une exécution réelle. Source: tools/cli/commands/update-policy.js ligne 40 et tools/cli/lib/update-policy.js DEFAULT_POLICY

Erreurs et que faire

Messages de update-policy
MessageCauseQue faire
Choose --allow-prerelease or --stable-only.Les deux options sont données.N’en gardez qu’une.
--mode auto requires an explicit --range.auto sans plage.Ajoutez --range "<semver range>".
Invalid update policy: check mode, channel, range, prerelease flag and official registry.Une valeur est hors limites : mode, nom de canal, syntaxe de plage, ou registre autre que celui de npm.Corrigez la valeur. Le registre ne peut pas être changé.
Automatic updates require an explicit allowedRange.Le fichier dit auto sans allowedRange.Fixez une plage, ou changez le mode.
Update policy is unreadable or invalid: ...Le fichier existant n’est pas du JSON valide ou échoue à la validation.Corrigez ou supprimez _bmad/update-policy.json, puis fixez de nouveau la politique.

Exemples

Ne jamais chercher de mises à jour dans ce projet
npx bmad-plus update-policy --mode off

Retour au défaut (prévenez-moi, je décide)
npx bmad-plus update-policy --mode notify

Voir aussi