webmoney/.github/copilot-instructions.md
marcoitaloesp-ai 8d9e022f9f
v1.33.0: Gráfico de projeção de saldo + reset completo do banco de dados
Added:
- Gráfico de projeção de saldo com período ajustável (1-12 meses)
- Endpoint GET /api/reports/projection-chart
- Componente BalanceProjectionChart com Chart.js
- Projeções baseadas em recorrências, passivos e transações agendadas
- Tradução completa (pt-BR, en, es)

Fixed:
- Type casting para parâmetro months no endpoint
- Query SQL simplificada sem exchange_rates
- Ordem de execução das migrações
- Permissões do bootstrap/cache (www-data)

Changed:
- Database reset completo (migrate:fresh)
- Usuário recriado com novo token API
- Deploy completo via scripts oficiais
2025-12-14 20:08:47 +00:00

87 lines
2.4 KiB
Markdown

# GitHub Copilot Instructions
## 🚨 REGRA CRÍTICA DE DEPLOY
**NUNCA envie arquivos manualmente com scp/rsync para o servidor.**
### Deploy Obrigatório
Sempre que precisar enviar código para produção, USE OS SCRIPTS:
```bash
# Para mudanças no BACKEND (PHP/Laravel)
cd /workspaces/webmoney/backend && ./deploy.sh
# Para mudanças no FRONTEND (React/JS)
cd /workspaces/webmoney/frontend && ./deploy.sh
```
### Por que usar os scripts?
Os scripts de deploy:
1. **Backend (deploy.sh)**:
- Sincroniza arquivos com rsync
- Instala dependências com composer
- Executa migrações
- Limpa e regenera cache
- Reinicia PHP-FPM
- Ajusta permissões
2. **Frontend (deploy.sh)**:
- Faz build do React (npm run build)
- Envia para /var/www/webmoney/frontend/**dist** (não /frontend!)
- Verifica se deploy funcionou
### Proibições
`scp arquivo root@213.165.93.60:/var/www/webmoney/...`
`rsync arquivo root@213.165.93.60:/var/www/webmoney/...`
❌ Copiar arquivos individuais manualmente
### Workflow
1. Editar código
2. `cd backend && ./deploy.sh` ou `cd frontend && ./deploy.sh`
3. Testar em https://webmoney.cnxifly.com
4. Se OK: `VERSION++`, atualizar CHANGELOG.md
5. Commit e push
## Estrutura do Servidor
```
/var/www/webmoney/
├── backend/ # Laravel (Nginx → PHP-FPM)
└── frontend/
└── dist/ # React build (Nginx root)
```
## Credenciais
- **Servidor**: root@213.165.93.60 (senha: Master9354)
- **Banco**: webmoney / M@ster9354
- **Usuário WebMoney**: marco@cnxifly.com / M@ster9354
## 🔑 Acesso SSH - SEMPRE usar sshpass
**OBRIGATÓRIO:** Sempre usar `sshpass` para comandos SSH/SCP/RSYNC.
```bash
# SSH para executar comandos
sshpass -p 'Master9354' ssh -o StrictHostKeyChecking=no root@213.165.93.60 "comando"
# Ver logs do Laravel
sshpass -p 'Master9354' ssh -o StrictHostKeyChecking=no root@213.165.93.60 "tail -50 /var/www/webmoney/backend/storage/logs/laravel.log"
# Executar tinker
sshpass -p 'Master9354' ssh -o StrictHostKeyChecking=no root@213.165.93.60 "cd /var/www/webmoney/backend && php artisan tinker --execute='codigo'"
# MySQL
sshpass -p 'Master9354' ssh -o StrictHostKeyChecking=no root@213.165.93.60 "mysql -u webmoney -p'M@ster9354' webmoney -e 'QUERY'"
```
❌ NUNCA usar `ssh root@213.165.93.60` sem sshpass (vai travar esperando senha)
## Documentação
Consulte `.DIRETRIZES_DESENVOLVIMENTO_v5` para regras completas.