cpanel-deploylisted
Install: claude install-skill AndersonAdelino/skills
# cPanel Deploy
Pega uma pasta de arquivos estáticos e põe num cPanel. Python puro, sem
`pip install`, sem FTP, sem CI.
No fim ele **busca o endereço público e confere se a página no ar é a que
subiu**, comparando o `<title>`. Deploy que "deu certo" e serve o site velho é
o modo de falha mais comum aqui, e o script existe em boa parte para pegá-lo.
---
## Config: duas camadas
O caso normal não é um site: é uma conta de hospedagem atendendo vários
clientes. Então a credencial fica num lugar e o destino em outro.
```
projeto/
├── .env <- A CONTA. Uma vez, para todos.
│ CPANEL_HOST, CPANEL_USER, CPANEL_TOKEN
└── clientes/
├── padaria/
│ ├── .env <- DEPLOY_PATH, SITE_URL
│ └── dist/
└── oficina/
├── .env
└── dist/
```
O script sobe até 4 pastas juntando os `.env`, do mais distante para o mais
próximo, então **o do cliente ganha**. Rode de dentro da pasta do cliente.
| Chave | Onde | O que é |
|---|---|---|
| `CPANEL_HOST` | conta | o hostname do painel. Pode colar a URL inteira, o script limpa |
| `CPANEL_USER` | conta | usuário do cPanel (`ande9564`), **não** o e-mail da conta |
| `CPANEL_TOKEN` | conta | cPanel → Segurança → Gerenciar tokens de API |
| `CPANEL_PORT` | conta | 2083, o padrão |
| `DEPLOY_PATH` | cliente | pasta remota. **Uma por cliente** |
| `SOURCE_DIR` | cliente | pasta local, `dist` por padrão |
| `SITE_URL` | cliente | endereço p��blico, p