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

39 lines
1.7 KiB
Markdown

# 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:
```javascript
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`.