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

2.4 KiB

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:

# 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

🔑 Acesso SSH - SEMPRE usar sshpass

OBRIGATÓRIO: Sempre usar sshpass para comandos SSH/SCP/RSYNC.

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