Ir al contenido

Referencia de CLI

Interfaz de línea de comandos para el runtime de Wippy.

Disponibles en todos los comandos:

FlagCortoDescripción
--configArchivo de configuración (por defecto: .wippy.yaml)
--verbose-vHabilitar registro de depuración
--very-verboseDepuración con trazas de pila
--console-cRegistro en consola con colores
--silent-sDeshabilitar registro en consola
--event-streams-eTransmitir registros al bus de eventos
--profiler-pHabilitar pprof en localhost:6060
--memory-limit-mLímite de memoria (ej., 1G, 512M)

Prioridad del límite de memoria: flag --memory-limit > variable de entorno GOMEMLIMIT > 1GB por defecto.

Crear un nuevo archivo de bloqueo.

Ventana de terminal
wippy init
wippy init --src-dir ./src --modules-dir .wippy
FlagCortoPor defectoDescripción
--src-dir-d./srcDirectorio de código fuente
--modules-dir.wippyDirectorio de módulos
--lock-file-lwippy.lockRuta del archivo de bloqueo

Iniciar el runtime o ejecutar un comando.

Ventana de terminal
wippy run # Iniciar el runtime
wippy run list # Listar comandos disponibles
wippy run test # Ejecutar pruebas
wippy run snapshot.wapp # Ejecutar desde archivo pack
wippy run acme/http # Ejecutar módulo desde el hub
wippy run acme/http@1.2.3 # Ejecutar versión específica
wippy run --exec app:worker # Iniciar runtime y ejecutar un único proceso
FlagCortoDescripción
--override-oSobrescribir valores de entrada (namespace:entry:field=value); field puede ser kind para cambiar el tipo de la entrada
--setSobrescribir un valor de configuración (section.path=value, repetible, tiene prioridad sobre el archivo de configuración)
--exec-xEjecutar proceso y salir (namespace:entry)
--hostID del host de terminal para --exec (auto-detectado si solo existe un terminal.host)
--registryURL 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:

Ventana de terminal
wippy run --set cluster.enabled=true \
--set cluster.membership.join_addrs=node-2:7946,node-3:7946 \
--set cluster.raft.bootstrap_expect=3

Los 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).

Verificar código Lua en busca de errores de tipo y advertencias.

Ventana de terminal
wippy lint
wippy lint --level warning
wippy lint --json
wippy lint --rules

Valida todas las entradas Lua: function.lua, library.lua, process.lua, workflow.lua (incluyendo sus variantes .bc).

FlagCortoPor defectoDescripción
--lock-file-lwippy.lockRuta del archivo de bloqueo
--levelwarningSeveridad mínima: error, warning, hint
--nsFiltrar por patrones de namespace (ej. app, lib.*)
--codeFiltrar por códigos de error (ej. E0001,E0004)
--rulesfalseHabilitar reglas de estilo/calidad
--summaryfalseAgrupar salida por código de error
--limit0Máximo de diagnósticos mostrados (0 = sin límite)
--jsonfalseSalida en JSON
--no-colorfalseDeshabilitar salida con colores
--cache-resetfalseLimpiar caché Lua antes de hacer lint

Agregar una dependencia de módulo.

Ventana de terminal
wippy add acme/http
wippy add acme/http@1.2.3
wippy add acme/http@latest
FlagCortoPor defectoDescripción
--lock-file-lwippy.lockRuta del archivo de bloqueo
--registryURL del registro

Instalar dependencias desde el archivo de bloqueo.

Ventana de terminal
wippy install # Instalar todo
wippy install acme/http # Instalar módulo específico
wippy install --refresh acme/http # Re-descargar un módulo específico
FlagCortoPor defectoDescripción
--lock-file-lwippy.lockRuta del archivo de bloqueo
--refreshfalseRe-descargar cada módulo, omitiendo el caché
--forcefalseAlias de --refresh
--repairfalseAlias de --refresh
--registryURL del registro

Actualizar dependencias y regenerar el archivo de bloqueo.

Ventana de terminal
wippy update # Actualizar todo
wippy update acme/http # Actualizar un módulo específico
wippy update acme/http demo/sql # Actualizar múltiples
FlagCortoPor defectoDescripción
--lock-file-lwippy.lockRuta del archivo de bloqueo
--src-dir-d./srcDirectorio de código fuente
--modules-dir.wippyDirectorio de módulos
--registryURL del registro

Crear un pack de instantánea (archivo .wapp).

Ventana de terminal
wippy pack snapshot.wapp
wippy pack release.wapp --description "Release 1.0"
wippy pack app.wapp --embed app:assets --bytecode **
FlagCortoDescripción
--lock-file-lRuta del archivo de bloqueo
--description-dDescripción del pack
--tags-tEtiquetas del pack (separadas por coma)
--metaMetadatos personalizados (key=value)
--embedIncrustar entradas fs.directory (patrones)
--listListar entradas fs.directory (ejecución simulada)
--exclude-nsExcluir namespaces (patrones)
--excludeExcluir entradas (patrones)
--bytecodeCompilar Lua a bytecode (** para todo)

