webmoney/.github/copilot-instructions.md
marcoitaloesp-ai 9c9d6443e7
v1.57.0: Redesign category modals + i18n updates + demo transactions fix
- Redesigned category create/edit modal with elegant wizard-style UI
- Redesigned batch categorization modal with visual cards and better preview
- Added missing i18n translations (common.continue, creating, remove)
- Added budgets.general and wizard translations for ES, PT-BR, EN
- Fixed 3 demo user transactions that were missing categories
2025-12-18 19:06:07 +00:00

3.3 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++ (incrementar versão)
    • Atualizar CHANGELOG.md (documentar mudanças)
    • Atualizar README.md (sempre que necessário - novas features, requisitos, comandos, etc.)
  5. Commit e push

📝 Quando atualizar README.md

  • Nova funcionalidade importante
  • Mudança de requisitos (versão PHP, Node, etc.)
  • Novos endpoints de API
  • Alteração de variáveis de ambiente
  • Novos comandos artisan
  • Mudança na estrutura do projeto

🚫 Regras de UI/UX

NUNCA use alert(), confirm() ou prompt() do navegador.

Sempre usar componentes modais ou toast:

  • Para erros: toast.error('mensagem')
  • Para sucesso: toast.success('mensagem')
  • Para confirmação: Usar <ConfirmModal /> component
  • Para formulários: Criar modal customizado
// ❌ PROIBIDO
alert('Erro!');
confirm('Tem certeza?');

// ✅ CORRETO
import { useToast } from '../components/Toast';
import { ConfirmModal } from '../components/Modal';

const toast = useToast();
toast.error('Erro!');
toast.success('Sucesso!');

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.