Flags
Referencia completa de cada flag de ps-lando en v1.0, más exit codes y la tabla v0.x → v1 de eliminadas.
Cada flag aceptada por ps-lando v1.0, agrupada por comando. Las flags eliminadas en 0.x se listan al final con sus reemplazos. Los exit codes se documentan en la tabla Exit codes — la CLI usa el rango contiguo 64–82 para categorías de error spec'd en v1 (mirror de Info-Zip 82 + base 64 de sysexits.h).
Flags de create
Básico
| Flag | Tipo | Default | Desde | Descripción |
|---|---|---|---|---|
-y, --yes | bool | false | 0.1 | No interactivo, acepta defaults. CI-friendly. |
--ps-version=<v> | string | (picker) | 0.3 | Tag de PrestaShop (p. ej. 8.2.5, 9.1.0). Se salta el picker. Alias legacy --ps. |
--ps-zip=<path> | string | (descarga) | 0.3 | Usa un zip de PS pre-descargado. Salta la red. |
-z, --zips=<dir> | string | cwd | 0.1 | Carpeta con zips de tema + módulos. |
--hummingbird-build | bool | false | 0.4 | Tras instalar, compila assets de Hummingbird 2.0 vía un contenedor node:20. |
Selección de tema y preset (v1.0+)
| Flag | Tipo | Default | Desde | Descripción |
|---|---|---|---|---|
--theme=<name|path|none> | string | (prompt) | 1.0 | Nombre de tema (matchea un <name> de theme.yml / theme.xml en zips del cwd) o ruta .zip. --theme=none descarta el deployment del tema entero. Salta el prompt select interactivo. |
--preset=<name> | string (repetible) | (binding por nombre de tema) | 1.0 | Built-in (panda, none) o ruta relativa (./presets/foo.ts). Repite para apilar. Por defecto, un preset cuyo nombre coincida con el nombre del tema seleccionado se activa (p. ej. elegir panda activa el preset panda incluido). |
--no-preset | bool | false | 1.0 | Desactiva todos los presets — anula el binding por nombre de tema de arriba. |
--force-overwrite-theme | bool | false | 1.0 | Permite sobrescribir un themes/<name>/ existente. |
--allow-incompat-theme | bool | false | 1.0 | Salta la verificación de <ps_versions_compliancy>. |
--strict-compat | bool | false | 1.0 | Promueve un warning de compat a error fatal (exit 76). |
Selección de módulos
| Flag | Tipo | Default | Desde | Descripción |
|---|---|---|---|---|
--exclude=<glob> | string (repetible) | [] | 1.0 | Glob picomatch, case-insensitive. Compone con --only. Vacío termina con exit 64. |
--only=<glob> | string (repetible) | [] | 0.5 | Instala SOLO módulos que matcheen el glob. Compone con --exclude (intersección). |
--no-install-modules | bool | false | 0.1 | Salta el batch install al final de create. Los módulos sí se copian. |
--no-copy-skipped | bool | false | 0.5.2 | Junto a --exclude / --only, también excluye los módulos filtrados del paso de copia. |
--allow-stock-overwrite | bool | false | 1.0 | Permite sobrescribir módulos stock de PS. |
--sequential | bool | false | 0.4.2 | Instala módulos uno a uno (default es paralelo concurrencia 3). |
Hooks y recipes
| Flag | Tipo | Default | Desde | Descripción |
|---|---|---|---|---|
--recipes=<names> | string | "" | 0.4 | Recipes incluidas separadas por coma. Usado en modo -y. |
--on-hook-failure=<fail|continue> | enum | continue | 0.4 | Si un hook fallido aborta el resto del pipeline. |
Config y cache
| Flag | Tipo | Default | Desde | Descripción |
|---|---|---|---|---|
--config=<path> | string | (cosmiconfig) | 1.0 | Salta el descubrimiento de cosmiconfig; carga ese archivo directamente. |
--no-cache | bool | false | 1.0 | Salta lectura/escritura de .pslando-cache.json para esta ejecución. |
--log-format=<text|json> | enum | text | 1.0 | Mirror de la env PSLANDO_LOG_FORMAT. JSON pone decisiones en stderr una por línea. |
--quiet | bool | false | 0.4 | Suprime logs de info / decisión en stderr. |
--verbose | bool | false | 0.4 | Anota cada línea de decisión resuelta con su source:. |
--help, --version | bool | — | 0.1 | Estándar. |
Flags de install-modules
install-modules (alias im) reusa --exclude, --only, --no-copy-skipped, --sequential, --allow-stock-overwrite, --config, --log-format, --quiet, --verbose de create más:
| Flag | Tipo | Default | Desde | Descripción |
|---|---|---|---|---|
--dry-run | bool | false | 0.4 | Previsualiza el orden de install sin invocar PrestaShop. |
--include=<prefix> | string | — | 0.1 | Solo instala módulos cuyo nombre empiece por <prefix> (legacy; considera --only=<prefix>*). |
Flags de init (1.0+)
ps-lando init es el asistente interactivo. Recorre 7 prompts (clack) y escribe pslando.config.json, init-scripts/01-example.sh y una entrada en .gitignore. Mira Referencia → Config y Referencia → Comandos.
| Flag | Tipo | Default | Desde | Descripción |
|---|---|---|---|---|
--yes | bool | false | 1.0 | Salta todos los prompts, escribe defaults. |
--force | bool | false | 1.0 | Sobrescribe pslando.config.* existente. Sin --force, rechaza con exit 82. |
Flags de cache clear (1.0+)
ps-lando cache clear borra el cache local del plan (.pslando-cache.json).
| Flag | Tipo | Default | Desde | Descripción |
|---|---|---|---|---|
-y, --yes | bool | false | 1.0 | Salta el prompt de confirmación. |
db reset / db dump / db restore / doctor / activate-theme
Estas flags no cambian en v1.0:
db reset:-y, --yesdb dump:--with-files(empaqueta SQL +img/+themes/<active>/en.tar.gz)db restore:-y, --yesdoctor:--fixactivate-theme:--force-sql
Flags eliminadas (BREAKING — v1.0.0)
Las cuatro flags --skip-* de 0.5.x se eliminaron. Usarlas ahora termina con exit 64 (UsageError) y un hint de migración en stderr. Reemplazos:
| Eliminada | Reemplazo |
|---|---|
--skip-easybuilder | --exclude=steasybuilder* (o modules.exclude en pslando.config.json) |
--skip-blog | --exclude=stblog* (o vía configuración de grupos del preset panda) |
--skip-social | Patrones --exclude=<glob> o config de preset |
--skip-marketing | Patrones --exclude=<glob> o config de preset |
--skip <list> | --exclude=<glob> (también funcionan patrones por-nombre) |
Mira la guía Migración desde 0.x para recetas de grep que encuentran flags antiguas en scripts de CI.
Exclusiones mutuas
--no-presetno se combina con--preset=<name>(exit 64).--exclude=(vacío) termina con exit 64 — pasa al menos un patrón no vacío.
Exit codes
ps-lando v1.0 usa estos exit codes (rango contiguo 64–82 para categorías spec'd):
| Código | Nombre | Trigger |
|---|---|---|
| 0 | OK | Éxito. |
| 1 | GenericError | Catch-all (error desconocido / excepción JS). |
| 2 | AmbiguousTheme | 2+ temas detectados, no-TTY, sin --theme=. |
| 64 | UsageError | Flag desconocida / eliminada, valor malo, --exclude= vacío. |
| 65 | SchemaValidationError | pslando.config.* no pasa el schema zod. |
| 66 | ConfigNotFound | --config=<path> pasado pero archivo ausente. |
| 67 | PresetNotFound | --preset=<name> no resuelve a nada. |
| 68 | CorruptZip | unzip -l falla en un zip detectado. |
| 69 | EncryptedZip | Zip cifrado (exit 82 de Info-Zip). |
| 70 | UnknownZipShape | El zip no tiene ni theme.yml/.xml ni <name>/<name>.php en la raíz. |
| 71 | DependencyResolutionError | Ciclo o falta de dependencia entre módulos / presets. |
| 72 | HookExecutionError | Hook con exit no-cero Y --on-hook-failure=fail. |
| 73 | CacheCorruption | .pslando-cache.json malformado o ilegible. |
| 74 | NetworkError | Fallo de descarga PS / chequeo del registry npm tras reintentos. |
| 75 | LandoStartFailed | lando start retornó no-cero. |
| 76 | ThemeIncompatible | Mismatch de <ps_versions_compliancy> Y --strict-compat. |
| 77 | ThemeOverwriteRefused | themes/<name>/ existe Y sin --force-overwrite-theme. |
| 78 | StockModuleOverwrite | Un zip de módulo aplastaría un módulo stock de PS Y sin --allow-stock-overwrite. |
| 79 | DiskFull | Escritura falló con ENOSPC. |
| 80 | PermissionDenied | Permiso de filesystem (EACCES / EPERM). |
| 81 | InitCancelled | El usuario pulsó Ctrl-C durante ps-lando init. (Tratado como 0 en algunos entornos — ver spec §1.5.) |
| 82 | InitConfigExists | pslando.config.* ya existe Y sin --force. |
Para definiciones completas de trigger y acción sugerida del usuario, mira la tabla del spec.
Defaults en modo -y
Cuando se pasa -y sin otras flags:
| Campo | Default |
|---|---|
| Nombre del proyecto | basename del cwd |
| Versión PS | la estable más reciente del manifest (actualmente 9.1.0) |
| Tema | 1 detectado → auto-seleccionado. 2+ detectados → exit 2 (AmbiguousThemeError) — pasa --theme=<name>. 0 detectados → install vanilla (classic / hummingbird incluidos). |
| Preset | se activa si su nombre coincide con el nombre del tema seleccionado (p. ej. panda → preset panda incluido). --no-preset lo desactiva. |
| Módulos | cada zip de módulo detectado en cwd queda auto-marcado (= instalado). Filtra con --exclude=<glob> / --only=<glob>. |
| PHP | 8.2 (PS 9) o 8.1 (PS 8) |
| Base de datos | MySQL |
| Extras | phpMyAdmin + MailHog |
| Tema hijo | sí, llamado <project>_child |
| Email admin | admin@example.com |
| Password admin | sandbox1234 |
| Locale | es / es / Europe/Madrid |