O que é o WMN CLI?
O wmncli é a ferramenta de linha de comando do WMN DevKit. Com ela você cria, publica, exporta, importa e executa os módulos (apps) do ambiente WMN — tudo pelo terminal. Após a instalação, ele fica disponível em qualquer pasta (adicionado ao PATH do Windows).
Estrutura de pastas esperada
O wmncli.exe deve estar na raiz do devkit, junto aos demais executáveis.
# Estrutura do devkit após a instalação C:\wayssoft\wmn\w1\devkit\ ├── wmncli.exe # este executável ├── phpserver.exe ├── phprun.exe ├── php-8.5.7\ │ ├── php.exe │ └── php-cgi.exe ├── app\ # código-fonte dos apps │ ├── apps.json │ └── pacote\wmn.php ├── www\ # apps gráficos publicados ├── code\ # apps código publicados └── backup\ # backups automáticos
wmncli de qualquer pasta. Reabra o terminal após a instalação.Todos os comandos
| Comando | Descrição |
|---|---|
| wmncli novo "<nome>" <tipo> | Cria novo app (grafico ou codigo) |
| wmncli listar | Lista todos os apps registrados |
| wmncli excluir <pasta> | Remove app completamente |
| wmncli exportar <pasta> [dest.zip] | Exporta app para ZIP |
| wmncli importar <arquivo.zip> | Importa app de um ZIP |
| wmncli publicar | Publica apps em www/ e code/ |
| wmncli servidor dev | Servidor desenvolvimento — porta 8081 |
| wmncli servidor | Servidor produção — porta 8080 |
| wmncli rodar <pasta> | Executa app do tipo codigo |
| wmncli tabelas | Lista tabelas do banco Firebird |
| wmncli vscode [pasta] | Abre app no Visual Studio Code |
novo
wmncli novo "<nome>" <grafico|codigo>
Cria um novo app com arquivos iniciais e registra no apps.json.
| Parâmetro | Tipo | Descrição |
|---|---|---|
<nome> | string | Nome de exibição do app. Pode conter espaços e acentos. Use aspas. |
<tipo> | enum | grafico — app web (index.php + CSS + JS) | codigo — script PHP (main.php com Wmn::instancia) |
$ wmncli novo "Relatório de Vendas" grafico [OK] App criado: Relatório de Vendas Pasta : C:\devkit\app\relatoriovendas Tipo : grafico $ wmncli novo "Importar NFe" codigo [OK] App criado: Importar NFe Pasta : C:\devkit\app\importarnfe Tipo : codigo
# grafico app\relatoriovendas\ ├── index.php # página principal HTML ├── styles.css # folha de estilos └── app.js # script JavaScript # codigo app\importarnfe\ └── main.php # script com Wmn::instancia() pronto
listar
wmncli listar
Exibe todos os apps registrados no apps.json em formato tabular.
$ wmncli listar PASTA TIPO NOME CRIADO EM -------------------------------------------------------------------------------- relatoriovendas grafico Relatório de Vendas 2026-06-21 10:30:00 importarnfe codigo Importar NFe 2026-06-21 11:00:15 dashboard grafico Dashboard Gerencial 2026-06-20 09:15:42 3 app(s) no total.
excluir
wmncli excluir <pasta>
Remove o app de app/, www/, code/ e desregistra do apps.json.
$ wmncli excluir importarnfe [OK] Removido: app\importarnfe [OK] Removido: code\importarnfe [OK] Projeto "importarnfe" excluído.
exportar antes para fazer um backup.exportar
wmncli exportar <pasta> [destino.zip]
Exporta um app para ZIP com metadados para portabilidade. Padrão: <pasta>.zip no diretório atual.
# ZIP no diretório atual $ wmncli exportar dashboard [OK] Exportado: C:\Users\Usuario\dashboard.zip # ZIP em caminho específico $ wmncli exportar dashboard C:\backup\dashboard-2026.zip [OK] Exportado: C:\backup\dashboard-2026.zip
importar
wmncli importar <arquivo.zip>
Importa um app de um ZIP, lê os metadados e registra no apps.json.
$ wmncli importar C:\backup\dashboard-2026.zip [OK] Projeto importado: Dashboard Gerencial (pasta: dashboard)
_app.json no ZIP, o nome da pasta é gerado a partir do nome do arquivo.publicar
wmncli publicar
Faz backup, copia os apps para www/ e code/ e sincroniza o apps.json.
$ wmncli publicar [OK] Backup criado: C:\devkit\backup\publicacao_20260621_103045.zip [OK] Grafico: dashboard [OK] Grafico: relatoriovendas [OK] Codigo: importarnfe [OK] Publicacao concluida: 2 grafico(s), 1 codigo(s).
wmncli servidor para servir o conteúdo de www/ na porta 8080.servidor dev
wmncli servidor dev
Inicia o phpserver em modo desenvolvimento — porta 8081, servindo app/ com o linter ativo.
| Raiz (root) | app/ — código-fonte em edição |
| Porta | 8081 |
| Linter | on — bloqueia a página se houver erros PHP |
| URL | http://localhost:8081 |
$ wmncli servidor dev ============================================================ WMN Server - Desenvolvimento Raiz : C:\devkit\app Porta : 8081 Linter: on URL : http://localhost:8081 ============================================================
require de arquivos externos ou uso incorreto de WmnUI::, exibe a página de erro em vez do app.servidor
wmncli servidor
Inicia o phpserver em modo produção — porta 8080, servindo a pasta www/.
| Raiz (root) | www/ — conteúdo publicado |
| Porta | 8080 |
| URL | http://localhost:8080 |
$ wmncli servidor ============================================================ WMN Server - Producao Raiz : C:\devkit\www Porta : 8080 URL : http://localhost:8080 ============================================================
wmncli publicar antes de subir a produção para garantir que www/ está atualizada com os últimos arquivos de app/.rodar
wmncli rodar <pasta>
Executa um app do tipo codigo via phprun.exe no terminal. O arquivo executado é app/<pasta>/main.php.
$ wmncli rodar importarnfe >> C:\devkit\app\importarnfe\main.php ------------------------------------------------------------ Conectando ao banco... 3 NF-e processadas com sucesso. Tempo: 1.24s # Tentativa com app gráfico (bloqueado) $ wmncli rodar dashboard [AVISO] "dashboard" e um app grafico — use o phpserver. wmncli servidor dev
tabelas
wmncli tabelas
Lista as tabelas de usuário do banco Firebird conectando via Wmn::instancia() (lê as credenciais do cookie.ini).
$ wmncli tabelas TABELA CAMPOS -------------------------------------------------- CLIENTES 18 CONTAS_PAGAR 12 ESTOQUE 24 NOTAS_FISCAIS 31 PRODUTOS 22 USUARIOS 8 6 tabela(s).
config/cookie.ini e o servidor Firebird em execução.vscode
wmncli vscode [pasta]
Abre a pasta do app (ou o devkit inteiro, se [pasta] for omitido) no Visual Studio Code.
# Abre um app específico $ wmncli vscode dashboard [OK] Projeto aberto no VS Code: C:\devkit\app\dashboard # Abre o devkit inteiro $ wmncli vscode [OK] Projeto aberto no VS Code: C:\devkit
O wmncli procura o Code.exe em %LOCALAPPDATA%, %ProgramFiles%, %ProgramFiles(x86)% e, por fim, code.cmd no PATH.
Fluxo de trabalho típico
Do zero ao app em produção
# 1. Cria um novo app gráfico $ wmncli novo "Dashboard" grafico # 2. Abre no VS Code para editar $ wmncli vscode dashboard # 3. Sobe o servidor de desenvolvimento $ wmncli servidor dev → http://localhost:8081/dashboard/ # 4. Quando pronto, publica $ wmncli publicar # 5. Sobe o servidor de produção $ wmncli servidor → http://localhost:8080/dashboard/
Script de backend (codigo)
# 1. Consulta as tabelas disponíveis $ wmncli tabelas # 2. Cria o script de backend $ wmncli novo "Sync Clientes" codigo # 3. Edita o main.php no VS Code $ wmncli vscode syncclientes # 4. Testa pelo terminal $ wmncli rodar syncclientes