kseven / web-cli
CLI profissional para gerenciamento de aplicações web em PHP
Requires
- php: >=8.0
- monolog/monolog: ^3.7
- symfony/console: ^6.0
- symfony/finder: 7.3
- symfony/process: ^6.0
- vlucas/phpdotenv: ^5.5
Requires (Dev)
- phpunit/phpunit: ^10.0
This package is auto-updated.
Last update: 2025-08-24 02:35:13 UTC
README
───────────────────────────── 🌐 CLI profissional para gerenciamento de aplicações web em PHP ─────────────────────────────
Funcionalidades:
- 🚀 Iniciar servidor local (porta configurável)
- 🔨 Build de assets (Webpack/Vite)
- ⬆ Deploy local/remoto via SSH
- 📦 Composer install/update
- 🔧 Auto-update da CLI
- ⚡ Hooks pré/pós execução
- 🧩 Comandos customizados e plugins externos
- 📝 Logging avançado (cores, emojis, timestamps)
───────────────────────────── 💻 Requisitos ─────────────────────────────
- PHP >= 8.0
- Composer
- Windows, Linux, macOS
- Opcional: Docker/K8s ou CI/CD
───────────────────────────── 📦 Instalação ─────────────────────────────
composer require kseven/web-cli vendor/bin/webcli <comando> # Linux/macOS global sudo ln -s $(pwd)/vendor/bin/webcli /usr/local/bin/webcli
───────────────────────────── 📂 Estrutura ─────────────────────────────
web-cli/
├─ bin/webcli
├─ src/
│ ├─ Commands/
│ │ ├─ ServeCommand.php
│ │ ├─ BuildCommand.php
│ │ ├─ DeployCommand.php
│ │ ├─ ComposerInstallCommand.php
│ │ ├─ ComposerUpdateCommand.php
│ │ └─ UpdateCommand.php
│ ├─ Contracts/
│ └─ Utils/
├─ user-commands/
├─ plugins/
├─ logs/
├─ tests/
├─ composer.json
└─ README.md
───────────────────────────── ⚡ Comandos Core ─────────────────────────────
Comando | Alias | Descrição |
---|---|---|
serve | - | Inicia servidor local |
build | - | Compila assets |
deploy | - | Deploy local/remoto via SSH |
composer:install | ci | Instala dependências via Composer |
composer:update | cu | Atualiza dependências via Composer |
update | wu | Atualiza a própria CLI |
list | - | Lista todos os comandos |
help | - | Exibe ajuda detalhada |
───────────────────────────── 📌 Cheatsheet ─────────────────────────────
🚀 Servidor
webcli serve
Saída:
[INFO][timestamp] 🚀 Iniciando servidor na porta 8080
[INFO][timestamp] 🌐 Acesse: http://127.0.0.1:8080
[WARNING][timestamp] ⚠ Porta em uso, usando 8081
[INFO][timestamp] ✅ Servidor iniciado!
🔨 Build
webcli build
Saída:
[INFO][timestamp] 🔨 Iniciando build...
[INFO][timestamp] ⏳ Hook pre-build
[INFO][timestamp] 🛠 Compilando...
[INFO][timestamp] ✅ Build concluído!
[INFO][timestamp] ✨ Hook post-build
⬆ Deploy
webcli deploy
Saída:
[INFO][timestamp] 🚀 Deploy staging...
[INFO][timestamp] 🔑 Autenticando token
[INFO][timestamp] ⬆ Transferindo arquivos
[INFO][timestamp] ✅ Deploy concluído! 🌟
📦 Composer
webcli ci # install webcli cu # update
🔧 Auto-Update
webcli update # ou webcli wu
Saída:
[INFO][timestamp] 🔧 Hook pré-update...
[INFO][timestamp] 💾 Backup concluído!
[INFO][timestamp] 🚀 Atualizando CLI...
[INFO][timestamp] ✅ Atualização completa! 🎉
[INFO][timestamp] ✨ Hook pós-update
───────────────────────────── 🧩 Hooks ─────────────────────────────
- pre-serve / post-serve
- pre-build / post-build
- pre-deploy / post-deploy
- pre-update / post-update
Exemplo .webclirc.json
:
{ "COMMANDS": { "pre-update": ["php scripts/backup.php"], "post-update": ["php scripts/clear_cache.php"] } }
───────────────────────────── 📝 Logging ─────────────────────────────
- Local:
logs/webcli.log
- Níveis: INFO / WARNING / ERROR
- Emojis, cores e timestamp
Exemplo:
[INFO][timestamp] 🔨 Iniciando build...
[INFO][timestamp] ✅ Build concluído!
───────────────────────────── 🧩 Extensibilidade ─────────────────────────────
- Comandos do usuário:
user-commands/
- Plugins via Composer:
composer require vendor/plugin-cli
- Namespace PSR-4 customizado
───────────────────────────── 💬 Suporte ─────────────────────────────
───────────────────────────── 📜 Licença ───────────────────────────── MIT © K'Seven