Publicar módulo en el hub.

Ventana de terminal
wippy publish
wippy publish --version 1.0.0
wippy publish --dry-run

Lee desde wippy.yaml en el directorio actual.

FlagDescripción
--versionVersión a publicar
--dry-runValidar sin publicar
--labelPublicar como etiqueta mutable en lugar de versión
--release-notesNotas de versión
--protectedMarcar versión como protegida
--embedIncrustar entradas fs.directory por id o nombre
--configRuta al directorio que contiene wippy.yaml (por defecto: .)
--registryURL del registro
--createCrear el módulo en el registro si aún no existe
--module-visibilityVisibilidad para módulos recién creados (solo --create): public o private (por defecto: private)
--module-typeTipo para módulos recién creados (solo --create): library, application, agent o plugin (por defecto: application)
--module-display-nameNombre para mostrar de módulos recién creados (solo --create)

Buscar módulos en el hub.

Ventana de terminal
wippy search http
wippy search "sql driver" --limit 20
wippy search auth --json
FlagPor defectoDescripción
--jsonfalseSalida en formato JSON
--limit20Máximo de resultados
--registryURL del registro

Gestionar autenticación del registro.

Ventana de terminal
wippy auth login
wippy auth login --token YOUR_TOKEN
FlagDescripción
--tokenToken de API
--registryURL del registro
--localAlmacenar credenciales localmente
Ventana de terminal
wippy auth logout
FlagDescripción
--registryURL del registro
--localEliminar credenciales locales
Ventana de terminal
wippy auth status
wippy auth status --json
FlagDescripción
--jsonSalida como JSON

Obtener el README de un módulo desde el hub.

Ventana de terminal
wippy readme wippy/terminal
wippy readme wippy/terminal@1.2.3
wippy readme --json wippy/terminal@latest
FlagDescripción
--jsonSalida en formato JSON
--registryURL del registro (por defecto: desde credenciales)

Consultar e inspeccionar entradas del registro.

Ventana de terminal
wippy registry list
wippy registry list --kind "function.lua.*"
wippy registry list --ns "app.*" --json
wippy registry list --meta "type=api" --meta "enabled=true"
FlagCortoDescripción
--kind-kFiltrar por tipo (patrón glob)
--ns-nFiltrar por namespace (patrón glob)
--nameFiltrar por nombre (patrón glob)
--metaFiltrar por metadatos (repetible)
--jsonSalida en formato JSON
--yamlSalida en formato YAML
--lock-file-lRuta del archivo de bloqueo

Operadores de metadatos para --meta:

OperadorSignificado
field=valueCoincidencia exacta
field~regexCoincidencia por regex
field*substrContiene subcadena
field^prefixComienza con prefijo
field$suffixTermina con sufijo
Ventana de terminal
wippy registry show app:http:handler
wippy registry show app:config --yaml
FlagCortoDescripción
--field-fMostrar campo específico
--jsonSalida en formato JSON
--yamlSalida en formato YAML
--rawSalida sin formato
--lock-file-lRuta del archivo de bloqueo

Imprimir información de versión.

Ventana de terminal
wippy version
wippy version --short

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
- funcs

Ejecutarlo con:

Ventana de terminal
wippy run test

Listar todos los comandos disponibles:

Ventana de terminal
wippy run list
CampoRequeridoDescripción
nameNombre del comando usado con wippy run <name>
shortNoDescripción corta mostrada en wippy run list
mainNoMarcar 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.

Ventana de terminal
# Inicializar proyecto
wippy init
wippy add wippy/http wippy/sql
wippy install
# Verificar errores
wippy lint
# Ejecutar con salida de depuración
wippy run -c -v
# Sobrescribir configuración para desarrollo local
wippy run -o app:db:host=localhost -o app:db:port=5432
Ventana de terminal
# Crear pack de lanzamiento con bytecode
wippy pack release.wapp --bytecode ** --exclude-ns test.**
# Ejecutar desde pack con límite de memoria
wippy run release.wapp -m 2G
Ventana de terminal
# Ejecutar un solo proceso
wippy run --exec app:worker
# Con profiler habilitado
wippy run -p -v
# Luego: go tool pprof http://localhost:6060/debug/pprof/heap
Ventana de terminal
# Agregar nueva dependencia
wippy add acme/http@latest
# Forzar re-descarga
wippy install --force
# Actualizar módulo específico
wippy update acme/http
Ventana de terminal
# Iniciar sesión en el hub
wippy auth login
# Validar módulo
wippy publish --dry-run
# Publicar
wippy publish --version 1.0.0 --release-notes "Initial release"

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"