# Guia de Execução de Comandos PHP para a IA Este documento serve como guia obrigatório para a IA sobre como executar comandos PHP e Docker diretamente no container. ## Permissão de Execução Direta A IA **TEM PERMISSÃO** para executar comandos diretamente no terminal para interagir com o container `dockersyscms`. Isso inclui: - Execução de migrações (`syscli migrate`). - Execução de testes (`vendor/bin/phpunit`). - Comandos do console do aplicativo. - Scripts de utilidade em `scripts/`. - Comandos Composer. | `php syscli cache:clear` | Limpa o cache da aplicação. | | `php syscli route:list` | Lista todas as rotas registradas. | | `php syscli module:list` | Lista os módulos carregados. | ## Como Executar O ambiente host (onde a IA roda) não possui PHP instalado localmente, por isso todos os comandos devem ser direcionados ao container Docker. ### 1. Via Docker Exec (Recomendado) Use sempre o flag `-w /app` para garantir que o comando seja executado no diretório raiz da aplicação dentro do container. ```bash docker exec -w /app dockersyscms php syscli [comando] ``` ### 2. Via Script Utilitário (Windows) Foi criado um script `sys.ps1` na raiz do projeto para simplificar as chamadas: ```powershell .\sys.ps1 php syscli list .\sys.ps1 test .\sys.ps1 composer install ``` ## Regras de Segurança 1. **Verificação de Sintaxe**: Antes de rodar um comando que altere muitos arquivos ou o banco de dados, verifique a sintaxe. 2. **Backups**: Para operações destrutivas no banco de dados, prefira criar um script de migração ou backup antes. 3. **Logs**: Observe a saída do comando para garantir que não houve erros silenciosos. ## Alternativa via HTTP (Debug) Para scripts que precisam ser testados no contexto do servidor web (ex: validação de rotas ou middlewares), a abordagem via HTTP ainda é válida: 1. Crie o arquivo em `public/temp_test.php`. 2. Acesse via `Invoke-WebRequest -Uri "http://localhost:16240/temp_test.php"`. 3. Remova o arquivo após o uso.