saveinmed/AGENT.md
2026-03-07 18:45:58 -03:00

23 lines
1.6 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# SaveInMed - AI Engineering Standards (Advanced)
## 🎨 Lei do Estilo Único (Frontend)
1. **Zero CSS Customizado**: É PROIBIDO criar classes CSS novas no `globals.css` ou usar o atributo `style={{}}`.
2. **Componentes UI**: Use EXCLUSIVAMENTE componentes da pasta `@/components/ui` (padrão shadcn). Se precisar de um componente novo, peça permissão ou siga o padrão Radix UI.
3. **Atomicidade**: Separe "Smart Components" (que buscam dados) de "Dumb Components" (que apenas renderizam UI).
4. **Tailwind Only**: Use apenas classes utilitárias padrão do Tailwind. Não invente valores arbitrários (ex: `w-[347px]`), use a escala padrão (`w-80`).
## 🧪 Protocolo de Teste (Mandatório)
1. **Backend**: Todo UseCase em `internal/usecase` DEVE ter um arquivo `_test.go` cobrindo sucesso e erro (usando mocks das interfaces em `domain/ports`).
2. **Frontend**: Componentes críticos (Checkout, Cart) devem ter testes unitários com Vitest.
3. **Validação**: Antes de dar a tarefa como pronta, o agente deve rodar `go test ./...` e `npm run build` no frontend para garantir que não quebrou tipos.
## ðŸ“<C5B8> Estrutura de Pastas (Lei do Projeto)
- `@/components/modules/*`: Componentes complexos por funcionalidade (ex: `Cart/`, `Checkout/`).
- `@/components/ui/*`: Componentes base (Botão, Input, Modal).
- `@/hooks/*`: Toda lógica de API e estados complexos.
- `@/services/*`: Chamadas puras de API (Axios/Fetch).
## ?? Gestão de Credenciais
- **Dinâmico**: Todas as chaves de API devem ser gerenciáveis via Dashboard e salvas no banco de dados.
- **Segurança**: Chaves sensíveis devem ser armazenadas de forma segura ou rotacionadas via sistema.