Explorar la documentación

update-policy

Mostrar o fijar la política del proyecto que decide si BMAD+ busca actualizaciones y si alguna puede aplicarse sin ti: modos off, notify y auto, canal, rango, preversiones, el archivo y los errores.

En esta página
  1. Sinopsis
  2. El archivo de política
  3. Códigos de salida
  4. Salida
  5. Errores y qué hacer
  6. Ejemplos

La política de actualización es un pequeño archivo de tu proyecto que dice cuánto puede hacer BMAD+ ante las nuevas versiones. Por defecto avisa y espera. Puedes desactivar las consultas, o permitir actualizaciones automáticas dentro de un rango de versiones que elijas: así un equipo deja avanzar una línea de parches de confianza y mantiene a una persona al mando de lo demás. update-policy muestra la política y, con opciones, la reescribe. Nunca comprueba ni instala nada por sí mismo.

Sinopsis

En la terminal de tu proyecto
npx bmad-plus update-policy [-d <path>] [--mode <off|notify|auto>] [--range <semver-range>] [--channel <tag>] [--allow-prerelease | --stable-only] [--json]

Opciones de update-policy
OpciónArgumentoQué hace
-d, --directory <path>carpetaProyecto (por defecto, la carpeta actual).
--mode <mode>off, notify, autooff: no contactar nunca con npm. notify: comprobar e informar, una persona aplica. auto: permitir actualizaciones automáticas dentro de --range. auto exige --range.
--range <range>rango semverLas versiones que pueden alcanzar las actualizaciones automáticas, por ejemplo ^0.23.0. Debe ser un rango semver válido.
--channel <tag>etiqueta npmLa etiqueta de publicación de npm que seguir. Por defecto latest. Minúsculas, dígitos, - y _, empezando por letra, 32 caracteres como máximo.
--allow-prerelease-Permitir preversiones como destino.
--stable-only-No permitir preversiones (lo predeterminado). No se combina con --allow-prerelease.
--json-Imprimir {"policy": {...}, "changed": true|false}; los errores imprimen {"error": "..."}.

El archivo de política

La política vive en _bmad/update-policy.json. Sin el archivo se aplica el valor por defecto: modo notify, canal latest, sin rango, sin preversiones, registro https://registry.npmjs.org/. El registro no es configurable: cualquier otro valor invalida la política, de modo que las actualizaciones no pueden redirigirse a otra fuente. Se rechazan las claves desconocidas. El archivo se escribe de forma atómica y nunca a través de un enlace.

Una política que permite parches automáticos en 0.23.x
{
  "schemaVersion": 1,
  "mode": "auto",
  "channel": "latest",
  "allowedRange": "~0.23.0",
  "allowPrerelease": false,
  "registry": "https://registry.npmjs.org/"
}

Qué hace cada modo
Modoupdate-checkupdate --latest
offNo contacta con npm: estado off.Rechazada: updates-disabled.
notify (por defecto)Comprueba e informa; el motivo es approval-required.Solo con --yes. --auto se rechaza.
autoInforma ready-for-authorized-update cuando el destino está dentro del rango y los archivos no han cambiado.Con --yes, o con --auto para un destino dentro del rango; --auto exige además un inventario de propiedad completo y ningún conflicto.

Códigos de salida

Códigos de salida de update-policy
CódigoSignificado
0Política mostrada o guardada.
1Combinación de opciones inválida, política inválida o archivo de política ilegible. El mensaje va al flujo de error (o al campo JSON error).

Salida

La salida es una línea: Update policy saved: ... si cambiaste algo, Update policy: ... si solo miraste. Las transcripciones se componen con la plantilla del código y se señalan como simuladas.

Mirar y luego permitir parchesSimulado
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

Transcripción ilustrativa, no capturada de una ejecución real. Fuente: tools/cli/commands/update-policy.js línea 40 y tools/cli/lib/update-policy.js DEFAULT_POLICY

Errores y qué hacer

Mensajes de update-policy
MensajeCausaQué hacer
Choose --allow-prerelease or --stable-only.Se dieron ambas opciones.Quédate con una.
--mode auto requires an explicit --range.auto sin rango.Añade --range "<semver range>".
Invalid update policy: check mode, channel, range, prerelease flag and official registry.Un valor está fuera de límites: modo, nombre de canal, sintaxis del rango, o un registro distinto del de npm.Corrige el valor. El registro no se puede cambiar.
Automatic updates require an explicit allowedRange.El archivo dice auto sin allowedRange.Fija un rango o cambia el modo.
Update policy is unreadable or invalid: ...El archivo existente no es JSON válido o no supera la validación.Corrige o borra _bmad/update-policy.json y vuelve a fijar la política.

Ejemplos

No buscar nunca actualizaciones en este proyecto
npx bmad-plus update-policy --mode off

Volver al valor por defecto (avísame, yo decido)
npx bmad-plus update-policy --mode notify

Véase también