WMN DevKit — WMN CLI, a linha de comando para gerenciar seus módulos. Ir para o site
WMN DevKit · CLI

wmncli

Ferramenta de linha de comando para gerenciar os módulos do ambiente WMN. Crie, publique, exporte, importe e execute seus projetos direto pelo terminal.

$ wmncli --help
Introdução

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

Instalação

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
O instalador adiciona o caminho do devkit ao PATH do Windows, permitindo usar wmncli de qualquer pasta. Reabra o terminal após a instalação.
Referência rápida

Todos os comandos

ComandoDescrição
wmncli novo "<nome>" <tipo>Cria novo app (grafico ou codigo)
wmncli listarLista 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 publicarPublica apps em www/ e code/
wmncli servidor devServidor desenvolvimento — porta 8081
wmncli servidorServidor produção — porta 8080
wmncli rodar <pasta>Executa app do tipo codigo
wmncli tabelasLista tabelas do banco Firebird
wmncli vscode [pasta]Abre app no Visual Studio Code
Gerenciamento de apps

novo

wmncli novo "<nome>" <grafico|codigo>

Cria um novo app com arquivos iniciais e registra no apps.json.

Parâmetros
ParâmetroTipoDescrição
<nome>stringNome de exibição do app. Pode conter espaços e acentos. Use aspas.
<tipo>enumgrafico — app web (index.php + CSS + JS)  |  codigo — script PHP (main.php com Wmn::instancia)
Exemplos
$ 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
Arquivos criados
# 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.
Esta operação não pode ser desfeita. Use 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)
Se já existir um app com a mesma pasta, ele será substituído. Sem _app.json no ZIP, o nome da pasta é gerado a partir do nome do arquivo.
Publicação & servidor

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).
Após publicar, suba o servidor de produção com 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
Porta8081
Linteron — bloqueia a página se houver erros PHP
URLhttp://localhost:8081
$ wmncli servidor dev
============================================================
  WMN Server - Desenvolvimento
  Raiz  : C:\devkit\app
  Porta : 8081
  Linter: on
  URL   : http://localhost:8081
============================================================
O linter estático analisa cada requisição PHP antes de executar. Se encontrar SQL sem prepared statements, 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
Porta8080
URLhttp://localhost:8080
$ wmncli servidor
============================================================
  WMN Server - Producao
  Raiz  : C:\devkit\www
  Porta : 8080
  URL   : http://localhost:8080
============================================================
Execute wmncli publicar antes de subir a produção para garantir que www/ está atualizada com os últimos arquivos de app/.
Desenvolvimento

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).
Requer o banco acessível com as credenciais em 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.

Exemplos

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
Os apps são construídos sobre as bibliotecas wmn.php (banco) e WmnUI (interface).