Files
dockerfluxodecaixapro/rules/08_IA_COMMAND_EXECUTION_GUIDE.md
2026-09-01 10:46:29 -03:00

49 lines
2.0 KiB
Markdown
Executable File

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