Referencia de CLI
Interfaz de línea de comandos para el runtime de Wippy.
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
Crear un nuevo archivo de bloqueo.
wippy init
wippy 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
Iniciar el runtime o ejecutar un comando.
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
wippy run --exec app:processes/app:worker # Ejecutar un solo proceso
| Flag | Corto | Descripción |
|---|---|---|
--override |
-o |
Sobrescribir valores de entrada (namespace:entry:field=value) |
--exec |
-x |
Ejecutar proceso y salir (host/namespace:entry) |
--host |
Host para la ejecución | |
--registry |
URL del registro |
wippy lint
Verificar código Lua en busca de errores de tipo y advertencias.
wippy lint
wippy lint --level warning
Valida todas las entradas Lua: function.lua.*, library.lua.*, process.lua.*, workflow.lua.*.
| Flag | Descripción |
|---|---|
--level |
Nivel mínimo de severidad a reportar |
wippy add
Agregar una dependencia de módulo.
wippy add acme/http
wippy add acme/http@1.2.3
wippy 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
Instalar dependencias desde el archivo de bloqueo.
wippy install
wippy install --force
| Flag | Corto | Descripción |
|---|---|---|
--lock-file |
-l |
Ruta del archivo de bloqueo |
--force |
Omitir caché, siempre descargar | |
--registry |
URL del registro |
wippy update
Actualizar dependencias y regenerar el archivo de bloqueo.
wippy update # Actualizar todo
wippy update acme/http # Actualizar un módulo específico
wippy 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 |
. | Directorio de código fuente |
--modules-dir |
.wippy | Directorio de módulos | |
--registry |
URL del registro |
wippy pack
Crear un pack de instantánea (archivo .wapp).
wippy pack snapshot.wapp
wippy 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
Publicar módulo en el hub.
wippy publish
wippy publish --version 1.0.0
wippy publish --dry-run
Lee 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 |
wippy search
Buscar módulos en el hub.
wippy search http
wippy search "sql driver" --limit 20
wippy search auth --json
| Flag | Descripción |
|---|---|
--json |
Salida en formato JSON |
--limit |
Máximo de resultados |
--registry |
URL del registro |
wippy auth
Gestionar autenticación del registro.
wippy auth login
wippy auth login
wippy auth login --token YOUR_TOKEN
| Flag | Descripción |
|---|---|
--token |
Token de API |
--registry |
URL del registro |
--local |
Almacenar credenciales localmente |
wippy auth logout
wippy auth logout
| Flag | Descripción |
|---|---|
--registry |
URL del registro |
--local |
Eliminar credenciales locales |
wippy auth status
wippy auth status
wippy auth status --json
wippy registry
Consultar e inspeccionar entradas del registro.
wippy registry list
wippy registry list
wippy registry list --kind function.lua
wippy registry list --ns app --json
| Flag | Corto | Descripción |
|---|---|---|
--kind |
-k |
Filtrar por tipo |
--ns |
-n |
Filtrar por namespace |
--name |
Filtrar por nombre | |
--meta |
Filtrar por metadatos | |
--json |
Salida en formato JSON | |
--yaml |
Salida en formato YAML | |
--lock-file |
-l |
Ruta del archivo de bloqueo |
wippy registry show
wippy registry show app:http:handler
wippy 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
Imprimir información de versión.
wippy version
wippy version --short
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
- funcs
Ejecutarlo con:
wippy run test
Listar todos los comandos disponibles:
wippy run list
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 |
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.
Ejemplos
Flujo de Trabajo de Desarrollo
# 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
Despliegue en Producción
# 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
Depuración
# Ejecutar un solo proceso
wippy run --exec app:processes/app:worker
# Con profiler habilitado
wippy run -p -v
# Luego: go tool pprof http://localhost:6060/debug/pprof/heap
Gestión de Dependencias
# Agregar nueva dependencia
wippy add acme/http@latest
# Forzar re-descarga
wippy install --force
# Actualizar módulo específico
wippy update acme/http
Publicación
# 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"
Archivo de Configuración
Crear .wippy.yaml para configuración persistente:
logger:
mode: development
level: debug
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
- Configuración - Referencia del archivo de configuración
- Observabilidad - Monitoreo y registro