wegho-agentes 4.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. package/.agents/AGENT_WORKFLOW.md +528 -0
  2. package/.agents/AI_COMPATIBILITY.md +332 -0
  3. package/.agents/CLI.md +222 -0
  4. package/.agents/README.md +130 -0
  5. package/.agents/cli.js +389 -0
  6. package/.agents/code-auditor-agent.ts +333 -0
  7. package/.agents/config.ts +145 -0
  8. package/.agents/context-loader.ts +300 -0
  9. package/.agents/core/agent-parallelizer.test.ts +94 -0
  10. package/.agents/core/agent-parallelizer.ts +108 -0
  11. package/.agents/core/architecture-agent.ts +237 -0
  12. package/.agents/core/base-agent.ts +311 -0
  13. package/.agents/core/cache-manager.test.ts +147 -0
  14. package/.agents/core/cache-manager.ts +184 -0
  15. package/.agents/core/documentation-agent.ts +183 -0
  16. package/.agents/core/feedback-collector.ts +207 -0
  17. package/.agents/core/frontend-agent.ts +210 -0
  18. package/.agents/core/inventory-agent.ts +582 -0
  19. package/.agents/core/memory-system.ts +397 -0
  20. package/.agents/core/quality-agent.ts +268 -0
  21. package/.agents/core/retry-utility.test.ts +165 -0
  22. package/.agents/core/retry-utility.ts +140 -0
  23. package/.agents/core/security-agent.ts +217 -0
  24. package/.agents/core/workflow-validator.test.ts +171 -0
  25. package/.agents/core/workflow-validator.ts +158 -0
  26. package/.agents/domains/README.md +53 -0
  27. package/.agents/domains/logistics/route-agent.ts +177 -0
  28. package/.agents/domains/news/cms-agent.ts +158 -0
  29. package/.agents/domains/news/seo-agent.ts +170 -0
  30. package/.agents/domains/production/production-control-agent.ts +169 -0
  31. package/.agents/example-learning-system.js +118 -0
  32. package/.agents/init.ts +164 -0
  33. package/.agents/memory/architecture-agent/failures.json +1 -0
  34. package/.agents/memory/architecture-agent/learnings.json +1 -0
  35. package/.agents/memory/architecture-agent/specialty.md +31 -0
  36. package/.agents/memory/architecture-agent/successes.json +16 -0
  37. package/.agents/memory/cms-agent/failures.json +1 -0
  38. package/.agents/memory/cms-agent/learnings.json +1 -0
  39. package/.agents/memory/cms-agent/specialty.md +30 -0
  40. package/.agents/memory/cms-agent/successes.json +16 -0
  41. package/.agents/memory/documentation-agent/failures.json +1 -0
  42. package/.agents/memory/documentation-agent/learnings.json +1 -0
  43. package/.agents/memory/documentation-agent/specialty.md +33 -0
  44. package/.agents/memory/documentation-agent/successes.json +16 -0
  45. package/.agents/memory/frontend-agent/failures.json +1 -0
  46. package/.agents/memory/frontend-agent/learnings.json +1 -0
  47. package/.agents/memory/frontend-agent/specialty.md +30 -0
  48. package/.agents/memory/frontend-agent/successes.json +16 -0
  49. package/.agents/memory/inventory-agent/failures.json +1 -0
  50. package/.agents/memory/inventory-agent/inventory/index.json +8 -0
  51. package/.agents/memory/inventory-agent/inventory/types.json +77716 -0
  52. package/.agents/memory/inventory-agent/inventory/variables.json +405 -0
  53. package/.agents/memory/inventory-agent/learnings.json +1 -0
  54. package/.agents/memory/inventory-agent/specialty.md +129 -0
  55. package/.agents/memory/inventory-agent/successes.json +30 -0
  56. package/.agents/memory/production-control-agent/failures.json +1 -0
  57. package/.agents/memory/production-control-agent/learnings.json +1 -0
  58. package/.agents/memory/production-control-agent/specialty.md +29 -0
  59. package/.agents/memory/production-control-agent/successes.json +16 -0
  60. package/.agents/memory/quality-agent/failures.json +16 -0
  61. package/.agents/memory/quality-agent/learnings.json +1 -0
  62. package/.agents/memory/quality-agent/specialty.md +31 -0
  63. package/.agents/memory/quality-agent/successes.json +1 -0
  64. package/.agents/memory/reference-repositories.json +271 -0
  65. package/.agents/memory/route-agent/failures.json +1 -0
  66. package/.agents/memory/route-agent/learnings.json +1 -0
  67. package/.agents/memory/route-agent/specialty.md +29 -0
  68. package/.agents/memory/route-agent/successes.json +16 -0
  69. package/.agents/memory/security-agent/failures.json +1 -0
  70. package/.agents/memory/security-agent/learnings.json +1 -0
  71. package/.agents/memory/security-agent/specialty.md +31 -0
  72. package/.agents/memory/security-agent/successes.json +16 -0
  73. package/.agents/memory/seo-agent/failures.json +1 -0
  74. package/.agents/memory/seo-agent/learnings.json +1 -0
  75. package/.agents/memory/seo-agent/specialty.md +31 -0
  76. package/.agents/memory/seo-agent/successes.json +16 -0
  77. package/.agents/orchestrator.ts +438 -0
  78. package/.agents/project-discovery-agent.ts +342 -0
  79. package/.agents/security/pentesting-agent.py +387 -0
  80. package/.agents/security/python-bridge.ts +193 -0
  81. package/.agents/security/vulnerability-db.json +201 -0
  82. package/.agents/task-analyzer-agent.ts +346 -0
  83. package/.agents/test-init-context.js +67 -0
  84. package/INSTALL.md +300 -0
  85. package/LICENSE +21 -0
  86. package/README.md +315 -0
  87. package/docs/AGENT_RULES.md +292 -0
  88. package/docs/BUILD_HISTORY.md +65 -0
  89. package/docs/DESIGN_SYSTEM.md +256 -0
  90. package/docs/LEARNING_SYSTEM.md +326 -0
  91. package/docs/SYMBOLS_TREE.md +182 -0
  92. package/docs/VERSION.md +6 -0
  93. package/docs/architecture.md +111 -0
  94. package/package.json +60 -0
