testes/.agent/skills/environment-guard/SKILL.md

1.7 KiB

SKILL: Environment Guard (.agent/skills/environment-guard)

📌 Objetivo

Proteção de integridade entre múltiplos ambientes (Multi-Tenant/Multi-Context). Evitar que uma alteração no layout de um módulo afete negativamente outro.

🛡️ Protocolo de Mudança em src/components/shared

Sempre que o agente precisar editar um componente dentro de src/components/shared, ele deve seguir este checklist visual e lógico:

  1. Detecção de Colisão:

    • Este componente é usado no RH? Prafrot? GR?
    • grep -r "ComponentName" src/features para mapear o uso.
  2. Variantes em vez de Condicionais:

    • ERRADO: if (isPrafrot) { ... } dentro de um componente compartilhado.
    • CORRETO: Use tailwind-variants (TV) para criar intenções visuais puras.
    • Exemplo:
      const button = tv({
        variants: {
          intent: {
            prafrot: 'bg-emerald-600',
            gr: 'bg-indigo-600',
            rh: 'bg-rose-600'
          }
        }
      });
      
  3. Cross-Environment Validation:

    • Se alterar o Modal.jsx, deve-se validar visualmente (ou via pesquisa de código) se o modal de "Demissão" (RH) e o modal de "Checklist" (Prafrot) continuam funcionais.

🚀 Anti-Colisão de Tokens (JWT)

  • Identidade Própria: Certifique-se de que o componente não assume a existência de um token global. Ele deve receber o dado necessário ou usar o hook reativo useApiContract que já injeta o token correto por contexto.

⚠️ Regra de Ouro

O componente shared deve ser agnóstico ao negócio. O negócio deve configurar o componente via props.