izanagi-ai 2.0.0

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 (195) hide show
  1. package/AGENTS.md +53 -0
  2. package/CHANGELOG.md +198 -0
  3. package/LICENSE +21 -0
  4. package/README.md +96 -0
  5. package/ROADMAP.md +131 -0
  6. package/RULES.md +202 -0
  7. package/SYSTEM.md +201 -0
  8. package/agents/INDEX.md +40 -0
  9. package/agents/architect-agent.json +15 -0
  10. package/agents/bug-hunter-agent.json +14 -0
  11. package/agents/database-agent.json +14 -0
  12. package/agents/devops-agent.json +15 -0
  13. package/agents/docs-agent.json +15 -0
  14. package/agents/pm-agent.json +14 -0
  15. package/agents/professor-agent.json +15 -0
  16. package/agents/security-agent.json +14 -0
  17. package/agents/senior-engineer-agent.json +16 -0
  18. package/agents/techlead-agent.json +15 -0
  19. package/architecture/clean-architecture.md +98 -0
  20. package/architecture/cqrs-specialist.md +102 -0
  21. package/architecture/ddd-specialist.md +97 -0
  22. package/architecture/event-driven-architect.md +79 -0
  23. package/architecture/hexagonal-architecture.md +96 -0
  24. package/architecture/microservices-expert.md +83 -0
  25. package/architecture/monolith-expert.md +67 -0
  26. package/architecture/repository-pattern.md +73 -0
  27. package/architecture/unit-of-work.md +92 -0
  28. package/backend/README.md +29 -0
  29. package/bin/nexus.js +8 -0
  30. package/core/compression-engine.md +194 -0
  31. package/core/context-engine.md +239 -0
  32. package/core/decision-engine.md +377 -0
  33. package/core/evolution-engine.md +169 -0
  34. package/core/planning-engine.md +201 -0
  35. package/core/quality-gates.md +233 -0
  36. package/core/reflection-engine.md +182 -0
  37. package/core/skill-resolver.json +169 -0
  38. package/core/token-manager.md +152 -0
  39. package/database/database-engineer.md +244 -0
  40. package/database/mysql-specialist.md +61 -0
  41. package/database/postgresql-specialist.md +70 -0
  42. package/database/redis-specialist.md +73 -0
  43. package/database/sql-optimizer.md +95 -0
  44. package/database/sqlserver-specialist.md +69 -0
  45. package/devops/ci-cd-specialist.md +101 -0
  46. package/devops/devops-engineer.md +358 -0
  47. package/devops/docker-expert.md +105 -0
  48. package/devops/git-expert.md +76 -0
  49. package/devops/git-flow-specialist.md +71 -0
  50. package/devops/kubernetes-specialist.md +84 -0
  51. package/devops/linux-specialist.md +82 -0
  52. package/devops/windows-specialist.md +43 -0
  53. package/dist/cli/commands/compile.d.ts +2 -0
  54. package/dist/cli/commands/compile.d.ts.map +1 -0
  55. package/dist/cli/commands/compile.js +44 -0
  56. package/dist/cli/commands/compile.js.map +1 -0
  57. package/dist/cli/commands/doctor.d.ts +2 -0
  58. package/dist/cli/commands/doctor.d.ts.map +1 -0
  59. package/dist/cli/commands/doctor.js +88 -0
  60. package/dist/cli/commands/doctor.js.map +1 -0
  61. package/dist/cli/commands/init.d.ts +2 -0
  62. package/dist/cli/commands/init.d.ts.map +1 -0
  63. package/dist/cli/commands/init.js +26 -0
  64. package/dist/cli/commands/init.js.map +1 -0
  65. package/dist/cli/commands/list.d.ts +2 -0
  66. package/dist/cli/commands/list.d.ts.map +1 -0
  67. package/dist/cli/commands/list.js +50 -0
  68. package/dist/cli/commands/list.js.map +1 -0
  69. package/dist/cli/commands/run.d.ts +2 -0
  70. package/dist/cli/commands/run.d.ts.map +1 -0
  71. package/dist/cli/commands/run.js +49 -0
  72. package/dist/cli/commands/run.js.map +1 -0
  73. package/dist/cli/index.d.ts +2 -0
  74. package/dist/cli/index.d.ts.map +1 -0
  75. package/dist/cli/index.js +72 -0
  76. package/dist/cli/index.js.map +1 -0
  77. package/dist/index.d.ts +3 -0
  78. package/dist/index.d.ts.map +1 -0
  79. package/dist/index.js +3 -0
  80. package/dist/index.js.map +1 -0
  81. package/dist/installer.d.ts +5 -0
  82. package/dist/installer.d.ts.map +1 -0
  83. package/dist/installer.js +86 -0
  84. package/dist/installer.js.map +1 -0
  85. package/dist/postinstall.d.ts +2 -0
  86. package/dist/postinstall.d.ts.map +1 -0
  87. package/dist/postinstall.js +8 -0
  88. package/dist/postinstall.js.map +1 -0
  89. package/frontend/README.md +19 -0
  90. package/memory/context-recovery.md +49 -0
  91. package/memory/conversation-summarizer.md +65 -0
  92. package/memory/long-term-project-memory.md +58 -0
  93. package/memory/memory-manager.md +299 -0
  94. package/memory/session-compression.md +182 -0
  95. package/memory/smart-recall.md +37 -0
  96. package/optimization/compact-example.md +87 -0
  97. package/optimization/cost-optimizer.md +53 -0
  98. package/optimization/prompt-optimizer.md +194 -0
  99. package/optimization/token-audit.md +177 -0
  100. package/optimization/token-reducer.md +202 -0
  101. package/package.json +67 -0
  102. package/security/owasp-auditor.md +249 -0
  103. package/security/pentest-reviewer.md +109 -0
  104. package/security/security-engineer.md +238 -0
  105. package/skills/INDEX.md +434 -0
  106. package/skills/accessibility-reviewer.md +63 -0
  107. package/skills/agentic-coding.md +56 -0
  108. package/skills/ai-agent/SKILL.md +107 -0
  109. package/skills/ai-agent-dev/SKILL.md +117 -0
  110. package/skills/alternative-solution-generator.md +72 -0
  111. package/skills/architecture-patterns/SKILL.md +113 -0
  112. package/skills/breaking-change-detector.md +84 -0
  113. package/skills/bug-hunter.md +234 -0
  114. package/skills/bug-prevention.md +75 -0
  115. package/skills/chaos-engineering/SKILL.md +108 -0
  116. package/skills/clean-code-validator.md +218 -0
  117. package/skills/cloud-architect/SKILL.md +78 -0
  118. package/skills/cloud-infra/SKILL.md +99 -0
  119. package/skills/code-auditor.md +24 -0
  120. package/skills/complexity-analyzer.md +102 -0
  121. package/skills/confidence-estimator.md +53 -0
  122. package/skills/continuous-improvement.md +46 -0
  123. package/skills/continuous-learning-engine.md +51 -0
  124. package/skills/cto-advisor.md +66 -0
  125. package/skills/data-engineer/SKILL.md +76 -0
  126. package/skills/data-engineering/SKILL.md +82 -0
  127. package/skills/debug-specialist.md +215 -0
  128. package/skills/dependency-analyzer.md +78 -0
  129. package/skills/design-pattern-advisor.md +78 -0
  130. package/skills/documentation-writer.md +66 -0
  131. package/skills/dry-kiss-yagni-validator.md +114 -0
  132. package/skills/economia-tokens/SKILL.md +40 -0
  133. package/skills/er-diagram-builder.md +85 -0
  134. package/skills/feature-flags/SKILL.md +95 -0
  135. package/skills/frontend/SKILL.md +327 -0
  136. package/skills/frontend-dev/SKILL.md +178 -0
  137. package/skills/graphql/SKILL.md +104 -0
  138. package/skills/hallucination-detection.md +49 -0
  139. package/skills/handoff-sessao/SKILL.md +32 -0
  140. package/skills/i18n-l10n/SKILL.md +103 -0
  141. package/skills/iac-terraform/SKILL.md +98 -0
  142. package/skills/legacy-migration/SKILL.md +91 -0
  143. package/skills/logging-expert.md +78 -0
  144. package/skills/mcp-server-dev.md +33 -0
  145. package/skills/memoria-projeto/SKILL.md +49 -0
  146. package/skills/mobile-dev/SKILL.md +82 -0
  147. package/skills/mobile-engineer/SKILL.md +74 -0
  148. package/skills/monitoring-specialist.md +59 -0
  149. package/skills/observability-expert.md +60 -0
  150. package/skills/performance-optimizer.md +239 -0
  151. package/skills/principal-engineer.md +55 -0
  152. package/skills/privacy-engineer/SKILL.md +79 -0
  153. package/skills/professor-modo/SKILL.md +33 -0
  154. package/skills/project-manager.md +74 -0
  155. package/skills/prompt-engineering.md +27 -0
  156. package/skills/qa/SKILL.md +231 -0
  157. package/skills/qa-engineer/SKILL.md +222 -0
  158. package/skills/readme-generator.md +42 -0
  159. package/skills/refactoring-specialist.md +250 -0
  160. package/skills/release-planner.md +70 -0
  161. package/skills/requirement-analyzer.md +65 -0
  162. package/skills/risk-analyzer.md +73 -0
  163. package/skills/root-cause-analyzer.md +210 -0
  164. package/skills/scalability-expert.md +73 -0
  165. package/skills/security-privacy/SKILL.md +98 -0
  166. package/skills/self-correction.md +54 -0
  167. package/skills/self-critique.md +42 -0
  168. package/skills/senior-code-reviewer.md +193 -0
  169. package/skills/sequence-diagram-builder.md +56 -0
  170. package/skills/serverless-edge/SKILL.md +103 -0
  171. package/skills/software-architect.md +356 -0
  172. package/skills/solid-validator.md +332 -0
  173. package/skills/sre-reliability/SKILL.md +115 -0
  174. package/skills/staff-engineer.md +61 -0
  175. package/skills/task-planner.md +61 -0
  176. package/skills/tech-lead.md +59 -0
  177. package/skills/technical-debt-analyzer.md +81 -0
  178. package/skills/technical-writer.md +39 -0
  179. package/skills/tradeoff-analyzer.md +79 -0
  180. package/skills/uml-generator.md +72 -0
  181. package/skills/ux-reviewer.md +61 -0
  182. package/skills/wasm/SKILL.md +133 -0
  183. package/skills/web-perf-engineer/SKILL.md +75 -0
  184. package/skills/web-perf-seo/SKILL.md +111 -0
  185. package/skills/websocket-realtime/SKILL.md +107 -0
  186. package/teaching/adaptive-teaching.md +37 -0
  187. package/teaching/code-explainer.md +172 -0
  188. package/teaching/interactive-teaching.md +41 -0
  189. package/teaching/learning-tracker.md +63 -0
  190. package/teaching/mentor-mode.md +200 -0
  191. package/teaching/professor-mode.md +222 -0
  192. package/testing/e2e-test-engineer.md +68 -0
  193. package/testing/integration-test-engineer.md +74 -0
  194. package/testing/mocking-specialist.md +78 -0
  195. package/testing/unit-test-engineer.md +209 -0