@@ -0,0 +1,292 @@
1
+ # Regras Integradas para Agentes
2
+
3
+ Este documento consolida todas as regras que os agentes devem seguir durante o desenvolvimento.
4
+
5
+ ---
6
+
7
+ ## 🚨 REGRAS ABSOLUTAS (Aplicam-se a TODOS)
8
+
9
+ ### 1. Limite de 500 Linhas
10
+ - ❌ **NUNCA** criar arquivo com mais de 500 linhas
11
+ - ✅ Se exceder: refatorar imediatamente
12
+ - Extrair hooks (lógica de estado)
13
+ - Extrair componentes filhos (UI)
14
+ - Extrair funções para `lib/` ou `utils/` (lógica pura)
15
+ - 🔒 **Bloqueio**: Build não prossegue se houver arquivo > 500 linhas
16
+
17
+ ### 2. Não Alucinar
18
+ - ❌ **NUNCA** inventar:
19
+ - APIs que não existem
20
+ - Tabelas do Supabase não criadas
21
+ - Colunas de tabelas inexistentes
22
+ - Variáveis de ambiente não configuradas
23
+ - Rotas não definidas
24
+ - Policies RLS não implementadas
25
+ - Endpoints não existentes
26
+ - Bibliotecas não instaladas
27
+
28
+ ### 3. Priorizar Bibliotecas Existentes
29
+ - ✅ **SEMPRE** verificar `package.json` antes de sugerir nova lib
30
+ - ✅ Se sugerir nova biblioteca:
31
+ - Justificar necessidade
32
+ - Listar alternativas
33
+ - Avaliar impacto (bundle size, breaking changes)
34
+ - Plano de validação antes de instalar
35
+ - ❌ **NUNCA** instalar sem aprovação explícita
36
+
37
+ ### 4. Fonte de Verdade (Ordem de Prioridade)
38
+ 1. **Código + Tipos + Schema + Migrations** do projeto
39
+ 2. **Docs Oficiais**: React, TypeScript, Next.js, Supabase, Postgres, MDN, OWASP
40
+ 3. **Padrões Web**: WHATWG, W3C
41
+
42
+ ### 5. Mudanças Mínimas
43
+ - ✅ Fazer **apenas** o necessário para resolver o problema
44
+ - ❌ **NUNCA** refatorar por estética sem pedido explícito
45
+ - ❌ **NUNCA** alterar arquivos não relacionados à tarefa
46
+
47
+ ### 6. Proibido Gambiarra
48
+ - ❌ **NUNCA**:
49
+ - Bypass de tipos (`as any`, `@ts-ignore` sem justificativa)
50
+ - Hack de segurança (desabilitar RLS, CORS geral, CSP)
51
+ - Duplicação de código (sempre extrair para módulo compartilhado)
52
+ - Workarounds que criam dívida técnica
53
+
54
+ ### 7. Entregas Obrigatórias
55
+ Ao finalizar qualquer tarefa, **SEMPRE** fornecer:
56
+ - ✅ **Arquivos afetados** (criar/editar/deletar)
57
+ - ✅ **Por quê** (justificativa curta e clara)
58
+ - ✅ **Como validar**:
59
+ - Comandos: `npm run lint`, `npm run build`, `npm test`
60
+ - Fluxo manual: passo a passo no navegador
61
+
62
+ ### 8. Tipagem Forte
63
+ - ✅ **Evitar `any`** sempre que possível
64
+ - ✅ Se entrada desconhecida: usar `unknown` + validação (type guard ou Zod)
65
+ - ✅ `any` **APENAS** em boundaries (entrada de API, JSON externo)
66
+ - ❌ **NUNCA** espalhar `any` pelo código
67
+
68
+ ---
69
+
70
+ ## 🔄 PROCESSO DE 6 PASSOS OBRIGATÓRIOS
71
+
72
+ Toda implementação **DEVE** seguir estas 6 etapas:
73
+
74
+ ### Passo 1: Staff Engineer (Arquitetura)
75
+ **Responsável**: Agente de Arquitetura
76
+
77
+ **Ações**:
78
+ - Planejar estrutura técnica
79
+ - Definir quais arquivos criar/modificar
80
+ - Garantir separação de camadas (UI → Hooks → Services → API)
81
+ - Assegurar que estrutura está < 500 linhas por arquivo
82
+ - Documentar decisões arquiteturais (ADR style)
83
+
84
+ **Checklist**:
85
+ - [ ] Estrutura de pastas definida
86
+ - [ ] Separação de responsabilidades clara
87
+ - [ ] Nenhum arquivo > 500 linhas
88
+ - [ ] Decisões documentadas
89
+
90
+ ### Passo 2: Front-End Engineer (UI/UX)
91
+ **Responsável**: Agente de Front-End
92
+
93
+ **Ações**:
94
+ - Implementar UI com qualidade
95
+ - Garantir conformidade com `DESIGN_SYSTEM.md`
96
+ - Implementar estados: loading, empty, error
97
+ - Garantir acessibilidade (ARIA, teclado)
98
+ - Otimizar performance (lazy loading, code splitting)
99
+
100
+ **Checklist**:
101
+ - [ ] Componentes < 500 linhas
102
+ - [ ] UI primitives reutilizáveis
103
+ - [ ] Estados de loading/empty/error
104
+ - [ ] Acessibilidade (ARIA labels, contraste)
105
+ - [ ] Performance (next/image, dynamic imports)
106
+
107
+ ### Passo 3: Security Engineer (Segurança FE)
108
+ **Responsável**: Agente de Segurança
109
+
110
+ **Ações Front-End**:
111
+ - Validar inputs (Zod/Yup)
112
+ - Sanitizar HTML (`dangerouslySetInnerHTML` apenas com DOMPurify)
113
+ - Verificar proteção de rotas (middleware ou AuthProvider)
114
+ - Garantir nenhuma `service_role` no cliente
115
+ - Verificar variáveis sensíveis nunca em `NEXT_PUBLIC_*`
116
+
117
+ **Checklist**:
118
+ - [ ] Inputs validados (Zod/Yup)
119
+ - [ ] HTML sanitizado (DOMPurify)
120
+ - [ ] Rotas protegidas
121
+ - [ ] Nenhuma key sensível no cliente
122
+ - [ ] XSS/CSRF mitigados
123
+
124
+ ### Passo 4: Tech Lead (Integração e Limpeza)
125
+ **Responsável**: Agente de Arquitetura (Tech Lead role)
126
+
127
+ **Ações**:
128
+ - Integrar mudanças com consistência
129
+ - Eliminar código duplicado
130
+ - Modularizar lógica repetida (extrair hooks/utils)
131
+ - Limpar código morto (mover para `/_trash/` com evidências)
132
+ - Atualizar imports/paths
133
+
134
+ **Checklist**:
135
+ - [ ] Código integrado sem duplicação
136
+ - [ ] Lógica extraída para módulos compartilhados
137
+ - [ ] Código morto movido para `/_trash/` com README
138
+ - [ ] Imports atualizados
139
+ - [ ] Build funciona
140
+
141
+ ### Passo 5: Database Security Engineer (SQL/RLS)
142
+ **Responsável**: Agente de Segurança (DB role)
143
+
144
+ **Ações**:
145
+ - Verificar RLS ativado em **todas** as tabelas
146
+ - Validar policies (anon/authenticated/owner/admin)
147
+ - Garantir nenhuma policy genérica `USING (true)` em dados sensíveis
148
+ - Criar índices para colunas usadas em policies/filtros
149
+ - Validar SECURITY DEFINER functions (search_path travado)
150
+
151
+ **Checklist**:
152
+ - [ ] RLS ativado em todas as tabelas
153
+ - [ ] Policies definidas e testadas
154
+ - [ ] Índices criados
155
+ - [ ] SECURITY DEFINER seguro
156
+ - [ ] Matriz de acesso documentada
157
+
158
+ ### Passo 6: Auditor Final (GO/NO-GO)
159
+ **Responsável**: Agente de Qualidade
160
+
161
+ **Ações**:
162
+ - Executar lint: `npm run lint`
163
+ - Executar type check: `npx tsc --noEmit`
164
+ - Executar build: `npm run build`
165
+ - Executar testes: `npm test`
166
+ - Validar conformidade com regras (500 linhas, sem `any`, etc.)
167
+ - Testar fluxo crítico manualmente
168
+
169
+ **Checklist**:
170
+ - [ ] Lint sem erros
171
+ - [ ] Type check sem erros
172
+ - [ ] Build sem erros
173
+ - [ ] Testes passando
174
+ - [ ] Regras absolutas respeitadas
175
+ - [ ] Fluxo manual validado
176
+
177
+ **Resultado**: ✅ **GO** (prosseguir) ou ❌ **NO-GO** (bloquear até correção)
178
+
179
+ ---
180
+
181
+ ## 📋 RELATÓRIOS OBRIGATÓRIOS
182
+
183
+ ### [FRONT-END IMPLEMENTATION REPORT]
184
+ ```markdown
185
+ - Objetivo: [descrição]
186
+ - Arquivos alterados/criados: [lista]
187
+ - Decisões: [justificativas curtas]
188
+ - Componentização: [o que foi dividido e por quê]
189
+ - Tipos adicionados/ajustados: [interfaces/types]
190
+ - Estados: loading / empty / error: [implementados onde]
191
+ - Acessibilidade: [teclado/aria/labels]
192
+ - Performance: [riscos + mitigação]
193
+ - Como validar:
194
+ - Comandos: [npm run dev, etc.]
195
+ - Passos manuais: [1, 2, 3...]
196
+ - Riscos e rollback: [plano B]
197
+ ```
198
+
199
+ ### [FRONT-END SECURITY REPORT]
200
+ ```markdown
201
+ - Superfícies revisadas: [rotas/componentes/inputs]
202
+ - Ameaças principais (P0/P1/P2): [lista]
203
+ - Evidências: [trechos de código]
204
+ - Mitigações aplicadas: [mudanças]
205
+ - Recomendações de hardening: [agora vs depois]
206
+ - Casos de abuso para testar:
207
+ - XSS payloads: [exemplos]
208
+ - Uploads maliciosos: [cenários]
209
+ - Vazamento por logs: [exemplos]
210
+ - Como validar: [comandos + passos]
211
+ - Riscos restantes: [lista]
212
+ ```
213
+
214
+ ### [INTEGRATION & CLEANUP REPORT]
215
+ ```markdown
216
+ - Objetivo: [descrição]
217
+ - Mudanças integradas: [resumo]
218
+ - Dívidas removidas: [duplicação/refactors]
219
+ - Lixo encontrado:
220
+ - P0 (confirmado) movido para /_trash: [lista]
221
+ - P1 (suspeito) e plano: [lista]
222
+ - P2 (mantido) por quê: [justificativa]
223
+ - Evidências: [imports/rotas/refs]
224
+ - Arquivos reorganizados < 500 linhas: [lista]
225
+ - Como validar: [comandos + passos]
226
+ - Riscos e rollback: [plano]
227
+ ```
228
+
229
+ ### [SUPABASE SQL SECURITY REPORT]
230
+ ```markdown
231
+ - Tabelas revisadas: [lista]
232
+ - RLS status (on/off): [mapa]
233
+ - Policies existentes + riscos: [resumo]
234
+ - Mudanças aplicadas (SQL): [código]
235
+ - Matriz de acesso: [quem pode ler/escrever]
236
+ - Performance:
237
+ - Índices criados: [lista]
238
+ - EXPLAIN ANALYZE: [se aplicável]
239
+ - Verificação:
240
+ - Queries de teste: [anon/auth/owner/admin]
241
+ - Resultados esperados: [descrição]
242
+ - Rollback: [plano SQL]
243
+ ```
244
+
245
+ ### [AUDIT REPORT — GO/NO-GO]
246
+ ```markdown
247
+ - Status: GO / NO-GO
248
+ - P0 (bloqueadores): [lista]
249
+ - P1 (importantes): [lista]
250
+ - P2 (melhorias): [lista]
251
+ - Conformidade:
252
+ - Regra 500 linhas: ✅ / ❌
253
+ - Sem alucinação: ✅ (verificado: APIs, tabelas, libs)
254
+ - Sem any espalhado: ✅ (apenas boundaries)
255
+ - Segurança FE: ✅ (XSS, CSRF, validação)
256
+ - Segurança SQL/RLS: ✅ (policies, índices)
257
+ - Limpeza: ✅ (/_trash + evidências)
258
+ - Validação:
259
+ - Comandos: [npm run lint && npx tsc && npm run build]
260
+ - Passos manuais: [fluxo crítico]
261
+ - Plano de rollback: [git revert + SQL rollback]
262
+ ```
263
+
264
+ ---
265
+
266
+ ## ✅ MARCAÇÃO DE REGRAS IMPLEMENTADAS
267
+
268
+ Ao finalizar uma tarefa, **SEMPRE** incluir no relatório:
269
+
270
+ ```markdown
271
+ [x] Regra 1 implementada (Arquitetura)
272
+ [x] Regra 2 implementada (Front-End)
273
+ [x] Regra 3 implementada (Segurança FE)
274
+ [x] Regra 4 implementada (Tech Lead)
275
+ [x] Regra 5 implementada (Database Security)
276
+ [x] Regra 6 implementada (Auditor Final)
277
+ ```
278
+
279
+ ---
280
+
281
+ ## 🌐 CONTEXTO DE IDIOMA
282
+
283
+ - **Comunicação**: Sempre em **Português** (Brasil)
284
+ - **Código**: Inglês (variáveis, funções, comentários técnicos)
285
+ - **Comentários de Código**: Português quando explicativos, inglês quando técnicos
286
+ - **Relatórios**: Sempre em Português
287
+
288
+ ---
289
+
290
+ **Última atualização**: 2026-01-20
291
+ **Versão**: 1.0.0
292
+ **Gerado por**: Documentation Agent
@@ -0,0 +1,65 @@
1
+ # Histórico de Builds
2
+
3
+ Este arquivo contém um resumo cronológico de todas as builds e mudanças significativas do projeto.
4
+
5
+ ---
6
+
7
+ ## [2026-01-20 10:10] Build 001 - Inicialização do Sistema de Agentes
8
+
9
+ **Descrição**: Criação da estrutura base do sistema de agentes especializados e documentação automática.
10
+
11
+ **Mudanças**:
12
+ - ✅ Estrutura de diretórios `.agents/` criada
13
+ - `core/` - 5 agentes principais
14
+ - `domains/` - Agentes especializados (news, production, logistics)
15
+ - ✅ Estrutura de documentação `docs/` criada
16
+ - `DESIGN_SYSTEM.md` - Sistema de design
17
+ - `SYMBOLS_TREE.md` - Árvore de símbolos
18
+ - `BUILD_HISTORY.md` - Este arquivo
19
+ - `AGENT_RULES.md` - Regras integradas
20
+ - `builds/` - Diretório de builds detalhados
21
+
22
+ **Arquivos Criados**:
23
+ - `.agents/core/` (preparado para agentes)
24
+ - `.agents/domains/news/`
25
+ - `.agents/domains/production/`
26
+ - `.agents/domains/logistics/`
27
+ - `docs/DESIGN_SYSTEM.md`
28
+ - `docs/SYMBOLS_TREE.md`
29
+ - `docs/BUILD_HISTORY.md`
30
+
31
+ **Detalhes**: [build-001.md](./builds/build-001.md) *(será criado)*
32
+
33
+ **Responsável**: Documentation Agent
34
+ **Status**: ✅ Concluído
35
+
36
+ ---
37
+
38
+ ## [Próximas Entradas]
39
+
40
+ <!-- As próximas builds serão registradas aqui automaticamente -->
41
+
42
+ ---
43
+
44
+ **Formato de Entrada**:
45
+ ```markdown
46
+ ## [YYYY-MM-DD HH:mm] Build XXX - Título Curto
47
+
48
+ **Descrição**: Breve descrição do que foi feito
49
+
50
+ **Mudanças**:
51
+ - Lista de mudanças principais
52
+
53
+ **Arquivos Criados/Modificados**:
54
+ - Lista de arquivos
55
+
56
+ **Detalhes**: [build-XXX.md](./builds/build-XXX.md)
57
+
58
+ **Responsável**: [Nome do Agente ou Desenvolvedor]
59
+ **Status**: ✅ Concluído / 🚧 Em Progresso / ❌ Bloqueado
60
+ ```
61
+
62
+ ---
63
+
64
+ **Gerado por**: Documentation Agent
65
+ **Última atualização**: 2026-01-20 10:10
@@ -0,0 +1,256 @@
1
+ # Sistema de Design - Triunfo Mineração
2
+
3
+ ## 🎨 Paleta de Cores
4
+
5
+ ### Cores Primárias
6
+ - **Primary**: `#1E40AF` (blue-800) - Ações principais, links, botões primários
7
+ - **Secondary**: `#10B981` (green-500) - Sucesso, confirmações, status positivo
8
+ - **Accent**: `#F59E0B` (amber-500) - Destaques, alertas importantes
9
+ - **Neutral**: `#6B7280` (gray-500) - Textos secundários, bordas
10
+ - **Error**: `#EF4444` (red-500) - Erros, validações, alertas críticos
11
+
12
+ ### Cores de Status
13
+ - **Success**: `#10B981` (green-500)
14
+ - **Warning**: `#F59E0B` (amber-500)
15
+ - **Error**: `#EF4444` (red-500)
16
+ - **Info**: `#3B82F6` (blue-500)
17
+
18
+ ### Cores de Background
19
+ - **Background**: `#F9FAFB` (gray-50)
20
+ - **Surface**: `#FFFFFF` (white)
21
+ - **Surface Secondary**: `#F3F4F6` (gray-100)
22
+
23
+ ---
24
+
25
+ ## 📝 Tipografia
26
+
27
+ ### Fonte Principal
28
+ - **Família**: Inter (Google Fonts)
29
+ - **Fallback**: system-ui, -apple-system, sans-serif
30
+
31
+ ### Hierarquia de Texto
32
+ - **H1**: `font-bold text-3xl md:text-4xl` (30px → 36px)
33
+ - **H2**: `font-bold text-2xl md:text-3xl` (24px → 30px)
34
+ - **H3**: `font-semibold text-xl md:text-2xl` (20px → 24px)
35
+ - **H4**: `font-semibold text-lg` (18px)
36
+ - **Body**: `font-normal text-base` (16px)
37
+ - **Body Small**: `font-normal text-sm` (14px)
38
+ - **Caption**: `font-light text-xs` (12px)
39
+
40
+ ---
41
+
42
+ ## 🧩 Componentes Base
43
+
44
+ ### Buttons
45
+ Baseado em **shadcn/ui Button**
46
+
47
+ **Variantes**:
48
+ - `default`: Background primary, texto branco
49
+ - `outline`: Borda primary, texto primary, background transparente
50
+ - `ghost`: Sem borda, texto primary, hover com background leve
51
+ - `destructive`: Background red-500, texto branco
52
+ - `link`: Sem background, underline no hover
53
+
54
+ **Tamanhos**:
55
+ - `sm`: `h-8 px-3 text-sm`
56
+ - `default`: `h-10 px-4`
57
+ - `lg`: `h-12 px-6 text-lg`
58
+ - `icon`: `h-10 w-10` (quadrado)
59
+
60
+ **Exemplo**:
61
+ ```tsx
62
+ <Button variant="default" size="default">Salvar</Button>
63
+ <Button variant="outline" size="sm">Cancelar</Button>
64
+ ```
65
+
66
+ ---
67
+
68
+ ### Inputs
69
+ Baseado em **shadcn/ui Input**
70
+
71
+ **Padrão**:
72
+ - Borda: `border border-gray-300`
73
+ - Focus: `ring-2 ring-primary`
74
+ - Disabled: `opacity-50 cursor-not-allowed`
75
+ - Error: `border-red-500 ring-red-500`
76
+
77
+ **Com Label**:
78
+ ```tsx
79
+ <div className="space-y-2">
80
+ <Label htmlFor="email">Email</Label>
81
+ <Input id="email" type="email" placeholder="seu@email.com" />
82
+ </div>
83
+ ```
84
+
85
+ ---
86
+
87
+ ### Cards
88
+ Baseado em **shadcn/ui Card**
89
+
90
+ **Estrutura**:
91
+ ```tsx
92
+ <Card>
93
+ <CardHeader>
94
+ <CardTitle>Título do Card</CardTitle>
95
+ <CardDescription>Descrição opcional</CardDescription>
96
+ </CardHeader>
97
+ <CardContent>
98
+ {/* Conteúdo principal */}
99
+ </CardContent>
100
+ <CardFooter>
101
+ {/* Ações opcionais */}
102
+ </CardFooter>
103
+ </Card>
104
+ ```
105
+
106
+ **Estilos**:
107
+ - Background: `bg-white`
108
+ - Borda: `border border-gray-200`
109
+ - Sombra: `shadow-sm`
110
+ - Border radius: `rounded-lg` (0.5rem)
111
+
112
+ ---
113
+
114
+ ### Modals/Dialogs
115
+ Baseado em **shadcn/ui Dialog**
116
+
117
+ **Estrutura**:
118
+ ```tsx
119
+ <Dialog>
120
+ <DialogTrigger asChild>
121
+ <Button>Abrir Modal</Button>
122
+ </DialogTrigger>
123
+ <DialogContent>
124
+ <DialogHeader>
125
+ <DialogTitle>Título</DialogTitle>
126
+ <DialogDescription>Descrição</DialogDescription>
127
+ </DialogHeader>
128
+ {/* Conteúdo */}
129
+ <DialogFooter>
130
+ <Button variant="outline">Cancelar</Button>
131
+ <Button>Confirmar</Button>
132
+ </DialogFooter>
133
+ </DialogContent>
134
+ </Dialog>
135
+ ```
136
+
137
+ ---
138
+
139
+ ### Tables
140
+ Baseado em **TanStack Table v8**
141
+
142
+ **Padrão**:
143
+ - Header: `bg-gray-50 font-semibold text-left`
144
+ - Rows: `border-b hover:bg-gray-50`
145
+ - Células: `px-4 py-3`
146
+
147
+ **Exemplo com shadcn/ui Table**:
148
+ ```tsx
149
+ <Table>
150
+ <TableHeader>
151
+ <TableRow>
152
+ <TableHead>Coluna 1</TableHead>
153
+ <TableHead>Coluna 2</TableHead>
154
+ </TableRow>
155
+ </TableHeader>
156
+ <TableBody>
157
+ <TableRow>
158
+ <TableCell>Dado 1</TableCell>
159
+ <TableCell>Dado 2</TableCell>
160
+ </TableRow>
161
+ </TableBody>
162
+ </Table>
163
+ ```
164
+
165
+ ---
166
+
167
+ ## 🎯 Tokens de Design
168
+
169
+ ### Espaçamento
170
+ - **Base unit**: `1rem` (16px)
171
+ - **Scale**: 0.25rem, 0.5rem, 0.75rem, 1rem, 1.5rem, 2rem, 3rem, 4rem
172
+
173
+ ### Border Radius
174
+ - **sm**: `0.25rem` (4px)
175
+ - **default**: `0.5rem` (8px)
176
+ - **md**: `0.75rem` (12px)
177
+ - **lg**: `1rem` (16px)
178
+ - **full**: `9999px` (círculo)
179
+
180
+ ### Sombras
181
+ - **sm**: `shadow-sm` - Elevação leve
182
+ - **default**: `shadow-md` - Elevação padrão
183
+ - **lg**: `shadow-lg` - Elevação forte
184
+ - **xl**: `shadow-xl` - Elevação máxima
185
+
186
+ ### Transições
187
+ - **Padrão**: `transition-all duration-200 ease-in-out`
188
+ - **Hover**: Aplicar em botões, links, cards clicáveis
189
+
190
+ ---
191
+
192
+ ## ♿ Acessibilidade
193
+
194
+ ### Contraste
195
+ - Texto em background branco: mínimo AA (4.5:1)
196
+ - Texto grande (18px+): mínimo AA (3:1)
197
+
198
+ ### Navegação por Teclado
199
+ - Todos os botões/links acessíveis via Tab
200
+ - Focus visível: `ring-2 ring-primary`
201
+ - Escape fecha modals
202
+
203
+ ### ARIA Labels
204
+ - Botões de ícone: `aria-label` obrigatório
205
+ - Inputs: associar com `<Label>` via `htmlFor`
206
+ - Estados: `aria-disabled`, `aria-expanded`, etc.
207
+
208
+ ---
209
+
210
+ ## 📱 Responsividade
211
+
212
+ ### Breakpoints (Tailwind)
213
+ - **sm**: 640px
214
+ - **md**: 768px
215
+ - **lg**: 1024px
216
+ - **xl**: 1280px
217
+ - **2xl**: 1536px
218
+
219
+ ### Mobile-First
220
+ Sempre começar com mobile e escalar para desktop:
221
+ ```tsx
222
+ <div className="text-sm md:text-base lg:text-lg">
223
+ Texto responsivo
224
+ </div>
225
+ ```
226
+
227
+ ---
228
+
229
+ ## 🚀 Performance
230
+
231
+ ### Imagens
232
+ - Usar `next/image` sempre
233
+ - Definir `width` e `height`
234
+ - `priority` apenas above-the-fold
235
+ - Lazy loading por padrão
236
+
237
+ ### Code Splitting
238
+ - Componentes pesados: `dynamic(() => import())`
239
+ - Bibliotecas grandes: carregar sob demanda
240
+
241
+ ---
242
+
243
+ ## 📦 Bibliotecas Aprovadas
244
+
245
+ - **UI**: shadcn/ui (Radix UI + Tailwind)
246
+ - **Forms**: React Hook Form + Zod
247
+ - **Data Fetching**: TanStack Query
248
+ - **Tabelas**: TanStack Table
249
+ - **Datas**: date-fns
250
+ - **Utils**: clsx / classnames
251
+ - **Ícones**: lucide-react
252
+
253
+ ---
254
+
255
+ **Última atualização**: 2026-01-20
256
+ **Versão**: 1.0.0