Referência v3
Voltar à plataforma

Comandos CLI

Referência completa de todos os comandos disponíveis via php vupi e php db.

Setup

bash
php vupi setup                    # menu interativo (23 opções)
php vupi setup --help             # lista todas as flags
php vupi setup --auto             # modo automático sem interação

Flags do modo --auto

FlagValoresPadrãoDescrição
--db-modecompose, docker, skipcomposeComo subir o banco: docker-compose, container avulso ou pular.
--serverbackground, php, pm2, pm2+caddy, fpm+caddybackgroundComo subir o servidor PHP. fpm+caddy é o recomendado para produção real.
--jwtif-empty, skipif-emptyGera JWT_SECRET e JWT_API_SECRET se estiverem vazios.
--api-tokengenerate, skipskipGera token JWT de API após o setup.
--caddyproduction, dev, skipskipInicia Caddy: produção (Let's Encrypt), dev (mkcert) ou pula.
bash
# Exemplos de uso
php vupi setup --auto --db-mode=docker --server=php --jwt=if-empty
php vupi setup --auto --server=fpm+caddy               # produção real (PHP-FPM + Caddy)
php vupi setup --auto --server=pm2+caddy --caddy=production
php vupi setup --auto --db-mode=skip --caddy=dev
php vupi setup --auto --jwt=if-empty --api-token=generate

Migrations e banco

bash
php vupi migrate              # executa migrations pendentes (core + módulos)
php vupi migrate --seed       # migrations + seeders
php vupi migrate --rollback   # desfaz a última migration
php vupi migrate --core       # apenas conexão core (DB_*)
php vupi migrate --modules    # apenas conexão modules (DB2_*)
php vupi migrate --status     # status de todas as migrations
php vupi migrate --status --json  # status em formato JSON

# Alias: php db faz a mesma coisa
php db migrate
php db seed
php db rollback

Geração de código

bash
php vupi make:module NomeDoModulo
php vupi make:plugin NomeDoPlugin
php vupi make:plugin NomeDoPlugin --capability=email-sender --description="Envio de e-mails"

Plugins

bash
php vupi plugin:install    nome-do-plugin   # instala
php vupi plugin:enable     nome-do-plugin   # ativa
php vupi plugin:disable    nome-do-plugin   # desativa
php vupi plugin:uninstall  nome-do-plugin   # remove
php vupi plugin:migrate                     # migrations de todos os plugins
php vupi plugin:rollback   nome-do-plugin   # reverte migrations do plugin
php vupi plugin:validate                    # valida estrutura dos plugins
php vupi plugin:inspect                     # lista plugins instalados

Capacidades

bash
php vupi capability:list                    # lista todas as capacidades
php vupi capability:list email-sender       # detalha uma capacidade específica
php vupi plugin:provider:set email-sender nome-do-plugin  # define o provider

Makefile

Atalhos para tarefas comuns. Execute make help para ver todos.

bash
# Docker
make up-pg          # sobe PostgreSQL + Adminer
make up-mysql       # sobe MySQL + Adminer
make up-all         # sobe tudo
make down           # para containers
make restart        # reinicia containers
make logs           # logs em tempo real
make ps             # lista containers
make shell-pg       # abre psql no PostgreSQL
make shell-mysql    # abre mysql no MySQL

# Projeto
make install        # composer install --no-dev --optimize-autoloader (produção)
make migrate        # php vupi migrate
make seed           # php vupi migrate --seed
make test           # testes de segurança
make analyse        # PHPStan nível 6
make setup          # setup completo (banco + deps + migrations)

# Caddy (proxy reverso / HTTPS)
make caddy-install  # instala Caddy no Ubuntu/Debian
make caddy-start    # inicia Caddy em produção (HTTPS Let's Encrypt)
make caddy-stop     # para Caddy
make caddy-reload   # recarrega config sem downtime
make caddy-dev      # HTTPS local com mkcert (desenvolvimento)

# Limpeza
make clean          # remove cache e arquivos temporários
make reset          # para containers e apaga volumes (CUIDADO: apaga dados!)

Servidor

bash
php -S localhost:3005 index.php                       # desenvolvimento
php vupi setup --auto --server=fpm+caddy           # produção: PHP-FPM + Caddy (recomendado)
php vupi setup --auto --server=pm2+caddy           # produção: PM2 + Caddy
php vupi setup --auto --server=pm2                 # produção: apenas PM2

Menu interativo (opções)

O menu php vupi setup possui opções numeradas. As mais importantes para produção:

OpçãoDescrição
24[Recomendado produção] PHP-FPM + Caddy — substitui php -S e PM2
25Recarregar PHP-FPM — aplica mudanças de código sem derrubar conexões
26Recarregar Caddy — aplica mudanças no Caddyfile
27Recarregar tudo (PHP-FPM + Caddy) — use após git pull
28Verificar e corrigir permissões do projeto automaticamente
Fluxo de deploy recomendado
bash
git pull
composer install --no-dev --optimize-autoloader
php vupi setup  # opção 27 (recarrega PHP-FPM + Caddy)

Testes

bash
php vendor/bin/phpunit                                    # todos os testes unitários
php tests/SecurityTest.php http://localhost:3005          # OWASP API Top 10
php tests/FuzzTest.php http://localhost:3005              # fuzzing de endpoints
php tests/LoadAttackTest.php http://localhost:3005        # carga + ataque combinado
php tests/PerformanceTest.php http://localhost:3005       # testes de performance
ADMIN_PASSWORD=senha php tests/EnvConfigTest.php          # testes de configuração do .env