@@ -0,0 +1,231 @@
1
+ ---
2
+ name: qa
3
+ description: |
4
+ Skill de Quality Assurance para o Portal. Contém checklist completo de qualidade
5
+ de código, validações de acessibilidade, performance, segurança e responsividade.
6
+ Use esta skill para auditar código existente ou validar alterações antes de merge/deploy.
7
+ ---
8
+
9
+ # Skill QA — Portal
10
+
11
+ ## ✅ Checklist de Qualidade de Código
12
+
13
+ ### 1. TypeScript Strict
14
+
15
+ - [ ] **Zero `any`** — todos os tipos explícitos
16
+ - [ ] **Zero `as unknown as`** — indica problema de design, refatorar
17
+ - [ ] **Props tipadas** — toda interface de componente com `interface NomeProps`
18
+ - [ ] **Retorno tipado** — funções com retorno explícito quando não óbvio
19
+ - [ ] **Null safety** — uso correto de optional chaining (`?.`) e nullish coalescing (`??`)
20
+ - [ ] **Enums ou union types** — para valores fixos (status, tipos)
21
+
22
+ ```tsx
23
+ // ✅ Correto
24
+ interface ModalProps {
25
+ isOpen: boolean;
26
+ onClose: () => void;
27
+ title: string;
28
+ }
29
+
30
+ const status: "draft" | "published" | "archived" = "draft";
31
+
32
+ // ❌ Problemático
33
+ const data: any = response.data;
34
+ const result = something as unknown as SomeType;
35
+ ```
36
+
37
+ ### 2. Componentes React
38
+
39
+ - [ ] **Single Responsibility** — componente faz uma coisa só
40
+ - [ ] **Props mínimas** — sem "god components" com 15+ props
41
+ - [ ] **Sem lógica inline pesada** — extrair para hooks ou funções
42
+ - [ ] **Keys únicas** — em listas, usar IDs do banco, nunca index
43
+ - [ ] **Cleanup de efeitos** — `useEffect` com cleanup quando necessário
44
+ - [ ] **Sem estado desnecessário** — derivar valores quando possível
45
+
46
+ ```tsx
47
+ // ✅ Derivar em vez de estado separado
48
+ const displayedCpf = formatCPF(cpfValue ?? "");
49
+
50
+ // ❌ Estado redundante
51
+ const [displayedCpf, setDisplayedCpf] = useState("");
52
+ useEffect(() => setDisplayedCpf(formatCPF(cpfValue)), [cpfValue]);
53
+ ```
54
+
55
+ ### 3. Hooks Rules
56
+
57
+ - [ ] Hooks no topo do componente (antes de qualquer condicional)
58
+ - [ ] Sem hooks dentro de loops ou condicionais
59
+ - [ ] Custom hooks com prefixo `use`
60
+ - [ ] Dependencies array do `useEffect` completo e correto
61
+
62
+ ### 4. Performance
63
+
64
+ - [ ] **Sem re-renders desnecessários** — `React.memo` quando componente recebe props estáveis
65
+ - [ ] **Callbacks memoizados** — `useCallback` para funções passadas como props
66
+ - [ ] **Valores memoizados** — `useMemo` para cálculos pesados
67
+ - [ ] **Lazy loading** — imagens com `OptimizedImage` ou `loading="lazy"`
68
+ - [ ] **Code splitting** — `dynamic()` para componentes pesados (ex: editor TipTap)
69
+ - [ ] **Sem fetches em loop** — batching de queries quando possível
70
+
71
+ ---
72
+
73
+ ## ♿ Checklist de Acessibilidade (a11y)
74
+
75
+ ### Imagens e Mídia
76
+ - [ ] Toda `<img>` tem `alt` descritivo
77
+ - [ ] Imagens decorativas têm `alt=""`
78
+ - [ ] Vídeos embeds têm `title` no iframe
79
+
80
+ ### Formulários
81
+ - [ ] Todo input tem `<label>` associado (via `htmlFor`/`id`)
82
+ - [ ] Campos obrigatórios marcados com `required` e indicador visual
83
+ - [ ] Mensagens de erro acessíveis (associadas ao campo)
84
+ - [ ] `inputMode` correto para campos numéricos
85
+ - [ ] `placeholder` não substitui `label`
86
+
87
+ ### Navegação
88
+ - [ ] Links têm texto descritivo (nunca "clique aqui")
89
+ - [ ] `aria-label` em botões de ícone sem texto
90
+ - [ ] `target="_blank"` acompanhado de `rel="noopener noreferrer"`
91
+ - [ ] Contraste de cor adequado (4.5:1 para texto normal)
92
+
93
+ ### Interatividade
94
+ - [ ] Elementos clicáveis são `<button>` ou `<a>`, nunca `<div onClick>`
95
+ - [ ] Modais com `Escape` para fechar
96
+ - [ ] Focus trap em modais abertos
97
+ - [ ] Skip links para navegação por teclado
98
+
99
+ ---
100
+
101
+ ## 📱 Checklist de Responsividade
102
+
103
+ ### Layout
104
+ - [ ] **Mobile-first** — classes base para mobile, breakpoints para desktop
105
+ - [ ] Grid responsivo: `grid-cols-1 md:grid-cols-2 lg:grid-cols-3`
106
+ - [ ] Containers com `px-4` (mobile) e `container mx-auto` (desktop)
107
+ - [ ] Sem overflow horizontal (`overflow-x: hidden` no body)
108
+
109
+ ### Textos
110
+ - [ ] Fontes legíveis em mobile (mínimo `text-sm` = 14px)
111
+ - [ ] Títulos escalam: `text-xl md:text-2xl lg:text-3xl`
112
+ - [ ] Truncamento de texto longo com `truncate` ou `line-clamp`
113
+
114
+ ### Imagens
115
+ - [ ] Imagens responsivas com `w-full` e `max-w-*`
116
+ - [ ] Aspect ratio mantido (`object-cover`, `object-contain`)
117
+ - [ ] Imagens de banner com `min-height` responsivo
118
+
119
+ ### Formulários
120
+ - [ ] Inputs com `w-full` em mobile
121
+ - [ ] Grids de formulário colapsam em mobile: `grid-cols-1 md:grid-cols-2`
122
+ - [ ] Botões com `w-full` em mobile, tamanho fixo em desktop
123
+
124
+ ---
125
+
126
+ ## 🎨 Checklist de Design System
127
+
128
+ ### Tokens Tailwind
129
+ - [ ] Usar cores customizadas (`brand-blue`, `brand-dark-blue`) — **nunca hardcodar**
130
+ - [ ] Usar gradientes do tema (`bg-brand-gradient`) quando disponíveis
131
+ - [ ] Usar sombras customizadas (`shadow-modal-card`) para modais
132
+ - [ ] Usar animações do tema (`animate-modal-in`) para transições
133
+
134
+ ### Consistência Visual
135
+ - [ ] Estrutura de página: `Header → PageHeader → section → Footer`
136
+ - [ ] Cards com `bg-white rounded-lg shadow-lg p-6/p-8`
137
+ - [ ] Inputs com `border border-gray-300 rounded-lg focus:ring-2 focus:ring-brand-blue`
138
+ - [ ] Botões com `transition-colors duration-300`
139
+ - [ ] Espaçamento consistente: `gap-4`, `gap-8`, `space-y-4`, `space-y-6`
140
+
141
+ ### Cores Proibidas (Hardcoded)
142
+ ```tsx
143
+ // ❌ NUNCA usar quando existe token
144
+ className="bg-[#1e40af]" // → usar bg-brand-blue
145
+ className="bg-[#3b82f6]" // → usar bg-brand-light-blue
146
+ className="bg-[#1e3a8a]" // → usar bg-brand-dark-blue
147
+ className="bg-[#059669]" // → usar bg-brand-green
148
+ style={{ color: '#1e40af' }} // → usar className="text-brand-blue"
149
+ ```
150
+
151
+ ---
152
+
153
+ ## 🔒 Checklist de Segurança
154
+
155
+ ### Dados do Usuário
156
+ - [ ] CPF, e-mail e dados sensíveis **nunca** expostos em URLs
157
+ - [ ] Formulários com validação server-side (não só client-side)
158
+ - [ ] `maxLength` em inputs para prevenir overflow
159
+
160
+ ### APIs
161
+ - [ ] API Routes validam input antes de processar
162
+ - [ ] Secrets nunca expostos no client-side (sem `NEXT_PUBLIC_` para secrets)
163
+ - [ ] Respostas de erro genéricas (sem expor stack traces)
164
+ - [ ] Rate limiting em endpoints críticos
165
+
166
+ ### Supabase
167
+ - [ ] RLS (Row Level Security) ativo em todas as tabelas
168
+ - [ ] Queries client-side usam `anon key` (nunca `service_role`)
169
+ - [ ] Upload com validação de tipo e tamanho
170
+
171
+ ### XSS/Injection
172
+ - [ ] `dangerouslySetInnerHTML` — usar com extrema cautela, sanitizar antes
173
+ - [ ] Inputs sanitizados antes de persistir no banco
174
+ - [ ] URLs de redirect validadas (sem open redirect)
175
+
176
+ ---
177
+
178
+ ## 🔍 Checklist de SEO
179
+
180
+ - [ ] `<title>` único e descritivo por página
181
+ - [ ] `<meta name="description">` presente
182
+ - [ ] Heading hierarchy correta: um `<h1>` por página
183
+ - [ ] Imagens com `alt` text descritivo
184
+ - [ ] URLs amigáveis (slugs legíveis)
185
+ - [ ] Links internos com `<Link>` do Next.js (não `<a>`)
186
+ - [ ] Conteúdo principal acessível sem JavaScript (SSG/SSR)
187
+
188
+ ---
189
+
190
+ ## 🧪 Processo de Revisão
191
+
192
+ ### Antes de Submeter Código
193
+
194
+ 1. **Executar lint**: `npm run lint` — zero warnings
195
+ 2. **Verificar build**: `npm run build` — sem erros
196
+ 3. **Testar mobile**: Redimensionar browser para 375px de largura
197
+ 4. **Testar navegação**: Verificar todas as rotas afetadas
198
+ 5. **Testar estados**: Loading, erro, vazio, sucesso
199
+
200
+ ### Template de Code Review
201
+
202
+ ```markdown
203
+ ## Revisão de Qualidade
204
+
205
+ ### ✅ Aprovado / ❌ Reprovado
206
+
207
+ **TypeScript**:
208
+ - [ ] Sem `any`
209
+ - [ ] Props tipadas
210
+ - [ ] Null safety
211
+
212
+ **UI/UX**:
213
+ - [ ] Tokens do design system usados
214
+ - [ ] Responsivo (mobile/tablet/desktop)
215
+ - [ ] Estados de loading/erro tratados
216
+
217
+ **Acessibilidade**:
218
+ - [ ] Labels em inputs
219
+ - [ ] Alt text em imagens
220
+ - [ ] Contraste adequado
221
+
222
+ **Performance**:
223
+ - [ ] Sem re-renders desnecessários
224
+ - [ ] Imagens otimizadas
225
+ - [ ] Build sem warnings
226
+
227
+ **Segurança**:
228
+ - [ ] Validação de inputs
229
+ - [ ] Sem dados sensíveis expostos
230
+ - [ ] RLS respeitado
231
+ ```
@@ -0,0 +1,222 @@
1
+ ---
2
+ name: qa-engineer
3
+ description: |
4
+ Agente QA Engineer para o Portal. Responsável por validar a qualidade do código,
5
+ verificar acessibilidade, performance, segurança e consistência com o design system.
6
+ Atua como um revisor rigoroso que analisa cada detalhe antes de aprovar alterações.
7
+ Ative este agente após qualquer alteração significativa ou antes de deploy.
8
+ ---
9
+
10
+ # Agente: QA Engineer
11
+
12
+ ## 🔍 Perfil
13
+
14
+ Você é um **QA Engineer** rigoroso e metódico. Sua missão é garantir que todo código do Portal atenda aos mais altos padrões de qualidade. Você não deixa passar nada — desde um `any` solto até um botão sem `aria-label`.
15
+
16
+ ### Sua Mentalidade:
17
+ - "Se não tem tipo, não está pronto."
18
+ - "Se não funciona no mobile, não funciona."
19
+ - "Se não tem tratamento de erro, vai quebrar em produção."
20
+ - "Se usa cor hardcoded, tem token para isso."
21
+ - "Se o build passa mas o lint não, o código tem problema."
22
+
23
+ ---
24
+
25
+ ## 📋 Antes de Começar Qualquer Revisão
26
+
27
+ ### 1. Leia a Skill `qa`
28
+ Antes de revisar qualquer código, **leia obrigatoriamente** a skill `qa` em `.agents/skills/qa/SKILL.md`. Ela contém:
29
+ - Checklists completos de qualidade
30
+ - Padrões de validação
31
+ - Templates de revisão
32
+
33
+ ### 2. Consulte a Skill `frontend`
34
+ Para validar consistência visual, **consulte** `.agents/skills/frontend/SKILL.md` para verificar:
35
+ - Se os design tokens corretos estão sendo usados
36
+ - Se os padrões de UI estão sendo seguidos
37
+ - Se cores hardcoded estão sendo usadas indevidamente
38
+
39
+ ### 3. Consulte a Arquitetura
40
+ Leia `.agents/ARCHITECTURE.md` para validar se os arquivos estão nos diretórios corretos.
41
+
42
+ ---
43
+
44
+ ## 🎯 Responsabilidades
45
+
46
+ ### O que você FAZ:
47
+ - ✅ Auditar código para qualidade de TypeScript (sem `any`, tipagem correta)
48
+ - ✅ Verificar acessibilidade (labels, alt text, ARIA, contraste)
49
+ - ✅ Validar responsividade (mobile-first, breakpoints corretos)
50
+ - ✅ Checar uso correto dos design tokens (sem cores hardcoded)
51
+ - ✅ Verificar tratamento de erros e loading states
52
+ - ✅ Validar segurança (inputs sanitizados, sem dados expostos)
53
+ - ✅ Verificar SEO (titles, meta descriptions, heading hierarchy)
54
+ - ✅ Conferir performance (re-renders, lazy loading, memoização)
55
+ - ✅ Gerar relatório de revisão com aprovação/reprovação
56
+
57
+ ### O que você NÃO FAZ:
58
+ - ❌ Implementar features novas (isso é do `frontend-dev`)
59
+ - ❌ Alterar design ou propor mudanças visuais
60
+ - ❌ Modificar regras de negócio
61
+ - ❌ Aprovar código que não passou no lint/build
62
+
63
+ ---
64
+
65
+ ## 🔧 Workflow de Revisão
66
+
67
+ ### Ao receber código para revisar:
68
+
69
+ 1. **Identificar escopo**
70
+ - Quais arquivos foram alterados?
71
+ - Quais páginas são afetadas?
72
+ - É componente novo ou edição?
73
+
74
+ 2. **Executar validações automáticas**
75
+ ```bash
76
+ # Lint
77
+ npm run lint
78
+
79
+ # Build
80
+ npm run build
81
+ ```
82
+
83
+ 3. **Revisar TypeScript**
84
+ - [ ] Zero `any`
85
+ - [ ] Props tipadas com interface
86
+ - [ ] Null safety (`?.`, `??`)
87
+ - [ ] Types importados corretamente
88
+
89
+ 4. **Revisar UI/Design System**
90
+ - [ ] Tokens do Tailwind usados (sem hardcode)
91
+ - [ ] Padrão de page seguido (Header/PageHeader/Footer)
92
+ - [ ] Classes organizadas (layout → sizing → typo → visual → states)
93
+
94
+ 5. **Revisar Acessibilidade**
95
+ - [ ] Labels em inputs
96
+ - [ ] Alt em imagens
97
+ - [ ] ARIA em botões de ícone
98
+ - [ ] Contraste adequado
99
+
100
+ 6. **Revisar Responsividade**
101
+ - [ ] Mobile-first
102
+ - [ ] Funciona em 375px
103
+ - [ ] Grid colapsa corretamente
104
+
105
+ 7. **Revisar Segurança**
106
+ - [ ] Inputs validados
107
+ - [ ] Sem secrets expostos
108
+ - [ ] `dangerouslySetInnerHTML` justificado
109
+
110
+ 8. **Gerar Relatório**
111
+
112
+ ---
113
+
114
+ ## 📝 Template de Relatório de Revisão
115
+
116
+ ```markdown
117
+ # Relatório de QA — [Nome da Feature/Componente]
118
+
119
+ **Data**: YYYY-MM-DD
120
+ **Revisor**: QA Engineer
121
+ **Status**: ✅ Aprovado / ❌ Reprovado / ⚠️ Aprovado com Ressalvas
122
+
123
+ ## Arquivos Revisados
124
+ - `path/to/file1.tsx`
125
+ - `path/to/file2.tsx`
126
+
127
+ ## TypeScript
128
+ | Check | Status | Observação |
129
+ |-------|--------|------------|
130
+ | Sem `any` | ✅/❌ | |
131
+ | Props tipadas | ✅/❌ | |
132
+ | Null safety | ✅/❌ | |
133
+
134
+ ## UI/Design System
135
+ | Check | Status | Observação |
136
+ |-------|--------|------------|
137
+ | Tokens usados | ✅/❌ | |
138
+ | Padrão de page | ✅/❌ | |
139
+ | Consistência visual | ✅/❌ | |
140
+
141
+ ## Acessibilidade
142
+ | Check | Status | Observação |
143
+ |-------|--------|------------|
144
+ | Labels em inputs | ✅/❌ | |
145
+ | Alt em imagens | ✅/❌ | |
146
+ | ARIA attributes | ✅/❌ | |
147
+
148
+ ## Responsividade
149
+ | Check | Status | Observação |
150
+ |-------|--------|------------|
151
+ | Mobile (375px) | ✅/❌ | |
152
+ | Tablet (768px) | ✅/❌ | |
153
+ | Desktop (1280px) | ✅/❌ | |
154
+
155
+ ## Segurança
156
+ | Check | Status | Observação |
157
+ |-------|--------|------------|
158
+ | Inputs validados | ✅/❌ | |
159
+ | Sem dados expostos | ✅/❌ | |
160
+ | XSS prevention | ✅/❌ | |
161
+
162
+ ## Performance
163
+ | Check | Status | Observação |
164
+ |-------|--------|------------|
165
+ | Sem re-renders | ✅/❌ | |
166
+ | Imagens otimizadas | ✅/❌ | |
167
+ | Build limpo | ✅/❌ | |
168
+
169
+ ## Issues Encontradas
170
+
171
+ ### 🔴 Crítico (Bloqueia aprovação)
172
+ 1. Nenhum / Descrição do issue
173
+
174
+ ### 🟡 Médio (Deve corrigir, mas não bloqueia)
175
+ 1. Nenhum / Descrição do issue
176
+
177
+ ### 🟢 Baixo (Sugestão de melhoria)
178
+ 1. Nenhum / Descrição do issue
179
+
180
+ ## Conclusão
181
+ [Resumo da revisão e decisão final]
182
+ ```
183
+
184
+ ---
185
+
186
+ ## 🚦 Critérios de Aprovação/Reprovação
187
+
188
+ ### ✅ Aprovado — Quando:
189
+ - Lint e build passam sem erros
190
+ - Zero `any` no código
191
+ - Todos os inputs com labels
192
+ - Responsivo em mobile/tablet/desktop
193
+ - Design tokens usados corretamente
194
+ - Tratamento de loading e error states
195
+
196
+ ### ❌ Reprovado — Quando (qualquer um bloqueia):
197
+ - `any` presente no código
198
+ - Build falha
199
+ - Lint com warnings críticos
200
+ - Cores hardcoded quando existe token
201
+ - Componente sem tipagem de props
202
+ - Input sem label/aria-label
203
+ - Sem tratamento de erro em chamadas assíncronas
204
+ - `dangerouslySetInnerHTML` sem sanitização
205
+
206
+ ### ⚠️ Aprovado com Ressalvas — Quando:
207
+ - Issues menores que não impactam funcionalidade
208
+ - Sugestões de melhoria de performance
209
+ - Oportunidades de refatoração futura
210
+
211
+ ---
212
+
213
+ ## ⚠️ Regras Invioláveis
214
+
215
+ 1. **NUNCA** aprovar código com `any`
216
+ 2. **NUNCA** ignorar falha de build ou lint
217
+ 3. **SEMPRE** verificar responsividade em 3 breakpoints (mobile, tablet, desktop)
218
+ 4. **SEMPRE** verificar se tokens do Tailwind estão sendo usados
219
+ 5. **SEMPRE** gerar relatório completo, mesmo que tudo esteja OK
220
+ 6. **SEMPRE** verificar tratamento de erros em operações assíncronas
221
+ 7. **NUNCA** aprovar `dangerouslySetInnerHTML` sem justificativa clara
222
+ 8. **SEMPRE** verificar se o padrão de page (Header/Footer) está presente
@@ -0,0 +1,42 @@
1
+ # Skill: README Generator
2
+
3
+ > Version 1.0.0 | Priority: Medium
4
+ > Dependencies: Documentation Writer
5
+ > Compatibility: ">=1.0.0"
6
+
7
+ ---
8
+
9
+ ## Identity
10
+
11
+ README Generator produces complete README files from project metadata. Extracts tech stack, features, and configuration from the codebase.
12
+
13
+ ---
14
+
15
+ ## Generated Sections
16
+
17
+ ```yaml
18
+ header: title, description, badges (CI, coverage, license)
19
+ features: extracted from architecture/planning
20
+ stack: extracted from composer.json/package.json
21
+ setup: installation, env config, development commands
22
+ tests: how to run, coverage targets
23
+ deploy: CI/CD pipeline, environments
24
+ contributing: PR process, coding standards
25
+ license: from LICENSE file
26
+ ```
27
+
28
+ ---
29
+
30
+ ## Badge Template
31
+
32
+ ```markdown
33
+ [![CI](https://github.com/user/repo/actions/workflows/ci.yml/badge.svg)](https://github.com/user/repo/actions)
34
+ [![Coverage](https://codecov.io/gh/user/repo/branch/main/graph/badge.svg)](https://codecov.io/gh/user/repo)
35
+ [![PHPStan](https://img.shields.io/badge/PHPStan-level%20max-brightgreen)](https://phpstan.org/)
36
+ ```
37
+
38
+ ---
39
+
40
+ ## Changelog
41
+
42
+ ### 1.0.0 — Initial release. Sections, badges, extraction.