Explorar la documentación

update-check

Preguntar a npm si existe una versión más reciente de BMAD+ y si tu política permitiría aplicarla, sin cambiar nada: opciones, estados, motivos, campos JSON, caché y modo sin conexión.

En esta página
  1. Sinopsis
  2. Qué lee y qué escribe
  3. Estados y motivos
  4. Códigos de salida
  5. Salida
  6. Errores y qué hacer
  7. Ejemplos

update-check te dice cómo está tu proyecto frente a la última versión publicada. Compara tres cosas: la versión instalada en el proyecto, la del paquete que ejecutas y la más reciente de tu canal de actualización. Solo informa. No se descarga, instala ni escribe nada salvo un pequeño archivo de caché. Los asistentes la ejecutan una vez por sesión porque los archivos de instrucciones generados se lo piden.

Sinopsis

En la terminal de tu proyecto
npx bmad-plus update-check [-d <path>] [--refresh] [--offline] [--json]

Opciones de update-check
OpciónQué hace
-d, --directory <path>Proyecto a comprobar (por defecto, la carpeta actual).
--refreshIgnorar la caché de 24 horas y la pausa de una hora tras un fallo, y consultar npm ahora.
--offlineNo hacer ninguna petición de red; informar solo del estado local (estado unknown, motivo offline, o el destino obsoleto de la caché).
--jsonImprimir una línea de JSON en lugar de dos líneas de texto.

Qué lee y qué escribe

  • Lee _bmad/.bmad-plus-install.json (versión instalada), _bmad/update-policy.json (modo, canal, rango) y, para el veredicto de disponibilidad, el inventario de propiedad.
  • Solo contacta con npm si el modo de la política no es off, no estás en --offline y no hay caché fresca. La consulta ejecuta npm view bmad-plus@<channel> version engines --json contra el registro oficial https://registry.npmjs.org/, con 4 segundos de límite, sin reintentos y un tope de 6 segundos.
  • Escribe .bmad/update-check.json: la versión vista y cuándo (válida 24 horas), o la hora del último fallo (entonces espera una hora antes de volver a preguntar, salvo --refresh).
  • Es el único comando de BMAD+ que existe para consultar npm (update --latest también consulta npm y luego descarga el destino con npm exec). Para desactivar del todo las consultas: update-policy --mode off.

Estados y motivos

La salida de texto son dos líneas. La primera es Installed: <v>; running: <v>; channel <name>: <target>, con unknown si falta un valor. La segunda es <status>: <reason>, seguida de (cached result is stale) cuando el destino viene de una caché caducada.

Estados
EstadoSignificado
update-availableEl canal lleva una versión más nueva que la instalada. El motivo dice si puede aplicarse (ver abajo).
currentLa versión instalada es igual a la del canal (motivo installed-matches-channel).
aheadLa versión instalada es más nueva que el canal (motivo installed-ahead-of-channel).
offEl modo de la política es off (motivo updates-disabled). No se contactó con npm.
unknownSin respuesta: offline, registry-retry-backoff (fallo reciente) o registry-unavailable.
invalid-runtime, invalid-installation, invalid-policyLa versión en ejecución o el reloj son inutilizables; no hay manifiesto válido; el archivo de política no es válido. Código de salida 1.

Cuando el estado es update-available, el motivo explica qué se interpone. ready-for-authorized-update significa que la política la autoriza y los archivos no han cambiado: canAutoApply es verdadero. Otros motivos: approval-required (el modo es notify, así que debe aprobar una persona), outside-allowed-range, prerelease-not-allowed, incompatible-node-version, Complete file ownership inventory is required. (instalación antigua), Local changes or an active update require manual review., ownership-readiness-failed.

La línea JSON lleva: schemaVersion, installedVersion, runningVersion, latestVersion (solo en el canal latest), targetVersion, channel, status, checkedAt, source (registry, cache, stale-cache o none), stale, updateAvailable, releaseEligible, versionEligible, canAutoApply, engineCompatible, engines y reason.

Códigos de salida

Códigos de salida de update-check
CódigoSignificado
0Cualquier otro estado, incluidos unknown y off: no poder llegar a npm no es un fallo.
1El estado empieza por invalid-.

Salida

Las recetas de aceptación no ejercitaron este comando, así que estas transcripciones se componen con las plantillas de salida del código (las versiones son marcadores) y se señalan como simuladas.

Una versión más reciente que la política no aplica solaSimulado
npx bmad-plus update-check
Installed: <old>; running: <old>; channel latest: <new>
update-available: approval-required

Transcripción ilustrativa, no capturada de una ejecución real. Fuente: tools/cli/commands/update-check.js líneas 32-37; tools/cli/lib/update-check.js líneas 209-231

Sin conexiónSimulado
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"}
Código de salida 0. Un asistente lo trata como «continuar la tarea» y nunca afirma que la versión esté al día.

Transcripción ilustrativa, no capturada de una ejecución real. Fuente: tools/cli/lib/update-check.js líneas 161-163

Errores y qué hacer

Mensajes de update-check
Mensaje o motivoCausaQué hacer
No BMAD+ installation found in <dir> (missing _bmad/.bmad-plus-install.json). (en el flujo de error)Carpeta equivocada o no instalado; el estado es invalid-installation.Ejecuta desde el proyecto o pasa --directory.
unknown: registry-unavailableNo se pudo llegar a npm en el tiempo límite.Reintenta más tarde, o --refresh. Una máquina sin conexión puede ignorarlo.
unknown: registry-retry-backoffSe anotó un fallo hace menos de una hora.Usa --refresh para preguntar de nuevo ahora.
invalid-policy: unreadable-or-invalid-update-policy_bmad/update-policy.json no es válido.Corrige o borra el archivo, o reescríbelo con update-policy.
update-available: incompatible-node-versionLa nueva versión necesita un Node.js más reciente que el tuyo.Actualiza Node.js y vuelve a comprobar.

Ejemplos

Para un script: actuar solo si se permite una actualización automática
npx bmad-plus update-check --json --refresh

Véase también