Referência da CLI
Referência da CLI
Seção intitulada “Referência da CLI”Interface de linha de comando para o runtime do Wippy.
Flags Globais
Seção intitulada “Flags Globais”Disponíveis em todos os comandos:
| Flag | Curta | Descrição |
|---|---|---|
--config | Arquivo de configuração (padrão: .wippy.yaml) | |
--verbose | -v | Ativar logs de depuração |
--very-verbose | Depuração com stack traces | |
--console | -c | Logs coloridos no console |
--silent | -s | Desativar logs no console |
--event-streams | -e | Transmitir logs para o barramento de eventos |
--profiler | -p | Ativar pprof em localhost:6060 |
--memory-limit | -m | Limite de memória (ex: 1G, 512M) |
Prioridade do limite de memória: flag --memory-limit > variável de ambiente GOMEMLIMIT > padrão de 1GB.
wippy init
Seção intitulada “wippy init”Criar um novo arquivo de lock.
wippy initwippy init --src-dir ./src --modules-dir .wippy| Flag | Curta | Padrão | Descrição |
|---|---|---|---|
--src-dir | -d | ./src | Diretório de fontes |
--modules-dir | .wippy | Diretório de módulos | |
--lock-file | -l | wippy.lock | Caminho do arquivo de lock |
wippy run
Seção intitulada “wippy run”Iniciar o runtime ou executar um comando.
wippy run # Iniciar o runtimewippy run list # Listar comandos disponíveiswippy run test # Executar testeswippy run snapshot.wapp # Executar a partir de arquivo packwippy run acme/http # Executar módulo do hubwippy run acme/http@1.2.3 # Executar versão específicawippy run --exec app:worker # Iniciar runtime e executar um único processo| Flag | Curta | Descrição |
|---|---|---|
--override | -o | Sobrescrever valores de entrada (namespace:entry:field=value); field pode ser kind para alterar o tipo da entrada |
--set | Sobrescrever um valor de configuração (section.path=value, repetível, tem precedência sobre o arquivo de configuração) | |
--exec | -x | Executar processo e encerrar (namespace:entry) |
--host | ID do host de terminal para --exec (detectado automaticamente se existir apenas um terminal.host) | |
--registry | URL do registry para módulos do hub |
--set escreve qualquer valor de configuração do runtime pela linha de comando, mesclado sobre .wippy.yaml por folha:
wippy run --set cluster.enabled=true \ --set cluster.membership.join_addrs=node-2:7946,node-3:7946 \ --set cluster.raft.bootstrap_expect=3Os valores são convertidos pelo formato: true/false para bool, inteiros e floats para números, o restante permanece string (durações como 5s são analisadas onde a opção espera uma).
wippy lint
Seção intitulada “wippy lint”Verificar erros de tipo e avisos no código Lua.
wippy lintwippy lint --level warningwippy lint --jsonwippy lint --rulesValida todas as entradas Lua: function.lua, library.lua, process.lua, workflow.lua (incluindo suas variantes .bc).
| Flag | Curta | Padrão | Descrição |
|---|---|---|---|
--lock-file | -l | wippy.lock | Caminho do arquivo de lock |
--level | warning | Severidade mínima: error, warning, hint | |
--ns | Filtrar por padrões de namespace (ex: app, lib.*) | ||
--code | Filtrar por códigos de erro (ex: E0001,E0004) | ||
--rules | false | Habilitar regras de estilo/qualidade do lint | |
--summary | false | Agrupar saída por código de erro | |
--limit | 0 | Máximo de diagnósticos exibidos (0 = ilimitado) | |
--json | false | Saída em JSON | |
--no-color | false | Desabilitar saída colorida | |
--cache-reset | false | Limpar cache Lua antes do lint |
wippy add
Seção intitulada “wippy add”Adicionar uma dependência de módulo.
wippy add acme/httpwippy add acme/http@1.2.3wippy add acme/http@latest| Flag | Curta | Padrão | Descrição |
|---|---|---|---|
--lock-file | -l | wippy.lock | Caminho do arquivo de lock |
--registry | URL do registry |
wippy install
Seção intitulada “wippy install”Instalar dependências a partir do arquivo de lock.
wippy install # Instalar todoswippy install acme/http # Instalar módulo específicowippy install --refresh acme/http # Re-baixar um módulo específico| Flag | Curta | Padrão | Descrição |
|---|---|---|---|
--lock-file | -l | wippy.lock | Caminho do arquivo de lock |
--refresh | false | Re-baixar cada módulo, ignorando o cache | |
--force | false | Alias de --refresh | |
--repair | false | Alias de --refresh | |
--registry | URL do registry |
wippy update
Seção intitulada “wippy update”Atualizar dependências e regenerar o arquivo de lock.
wippy update # Atualizar todaswippy update acme/http # Atualizar módulo específicowippy update acme/http demo/sql # Atualizar múltiplos| Flag | Curta | Padrão | Descrição |
|---|---|---|---|
--lock-file | -l | wippy.lock | Caminho do arquivo de lock |
--src-dir | -d | ./src | Diretório de fontes |
--modules-dir | .wippy | Diretório de módulos | |
--registry | URL do registry |
wippy pack
Seção intitulada “wippy pack”Criar um pack de snapshot (arquivo .wapp).
wippy pack snapshot.wappwippy pack release.wapp --description "Release 1.0"wippy pack app.wapp --embed app:assets --bytecode **| Flag | Curta | Descrição |
|---|---|---|
--lock-file | -l | Caminho do arquivo de lock |
--description | -d | Descrição do pack |
--tags | -t | Tags do pack (separadas por vírgula) |
--meta | Metadados personalizados (chave=valor) | |
--embed | Incorporar entradas fs.directory (padrões) | |
--list | Listar entradas fs.directory (simulação) | |
--exclude-ns | Excluir namespaces (padrões) | |
--exclude | Excluir entradas (padrões) | |
--bytecode | Compilar Lua para bytecode (** para todos) |
wippy publish
Seção intitulada “wippy publish”Publicar módulo no hub.
wippy publishwippy publish --version 1.0.0wippy publish --dry-runLê a partir do wippy.yaml no diretório atual.
| Flag | Descrição |
|---|---|
--version | Versão a publicar |
--dry-run | Validar sem publicar |
--label | Publicar como label mutável em vez de versão |
--release-notes | Notas de lançamento |
--protected | Marcar versão como protegida |
--embed | Incorporar entradas fs.directory por id ou nome |
--config | Caminho para o diretório contendo wippy.yaml (padrão: .) |
--registry | URL do registry |
--create | Criar o módulo no registry se ainda não existir |
--module-visibility | Visibilidade para módulos recém-criados (--create apenas): public ou private (padrão: private) |
--module-type | Tipo para módulos recém-criados (--create apenas): library, application, agent ou plugin (padrão: application) |
--module-display-name | Nome de exibição para módulos recém-criados (--create apenas) |
wippy search
Seção intitulada “wippy search”Buscar módulos no hub.
wippy search httpwippy search "sql driver" --limit 20wippy search auth --json| Flag | Padrão | Descrição |
|---|---|---|
--json | false | Saída em JSON |
--limit | 20 | Máximo de resultados |
--registry | URL do registry |
wippy auth
Seção intitulada “wippy auth”Gerenciar autenticação no registry.
wippy auth login
Seção intitulada “wippy auth login”wippy auth loginwippy auth login --token YOUR_TOKEN| Flag | Descrição |
|---|---|
--token | Token de API |
--registry | URL do registry |
--local | Armazenar credenciais localmente |
wippy auth logout
Seção intitulada “wippy auth logout”wippy auth logout| Flag | Descrição |
|---|---|
--registry | URL do registry |
--local | Remover credenciais locais |
wippy auth status
Seção intitulada “wippy auth status”wippy auth statuswippy auth status --json| Flag | Descrição |
|---|---|
--json | Saída em JSON |
wippy readme
Seção intitulada “wippy readme”Obter o README de um módulo a partir do hub.
wippy readme wippy/terminalwippy readme wippy/terminal@1.2.3wippy readme --json wippy/terminal@latest| Flag | Descrição |
|---|---|
--json | Saída em JSON |
--registry | URL do registry (padrão: das credenciais) |
wippy registry
Seção intitulada “wippy registry”Consultar e inspecionar entradas do registry.
wippy registry list
Seção intitulada “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 | Curta | Descrição |
|---|---|---|
--kind | -k | Filtrar por tipo (padrão glob) |
--ns | -n | Filtrar por namespace (padrão glob) |
--name | Filtrar por nome (padrão glob) | |
--meta | Filtrar por metadados (repetível) | |
--json | Saída em JSON | |
--yaml | Saída em YAML | |
--lock-file | -l | Caminho do arquivo de lock |
Operadores de metadados para --meta:
| Operador | Significado |
|---|---|
field=value | Correspondência exata |
field~regex | Correspondência por regex |
field*substr | Contém substring |
field^prefix | Começa com prefixo |
field$suffix | Termina com sufixo |
wippy registry show
Seção intitulada “wippy registry show”wippy registry show app:http:handlerwippy registry show app:config --yaml| Flag | Curta | Descrição |
|---|---|---|
--field | -f | Mostrar campo específico |
--json | Saída em JSON | |
--yaml | Saída em YAML | |
--raw | Saída bruta | |
--lock-file | -l | Caminho do arquivo de lock |
wippy version
Seção intitulada “wippy version”Imprimir informações de versão.
wippy versionwippy version --shortComandos Personalizados
Seção intitulada “Comandos Personalizados”Qualquer entrada process.lua ou process.wasm pode ser registrada como um comando nomeado adicionando metadados de 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 - funcsExecute com:
wippy run testListe todos os comandos disponíveis:
wippy run listCampos de Metadados do Comando
Seção intitulada “Campos de Metadados do Comando”| Campo | Obrigatório | Descrição |
|---|---|---|
name | Sim | Nome do comando usado com wippy run <name> |
short | Não | Descrição curta exibida em wippy run list |
main | Não | Marca esta entrada como comando padrão (selecionado automaticamente por packs e módulos do hub que entregam um único comando) |
Qualquer tipo de entrada de processo funciona (process.lua, process.wasm). O nome do comando deve ser único entre todas as entradas carregadas. Argumentos após o nome do comando são passados para o processo como payloads de string.
Exemplos
Seção intitulada “Exemplos”Fluxo de Desenvolvimento
Seção intitulada “Fluxo de Desenvolvimento”# Inicializar projetowippy initwippy add wippy/http wippy/sqlwippy install
# Verificar erroswippy lint
# Executar com saída de depuraçãowippy run -c -v
# Sobrescrever configuração para desenvolvimento localwippy run -o app:db:host=localhost -o app:db:port=5432Deploy em Produção
Seção intitulada “Deploy em Produção”# Criar pack de release com bytecodewippy pack release.wapp --bytecode ** --exclude-ns test.**
# Executar a partir do pack com limite de memóriawippy run release.wapp -m 2GDepuração
Seção intitulada “Depuração”# Executar um único processowippy run --exec app:worker
# Com profiler ativadowippy run -p -v# Depois: go tool pprof http://localhost:6060/debug/pprof/heapGerenciamento de Dependências
Seção intitulada “Gerenciamento de Dependências”# Adicionar nova dependênciawippy add acme/http@latest
# Forçar re-downloadwippy install --force
# Atualizar módulo específicowippy update acme/httpPublicação
Seção intitulada “Publicação”# Login no hubwippy auth login
# Validar módulowippy publish --dry-run
# Publicarwippy publish --version 1.0.0 --release-notes "Initial release"Arquivo de Configuração
Seção intitulada “Arquivo de Configuração”Crie .wippy.yaml para configurações persistentes:
logger: encoding: console
logmanager: min_level: -1 # depuração
profiler: enabled: true address: localhost:6060
override: app:gateway:addr: ":9090" app:db:host: "localhost"Veja Também
Seção intitulada “Veja Também”- Configuração - Referência do arquivo de configuração
- Observabilidade - Monitoramento e logging