Referencia de CLI
Referencia de CLI
Sección titulada «Referencia de CLI»Interfaz de línea de comandos para el runtime de Wippy.
Flags Globales
Sección titulada «Flags Globales»Disponibles en todos los comandos:
| Flag | Corto | Descripción |
|---|---|---|
--config | Archivo de configuración (por defecto: .wippy.yaml) | |
--verbose | -v | Habilitar registro de depuración |
--very-verbose | Depuración con trazas de pila | |
--console | -c | Registro en consola con colores |
--silent | -s | Deshabilitar registro en consola |
--event-streams | -e | Transmitir registros al bus de eventos |
--profiler | -p | Habilitar pprof en localhost:6060 |
--memory-limit | -m | Límite de memoria (ej., 1G, 512M) |
Prioridad del límite de memoria: flag --memory-limit > variable de entorno GOMEMLIMIT > 1GB por defecto.
wippy init
Sección titulada «wippy init»Crear un nuevo archivo de bloqueo.
wippy initwippy init --src-dir ./src --modules-dir .wippy| Flag | Corto | Por defecto | Descripción |
|---|---|---|---|
--src-dir | -d | ./src | Directorio de código fuente |
--modules-dir | .wippy | Directorio de módulos | |
--lock-file | -l | wippy.lock | Ruta del archivo de bloqueo |
wippy run
Sección titulada «wippy run»Iniciar el runtime o ejecutar un comando.
wippy run # Iniciar el runtimewippy run list # Listar comandos disponibleswippy run test # Ejecutar pruebaswippy run snapshot.wapp # Ejecutar desde archivo packwippy run acme/http # Ejecutar módulo desde el hubwippy run acme/http@1.2.3 # Ejecutar versión específicawippy run --exec app:worker # Iniciar runtime y ejecutar un único proceso| Flag | Corto | Descripción |
|---|---|---|
--override | -o | Sobrescribir valores de entrada (namespace:entry:field=value); field puede ser kind para cambiar el tipo de la entrada |
--set | Sobrescribir un valor de configuración (section.path=value, repetible, tiene prioridad sobre el archivo de configuración) | |
--exec | -x | Ejecutar proceso y salir (namespace:entry) |
--host | ID del host de terminal para --exec (auto-detectado si solo existe un terminal.host) | |
--registry | URL del registro para módulos del hub |
--set escribe cualquier valor de configuración del runtime desde la línea de comandos, fusionado sobre .wippy.yaml por hoja:
wippy run --set cluster.enabled=true \ --set cluster.membership.join_addrs=node-2:7946,node-3:7946 \ --set cluster.raft.bootstrap_expect=3Los valores se convierten según su forma: true/false a bool, enteros y flotantes a números, el resto permanece como string (las duraciones como 5s se analizan donde la opción lo espera).
wippy lint
Sección titulada «wippy lint»Verificar código Lua en busca de errores de tipo y advertencias.
wippy lintwippy lint --level warningwippy lint --jsonwippy lint --rulesValida todas las entradas Lua: function.lua, library.lua, process.lua, workflow.lua (incluyendo sus variantes .bc).
| Flag | Corto | Por defecto | Descripción |
|---|---|---|---|
--lock-file | -l | wippy.lock | Ruta del archivo de bloqueo |
--level | warning | Severidad mínima: error, warning, hint | |
--ns | Filtrar por patrones de namespace (ej. app, lib.*) | ||
--code | Filtrar por códigos de error (ej. E0001,E0004) | ||
--rules | false | Habilitar reglas de estilo/calidad | |
--summary | false | Agrupar salida por código de error | |
--limit | 0 | Máximo de diagnósticos mostrados (0 = sin límite) | |
--json | false | Salida en JSON | |
--no-color | false | Deshabilitar salida con colores | |
--cache-reset | false | Limpiar caché Lua antes de hacer lint |
wippy add
Sección titulada «wippy add»Agregar una dependencia de módulo.
wippy add acme/httpwippy add acme/http@1.2.3wippy add acme/http@latest| Flag | Corto | Por defecto | Descripción |
|---|---|---|---|
--lock-file | -l | wippy.lock | Ruta del archivo de bloqueo |
--registry | URL del registro |
wippy install
Sección titulada «wippy install»Instalar dependencias desde el archivo de bloqueo.
wippy install # Instalar todowippy install acme/http # Instalar módulo específicowippy install --refresh acme/http # Re-descargar un módulo específico| Flag | Corto | Por defecto | Descripción |
|---|---|---|---|
--lock-file | -l | wippy.lock | Ruta del archivo de bloqueo |
--refresh | false | Re-descargar cada módulo, omitiendo el caché | |
--force | false | Alias de --refresh | |
--repair | false | Alias de --refresh | |
--registry | URL del registro |
wippy update
Sección titulada «wippy update»Actualizar dependencias y regenerar el archivo de bloqueo.
wippy update # Actualizar todowippy update acme/http # Actualizar un módulo específicowippy update acme/http demo/sql # Actualizar múltiples| Flag | Corto | Por defecto | Descripción |
|---|---|---|---|
--lock-file | -l | wippy.lock | Ruta del archivo de bloqueo |
--src-dir | -d | ./src | Directorio de código fuente |
--modules-dir | .wippy | Directorio de módulos | |
--registry | URL del registro |
wippy pack
Sección titulada «wippy pack»Crear un pack de instantánea (archivo .wapp).
wippy pack snapshot.wappwippy pack release.wapp --description "Release 1.0"wippy pack app.wapp --embed app:assets --bytecode **| Flag | Corto | Descripción |
|---|---|---|
--lock-file | -l | Ruta del archivo de bloqueo |
--description | -d | Descripción del pack |
--tags | -t | Etiquetas del pack (separadas por coma) |
--meta | Metadatos personalizados (key=value) | |
--embed | Incrustar entradas fs.directory (patrones) | |
--list | Listar entradas fs.directory (ejecución simulada) | |
--exclude-ns | Excluir namespaces (patrones) | |
--exclude | Excluir entradas (patrones) | |
--bytecode | Compilar Lua a bytecode (** para todo) |
wippy publish
Sección titulada «wippy publish»Publicar módulo en el hub.
wippy publishwippy publish --version 1.0.0wippy publish --dry-runLee desde wippy.yaml en el directorio actual.
| Flag | Descripción |
|---|---|
--version | Versión a publicar |
--dry-run | Validar sin publicar |
--label | Publicar como etiqueta mutable en lugar de versión |
--release-notes | Notas de versión |
--protected | Marcar versión como protegida |
--embed | Incrustar entradas fs.directory por id o nombre |
--config | Ruta al directorio que contiene wippy.yaml (por defecto: .) |
--registry | URL del registro |
--create | Crear el módulo en el registro si aún no existe |
--module-visibility | Visibilidad para módulos recién creados (solo --create): public o private (por defecto: private) |
--module-type | Tipo para módulos recién creados (solo --create): library, application, agent o plugin (por defecto: application) |
--module-display-name | Nombre para mostrar de módulos recién creados (solo --create) |
wippy search
Sección titulada «wippy search»Buscar módulos en el hub.
wippy search httpwippy search "sql driver" --limit 20wippy search auth --json| Flag | Por defecto | Descripción |
|---|---|---|
--json | false | Salida en formato JSON |
--limit | 20 | Máximo de resultados |
--registry | URL del registro |
wippy auth
Sección titulada «wippy auth»Gestionar autenticación del registro.
wippy auth login
Sección titulada «wippy auth login»wippy auth loginwippy auth login --token YOUR_TOKEN| Flag | Descripción |
|---|---|
--token | Token de API |
--registry | URL del registro |
--local | Almacenar credenciales localmente |
wippy auth logout
Sección titulada «wippy auth logout»wippy auth logout| Flag | Descripción |
|---|---|
--registry | URL del registro |
--local | Eliminar credenciales locales |
wippy auth status
Sección titulada «wippy auth status»wippy auth statuswippy auth status --json| Flag | Descripción |
|---|---|
--json | Salida como JSON |
wippy readme
Sección titulada «wippy readme»Obtener el README de un módulo desde el hub.
wippy readme wippy/terminalwippy readme wippy/terminal@1.2.3wippy readme --json wippy/terminal@latest| Flag | Descripción |
|---|---|
--json | Salida en formato JSON |
--registry | URL del registro (por defecto: desde credenciales) |
wippy registry
Sección titulada «wippy registry»Consultar e inspeccionar entradas del registro.
wippy registry list
Sección titulada «wippy registry list»wippy registry listwippy registry list --kind "function.lua.*"wippy registry list --ns "app.*" --jsonwippy registry list --meta "type=api" --meta "enabled=true"| Flag | Corto | Descripción |
|---|---|---|
--kind | -k | Filtrar por tipo (patrón glob) |
--ns | -n | Filtrar por namespace (patrón glob) |
--name | Filtrar por nombre (patrón glob) | |
--meta | Filtrar por metadatos (repetible) | |
--json | Salida en formato JSON | |
--yaml | Salida en formato YAML | |
--lock-file | -l | Ruta del archivo de bloqueo |
Operadores de metadatos para --meta:
| Operador | Significado |
|---|---|
field=value | Coincidencia exacta |
field~regex | Coincidencia por regex |
field*substr | Contiene subcadena |
field^prefix | Comienza con prefijo |
field$suffix | Termina con sufijo |
wippy registry show
Sección titulada «wippy registry show»wippy registry show app:http:handlerwippy registry show app:config --yaml| Flag | Corto | Descripción |
|---|---|---|
--field | -f | Mostrar campo específico |
--json | Salida en formato JSON | |
--yaml | Salida en formato YAML | |
--raw | Salida sin formato | |
--lock-file | -l | Ruta del archivo de bloqueo |
wippy version
Sección titulada «wippy version»Imprimir información de versión.
wippy versionwippy version --shortComandos Personalizados
Sección titulada «Comandos Personalizados»Cualquier entrada process.lua o process.wasm puede registrarse como un comando con nombre agregando metadatos command:
entries: - name: test_runner kind: process.lua meta: command: name: test short: Run application tests source: file://runner.lua method: main modules: - io - registry - funcsEjecutarlo con:
wippy run testListar todos los comandos disponibles:
wippy run listCampos de Metadatos de Comando
Sección titulada «Campos de Metadatos de Comando»| Campo | Requerido | Descripción |
|---|---|---|
name | Sí | Nombre del comando usado con wippy run <name> |
short | No | Descripción corta mostrada en wippy run list |
main | No | Marcar esta entrada como comando por defecto (seleccionado automáticamente por packs y módulos del hub que entregan un único comando) |
Cualquier tipo de entrada de proceso funciona (process.lua, process.wasm). El nombre del comando debe ser único entre todas las entradas cargadas. Los argumentos después del nombre del comando se pasan al proceso como payloads de cadena de texto.
Ejemplos
Sección titulada «Ejemplos»Flujo de Trabajo de Desarrollo
Sección titulada «Flujo de Trabajo de Desarrollo»# Inicializar proyectowippy initwippy add wippy/http wippy/sqlwippy install
# Verificar erroreswippy lint
# Ejecutar con salida de depuraciónwippy run -c -v
# Sobrescribir configuración para desarrollo localwippy run -o app:db:host=localhost -o app:db:port=5432Despliegue en Producción
Sección titulada «Despliegue en Producción»# Crear pack de lanzamiento con bytecodewippy pack release.wapp --bytecode ** --exclude-ns test.**
# Ejecutar desde pack con límite de memoriawippy run release.wapp -m 2GDepuración
Sección titulada «Depuración»# Ejecutar un solo procesowippy run --exec app:worker
# Con profiler habilitadowippy run -p -v# Luego: go tool pprof http://localhost:6060/debug/pprof/heapGestión de Dependencias
Sección titulada «Gestión de Dependencias»# Agregar nueva dependenciawippy add acme/http@latest
# Forzar re-descargawippy install --force
# Actualizar módulo específicowippy update acme/httpPublicación
Sección titulada «Publicación»# Iniciar sesión en el hubwippy auth login
# Validar módulowippy publish --dry-run
# Publicarwippy publish --version 1.0.0 --release-notes "Initial release"Archivo de Configuración
Sección titulada «Archivo de Configuración»Crear .wippy.yaml para configuración persistente:
logger: encoding: console
logmanager: min_level: -1 # depuración
profiler: enabled: true address: localhost:6060
override: app:gateway:addr: ":9090" app:db:host: "localhost"Ver También
Sección titulada «Ver También»- Configuración - Referencia del archivo de configuración
- Observabilidad - Monitoreo y registro