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

23 lines
1.6 KiB
Markdown
Raw Permalink 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.