microtecflix/.agents/AGENTS.md

2.7 KiB

MicrotecFlix - Regras do Agente (Workspace Rules)

Este arquivo define as restrições comportamentais e as diretrizes arquiteturais específicas do MicrotecFlix que o agente deve sempre obedecer em futuras edições.


1. Conexão com Banco de Dados

  • PostgreSQL Dedicado: O banco de dados PostgreSQL roda em container isolado na porta 5435:5432 (evitando conflito com a porta padrão 5432 usada por outros bancos na VPS, como o do AgendaPRO).
  • Nunca use db.json: Toda a persistência de dados foi migrada para o PostgreSQL. Não reintroduza o arquivo db.json nem funções locais como loadDb().
  • Prisma Client: Sempre que fizer modificações em prisma/schema.prisma, execute npx prisma generate localmente e garanta que npx prisma db push seja executado no ambiente do deploy para sincronizar o banco.

2. Roteamento de Domínios & Portais

  • Roteamento no Root: O arquivo src/Root.tsx realiza o roteamento com base no host:
    • Subdomínio com admin (admin-estudo.microtecinformaticacurso.com.br) renderiza o AdminApp.tsx.
    • Subdomínio padrão (estudo.microtecinformaticacurso.com.br) renderiza o App.tsx (Painel do Aluno).
  • Mantenha os layouts isolados: Não misture imports do portal do aluno dentro do administrador e vice-versa.

3. Customização SaaS (Branding)

  • Logomarca Dinâmica: A logo deve renderizar o prefixo brandName em vermelho e a extensão FLIX em branco. O slogan abaixo da logo deve carregar de forma dinâmica do estado público de configurações (SystemSettings).
  • CNPJ e Endereço: Exibir sempre os dados de CNPJ e Endereço legais retornados por /api/settings nos rodapés públicos.

4. Segurança e Webhooks

  • Webhook Asaas: A rota /api/webhooks/asaas exige validação do header asaas-access-token. Se for incorreto, retorne HTTP 401 informando o token recebido vs o esperado para facilitar a depuração no painel do Asaas.
  • PCI-DSS: Dados confidenciais de cartão (número completo, CVV) nunca devem ser persistidos no banco de dados. Use a tokenização da API do Asaas e grave apenas os últimos 4 dígitos e o token de cartão.

5. Integração com Evolution API v2 & CI/CD

  • Parâmetro Integration: Nas chamadas de criação de instância da Evolution API v2 (/instance/create), forneça sempre o parâmetro "integration": "WHATSAPP-BAILEYS" para evitar erros 400 Bad Request na API.
  • Pipeline do Gitea Runner: O deploy na VPS é automatizado através de um runner de Gitea Actions conectado ao Portainer. Não há necessidade de build e deploy manual no Portainer ao enviar para a branch main.