@maestro-ai/mcp-server 5.4.5 → 5.5.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 (127) hide show
  1. package/README.md +68 -83
  2. package/dist/content/rules/RULES.md +14 -0
  3. package/dist/core/metrics/MetricsCollector.d.ts +28 -12
  4. package/dist/core/metrics/MetricsCollector.d.ts.map +1 -1
  5. package/dist/core/metrics/MetricsCollector.js +151 -12
  6. package/dist/core/metrics/MetricsCollector.js.map +1 -1
  7. package/dist/core/validation/ValidationPipeline.d.ts +24 -2
  8. package/dist/core/validation/ValidationPipeline.d.ts.map +1 -1
  9. package/dist/core/validation/ValidationPipeline.js +46 -2
  10. package/dist/core/validation/ValidationPipeline.js.map +1 -1
  11. package/dist/core/validation/layers/DeliverableValidator.d.ts +13 -0
  12. package/dist/core/validation/layers/DeliverableValidator.d.ts.map +1 -0
  13. package/dist/core/validation/layers/DeliverableValidator.js +276 -0
  14. package/dist/core/validation/layers/DeliverableValidator.js.map +1 -0
  15. package/dist/gates/contextual-recommender.d.ts.map +1 -1
  16. package/dist/gates/contextual-recommender.js +260 -1
  17. package/dist/gates/contextual-recommender.js.map +1 -1
  18. package/dist/gates/validator.d.ts +5 -6
  19. package/dist/gates/validator.d.ts.map +1 -1
  20. package/dist/gates/validator.js +9 -6
  21. package/dist/gates/validator.js.map +1 -1
  22. package/dist/middleware/adr-generation.middleware.d.ts +5 -0
  23. package/dist/middleware/adr-generation.middleware.d.ts.map +1 -0
  24. package/dist/middleware/adr-generation.middleware.js +214 -0
  25. package/dist/middleware/adr-generation.middleware.js.map +1 -0
  26. package/dist/middleware/flow-engine.middleware.d.ts +5 -3
  27. package/dist/middleware/flow-engine.middleware.d.ts.map +1 -1
  28. package/dist/middleware/flow-engine.middleware.js +18 -10
  29. package/dist/middleware/flow-engine.middleware.js.map +1 -1
  30. package/dist/middleware/index.d.ts +18 -11
  31. package/dist/middleware/index.d.ts.map +1 -1
  32. package/dist/middleware/index.js +24 -11
  33. package/dist/middleware/index.js.map +1 -1
  34. package/dist/middleware/orchestration-pipeline.middleware.d.ts +42 -0
  35. package/dist/middleware/orchestration-pipeline.middleware.d.ts.map +1 -0
  36. package/dist/middleware/orchestration-pipeline.middleware.js +57 -0
  37. package/dist/middleware/orchestration-pipeline.middleware.js.map +1 -0
  38. package/dist/middleware/skill-injection.middleware.js +1 -1
  39. package/dist/middleware/skill-injection.middleware.js.map +1 -1
  40. package/dist/middleware/validation.middleware.d.ts +11 -0
  41. package/dist/middleware/validation.middleware.d.ts.map +1 -1
  42. package/dist/middleware/validation.middleware.js +54 -0
  43. package/dist/middleware/validation.middleware.js.map +1 -1
  44. package/dist/router.d.ts.map +1 -1
  45. package/dist/router.js +20 -14
  46. package/dist/router.js.map +1 -1
  47. package/dist/services/flow-engine.d.ts +1 -0
  48. package/dist/services/flow-engine.d.ts.map +1 -1
  49. package/dist/services/flow-engine.js +14 -2
  50. package/dist/services/flow-engine.js.map +1 -1
  51. package/dist/services/watcher.service.d.ts +45 -0
  52. package/dist/services/watcher.service.d.ts.map +1 -0
  53. package/dist/services/watcher.service.js +106 -0
  54. package/dist/services/watcher.service.js.map +1 -0
  55. package/dist/state/context.d.ts +15 -4
  56. package/dist/state/context.d.ts.map +1 -1
  57. package/dist/state/context.js +36 -9
  58. package/dist/state/context.js.map +1 -1
  59. package/dist/state/storage.d.ts.map +1 -1
  60. package/dist/state/storage.js +6 -0
  61. package/dist/state/storage.js.map +1 -1
  62. package/dist/tests/aprovar-gate.test.d.ts +2 -0
  63. package/dist/tests/aprovar-gate.test.d.ts.map +1 -0
  64. package/dist/tests/aprovar-gate.test.js +113 -0
  65. package/dist/tests/aprovar-gate.test.js.map +1 -0
  66. package/dist/tests/deliverable-validator.test.d.ts +12 -0
  67. package/dist/tests/deliverable-validator.test.d.ts.map +1 -0
  68. package/dist/tests/deliverable-validator.test.js +214 -0
  69. package/dist/tests/deliverable-validator.test.js.map +1 -0
  70. package/dist/tests/flow-engine.test.d.ts +2 -0
  71. package/dist/tests/flow-engine.test.d.ts.map +1 -0
  72. package/dist/tests/flow-engine.test.js +85 -0
  73. package/dist/tests/flow-engine.test.js.map +1 -0
  74. package/dist/tests/gate-orientation.test.d.ts +2 -0
  75. package/dist/tests/gate-orientation.test.d.ts.map +1 -0
  76. package/dist/tests/gate-orientation.test.js +59 -0
  77. package/dist/tests/gate-orientation.test.js.map +1 -0
  78. package/dist/tests/middleware.test.js +30 -4
  79. package/dist/tests/middleware.test.js.map +1 -1
  80. package/dist/tests/watcher.service.test.d.ts +2 -0
  81. package/dist/tests/watcher.service.test.d.ts.map +1 -0
  82. package/dist/tests/watcher.service.test.js +119 -0
  83. package/dist/tests/watcher.service.test.js.map +1 -0
  84. package/dist/tools/aprovar-gate.d.ts.map +1 -1
  85. package/dist/tools/aprovar-gate.js +4 -0
  86. package/dist/tools/aprovar-gate.js.map +1 -1
  87. package/dist/tools/contexto.d.ts.map +1 -1
  88. package/dist/tools/contexto.js +41 -0
  89. package/dist/tools/contexto.js.map +1 -1
  90. package/dist/tools/proximo.d.ts.map +1 -1
  91. package/dist/tools/proximo.js +224 -54
  92. package/dist/tools/proximo.js.map +1 -1
  93. package/dist/tools/status.d.ts.map +1 -1
  94. package/dist/tools/status.js +27 -0
  95. package/dist/tools/status.js.map +1 -1
  96. package/dist/tools/validar-gate.d.ts +8 -1
  97. package/dist/tools/validar-gate.d.ts.map +1 -1
  98. package/dist/tools/validar-gate.js +147 -99
  99. package/dist/tools/validar-gate.js.map +1 -1
  100. package/dist/types/config.d.ts +2 -0
  101. package/dist/types/config.d.ts.map +1 -1
  102. package/dist/types/config.js +2 -0
  103. package/dist/types/config.js.map +1 -1
  104. package/dist/types/index.d.ts +6 -0
  105. package/dist/types/index.d.ts.map +1 -1
  106. package/dist/types/index.js.map +1 -1
  107. package/dist/utils/gate-orientation.d.ts +11 -0
  108. package/dist/utils/gate-orientation.d.ts.map +1 -0
  109. package/dist/utils/gate-orientation.js +64 -0
  110. package/dist/utils/gate-orientation.js.map +1 -0
  111. package/dist/utils/ide-paths.d.ts +11 -0
  112. package/dist/utils/ide-paths.d.ts.map +1 -1
  113. package/dist/utils/ide-paths.js +27 -0
  114. package/dist/utils/ide-paths.js.map +1 -1
  115. package/dist/utils/instructions.d.ts +6 -1
  116. package/dist/utils/instructions.d.ts.map +1 -1
  117. package/dist/utils/instructions.js +32 -1
  118. package/dist/utils/instructions.js.map +1 -1
  119. package/package.json +2 -1
  120. package/dist/gates/compatibility-wrapper.d.ts +0 -139
  121. package/dist/gates/compatibility-wrapper.d.ts.map +0 -1
  122. package/dist/gates/compatibility-wrapper.js +0 -362
  123. package/dist/gates/compatibility-wrapper.js.map +0 -1
  124. package/dist/gates/unified-validator.d.ts +0 -67
  125. package/dist/gates/unified-validator.d.ts.map +0 -1
  126. package/dist/gates/unified-validator.js +0 -234
  127. package/dist/gates/unified-validator.js.map +0 -1
@@ -0,0 +1,276 @@
1
+ /**
2
+ * DeliverableValidator — Validador de Entregáveis de Fase (Camada Semântica de Documentos)
3
+ *
4
+ * v6.1: Substitui as camadas de validação de código TypeScript para entregáveis
5
+ * que são documentos Markdown (PRD, Requisitos, UX Design, Arquitetura, etc.).
6
+ *
7
+ * Valida:
8
+ * 1. Presença de seções obrigatórias por fase
9
+ * 2. Completude do gate_checklist da fase
10
+ * 3. Tamanho mínimo de conteúdo por seção
11
+ * 4. Qualidade semântica (não apenas presença)
12
+ */
13
+ // Fases cujo entregável principal é código (não Markdown)
14
+ const FASES_DE_CODIGO = new Set([
15
+ 'Frontend',
16
+ 'Backend',
17
+ ]);
18
+ // Padrões que indicam que o conteúdo é código (não Markdown)
19
+ const PADROES_CODIGO = [
20
+ /^import\s+/m,
21
+ /^export\s+(default\s+)?(function|class|const|interface|type)/m,
22
+ /^(async\s+)?function\s+\w+/m,
23
+ /^class\s+\w+/m,
24
+ /=>\s*\{/,
25
+ /^\s*(const|let|var)\s+\w+\s*=/m,
26
+ ];
27
+ /**
28
+ * Detecta se o conteúdo é código (TypeScript/JavaScript) ao invés de Markdown
29
+ */
30
+ function isCode(content) {
31
+ return PADROES_CODIGO.some(pattern => pattern.test(content));
32
+ }
33
+ const SECOES_POR_FASE = {
34
+ 'Produto': [
35
+ 'problema', 'objetivo', 'persona', 'mvp', 'funcionalidade',
36
+ ],
37
+ 'Requisitos': [
38
+ 'requisito', 'rf-', 'rnf-', 'critério', 'aceite',
39
+ ],
40
+ 'UX Design': [
41
+ 'jornada', 'wireframe', 'fluxo', 'navegação', 'usuário',
42
+ ],
43
+ 'Prototipagem': [
44
+ 'protótipo', 'stitch', 'componente', 'tela',
45
+ ],
46
+ 'Modelo de Domínio': [
47
+ 'entidade', 'relacionamento', 'regra', 'domínio', 'agregado',
48
+ ],
49
+ 'Banco de Dados': [
50
+ 'tabela', 'coluna', 'índice', 'migração', 'schema',
51
+ ],
52
+ 'Arquitetura': [
53
+ 'stack', 'componente', 'diagrama', 'decisão', 'adr',
54
+ ],
55
+ 'Arquitetura Avançada': [
56
+ 'bounded context', 'microserviço', 'evento', 'cqrs', 'domínio',
57
+ ],
58
+ 'Segurança': [
59
+ 'owasp', 'autenticação', 'autorização', 'vulnerabilidade', 'dado sensível',
60
+ ],
61
+ 'Performance': [
62
+ 'caching', 'métrica', 'load', 'escalabilidade', 'latência',
63
+ ],
64
+ 'Observabilidade': [
65
+ 'log', 'métrica', 'trace', 'dashboard', 'alerta',
66
+ ],
67
+ 'Testes': [
68
+ 'teste', 'estratégia', 'caso', 'cobertura', 'ferramenta',
69
+ ],
70
+ 'Backlog': [
71
+ 'épico', 'história', 'sprint', 'prioridade', 'definition of done',
72
+ ],
73
+ 'Contrato API': [
74
+ 'endpoint', 'openapi', 'schema', 'response', 'request',
75
+ ],
76
+ 'Frontend': [
77
+ 'componente', 'interface', 'estado', 'rota', 'mock',
78
+ ],
79
+ 'Backend': [
80
+ 'api', 'serviço', 'repositório', 'banco', 'teste',
81
+ ],
82
+ 'Integração': [
83
+ 'deploy', 'pipeline', 'ci', 'cd', 'integração',
84
+ ],
85
+ 'Deploy Final': [
86
+ 'produção', 'monitoramento', 'health', 'rollback', 'release',
87
+ ],
88
+ };
89
+ // Tamanho mínimo de conteúdo por fase (em caracteres)
90
+ const TAMANHO_MINIMO_POR_FASE = {
91
+ 'Produto': 800,
92
+ 'Requisitos': 600,
93
+ 'UX Design': 500,
94
+ 'Prototipagem': 300,
95
+ 'Modelo de Domínio': 400,
96
+ 'Banco de Dados': 400,
97
+ 'Arquitetura': 600,
98
+ 'Arquitetura Avançada': 700,
99
+ 'Segurança': 400,
100
+ 'Performance': 400,
101
+ 'Observabilidade': 400,
102
+ 'Testes': 400,
103
+ 'Backlog': 600,
104
+ 'Contrato API': 500,
105
+ 'Frontend': 300,
106
+ 'Backend': 300,
107
+ 'Integração': 300,
108
+ 'Deploy Final': 300,
109
+ };
110
+ export class DeliverableValidator {
111
+ async validate(content, context) {
112
+ const issues = [];
113
+ const suggestions = [];
114
+ const nomeFase = context?.nomeFase || 'Desconhecida';
115
+ const contentLower = content.toLowerCase();
116
+ // 1. Verificar tamanho mínimo
117
+ const tamanhoMinimo = TAMANHO_MINIMO_POR_FASE[nomeFase] ?? 300;
118
+ if (content.trim().length < tamanhoMinimo) {
119
+ issues.push({
120
+ type: 'content-too-short',
121
+ severity: 'high',
122
+ message: `Entregável muito curto: ${content.trim().length} caracteres (mínimo: ${tamanhoMinimo})`,
123
+ suggestion: `Expanda o conteúdo da fase "${nomeFase}" com mais detalhes`
124
+ });
125
+ }
126
+ // 2. Verificar presença de seções obrigatórias por fase
127
+ const secoesObrigatorias = SECOES_POR_FASE[nomeFase] ?? [];
128
+ const secoesFaltando = [];
129
+ for (const secao of secoesObrigatorias) {
130
+ if (!contentLower.includes(secao.toLowerCase())) {
131
+ secoesFaltando.push(secao);
132
+ }
133
+ }
134
+ if (secoesFaltando.length > 0) {
135
+ const proporcaoFaltando = secoesFaltando.length / secoesObrigatorias.length;
136
+ const severity = proporcaoFaltando > 0.6 ? 'critical' :
137
+ proporcaoFaltando > 0.3 ? 'high' : 'medium';
138
+ issues.push({
139
+ type: 'missing-sections',
140
+ severity,
141
+ message: `Seções/termos obrigatórios ausentes: ${secoesFaltando.join(', ')}`,
142
+ suggestion: `Inclua conteúdo sobre: ${secoesFaltando.join(', ')}`
143
+ });
144
+ }
145
+ // 3. Verificar gate_checklist da fase
146
+ const gateChecklist = context?.gateChecklist ?? [];
147
+ const itensFaltandoGate = [];
148
+ for (const item of gateChecklist) {
149
+ // Verificar se o item do checklist é evidenciado no conteúdo
150
+ // Usa palavras-chave do item para busca flexível
151
+ const palavrasChave = item.toLowerCase()
152
+ .replace(/[^a-záàâãéèêíïóôõöúüçñ\s]/gi, '')
153
+ .split(' ')
154
+ .filter(p => p.length > 3);
155
+ const itemEvidenciado = palavrasChave.some(palavra => contentLower.includes(palavra));
156
+ if (!itemEvidenciado) {
157
+ itensFaltandoGate.push(item);
158
+ }
159
+ }
160
+ if (itensFaltandoGate.length > 0) {
161
+ const proporcaoFaltando = itensFaltandoGate.length / gateChecklist.length;
162
+ const severity = proporcaoFaltando > 0.5 ? 'high' : 'medium';
163
+ issues.push({
164
+ type: 'gate-checklist-incomplete',
165
+ severity,
166
+ message: `Gate checklist incompleto — ${itensFaltandoGate.length}/${gateChecklist.length} itens não evidenciados`,
167
+ suggestion: `Adicione evidências para: ${itensFaltandoGate.slice(0, 3).join('; ')}${itensFaltandoGate.length > 3 ? '...' : ''}`
168
+ });
169
+ }
170
+ // 4. Verificar qualidade do conteúdo
171
+ // v6.2 S3.2: Para fases de código (Frontend/Backend), não aplicar verificações de Markdown
172
+ const ehFaseDeCodigo = FASES_DE_CODIGO.has(nomeFase);
173
+ const ehCodigo = ehFaseDeCodigo && isCode(content);
174
+ if (ehCodigo) {
175
+ // Para código: verificar apenas se não é um stub vazio
176
+ const linhasComCodigo = content.split('\n').filter(l => l.trim().length > 0 && !l.trim().startsWith('//'));
177
+ if (linhasComCodigo.length < 5) {
178
+ issues.push({
179
+ type: 'code-too-sparse',
180
+ severity: 'medium',
181
+ message: 'Código com muito poucas linhas — pode ser apenas um stub',
182
+ suggestion: 'Implemente a lógica completa do componente/serviço'
183
+ });
184
+ }
185
+ }
186
+ else {
187
+ // Para Markdown: verificar qualidade do documento
188
+ const markdownIssues = this.checkMarkdownQuality(content);
189
+ issues.push(...markdownIssues);
190
+ }
191
+ // 5. Calcular score
192
+ const score = this.calculateScore(issues, secoesObrigatorias.length, gateChecklist.length);
193
+ const passed = score >= 70;
194
+ // Gerar sugestões consolidadas
195
+ if (!passed) {
196
+ if (secoesFaltando.length > 0) {
197
+ suggestions.push(`📝 Adicione seções sobre: ${secoesFaltando.slice(0, 3).join(', ')}`);
198
+ }
199
+ if (itensFaltandoGate.length > 0) {
200
+ suggestions.push(`✅ Evidencie no texto: ${itensFaltandoGate.slice(0, 2).join('; ')}`);
201
+ }
202
+ if (content.trim().length < tamanhoMinimo) {
203
+ suggestions.push(`📏 Expanda o conteúdo (atual: ${content.trim().length} chars, mínimo: ${tamanhoMinimo})`);
204
+ }
205
+ }
206
+ return {
207
+ layer: `Entregável (${nomeFase})`,
208
+ score,
209
+ passed,
210
+ issues,
211
+ suggestions,
212
+ timestamp: new Date().toISOString()
213
+ };
214
+ }
215
+ checkMarkdownQuality(content) {
216
+ const issues = [];
217
+ // Verificar se tem pelo menos um heading
218
+ if (!content.includes('#')) {
219
+ issues.push({
220
+ type: 'no-headings',
221
+ severity: 'medium',
222
+ message: 'Documento sem headings Markdown',
223
+ suggestion: 'Estruture o documento com headings (# Título, ## Seção)'
224
+ });
225
+ }
226
+ // Verificar se é apenas uma lista de bullets sem conteúdo
227
+ const linhas = content.split('\n').filter(l => l.trim().length > 0);
228
+ const linhasBullet = linhas.filter(l => l.trim().startsWith('-') || l.trim().startsWith('*'));
229
+ if (linhas.length > 5 && linhasBullet.length / linhas.length > 0.8) {
230
+ issues.push({
231
+ type: 'only-bullets',
232
+ severity: 'low',
233
+ message: 'Documento composto quase inteiramente de bullets sem texto explicativo',
234
+ suggestion: 'Adicione parágrafos explicativos além dos bullets'
235
+ });
236
+ }
237
+ // Verificar conteúdo placeholder
238
+ const placeholders = ['lorem ipsum', 'todo:', 'fixme:', 'placeholder', '[inserir', '[adicionar'];
239
+ for (const placeholder of placeholders) {
240
+ if (content.toLowerCase().includes(placeholder)) {
241
+ issues.push({
242
+ type: 'placeholder-content',
243
+ severity: 'high',
244
+ message: `Conteúdo placeholder detectado: "${placeholder}"`,
245
+ suggestion: 'Substitua placeholders por conteúdo real'
246
+ });
247
+ }
248
+ }
249
+ return issues;
250
+ }
251
+ calculateScore(issues, totalSecoes, totalGate) {
252
+ if (issues.length === 0)
253
+ return 100;
254
+ let penalty = 0;
255
+ for (const issue of issues) {
256
+ switch (issue.severity) {
257
+ case 'critical':
258
+ penalty += 30;
259
+ break;
260
+ case 'high':
261
+ penalty += 15;
262
+ break;
263
+ case 'medium':
264
+ penalty += 7;
265
+ break;
266
+ case 'low':
267
+ penalty += 3;
268
+ break;
269
+ }
270
+ }
271
+ // Bônus por ter muitas seções e gate items cobertos
272
+ const bonus = Math.min(10, (totalSecoes + totalGate) * 0.5);
273
+ return Math.max(0, Math.min(100, 100 - penalty + bonus));
274
+ }
275
+ }
276
+ //# sourceMappingURL=DeliverableValidator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeliverableValidator.js","sourceRoot":"","sources":["../../../../src/core/validation/layers/DeliverableValidator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"contextual-recommender.d.ts","sourceRoot":"","sources":["../../src/gates/contextual-recommender.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contextual-recommender.d.ts","sourceRoot":"","sources":["../../src/gates/contextual-recommender.ts"],"names":[],"mappings":"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"}
@@ -339,7 +339,266 @@ export class ContextualRecommender {
339
339
  }
340
340
  }
341
341
  ]);
342
- // Adiciona mais templates para outras fases...
342
+ // Adiciona templates para outras fases (v6.3 S2.3)
343
+ // Templates para fase UX Design
344
+ this.templates.set('UX Design', [
345
+ {
346
+ id: 'ux_wireframes',
347
+ phase: 'UX Design',
348
+ trigger: 'missing_wireframes',
349
+ title: 'Incluir wireframes ou protótipos',
350
+ description: 'Adicione representações visuais das telas principais',
351
+ examples: [
352
+ 'Wireframe da tela de login com campos email/senha e botão de acesso',
353
+ 'Protótipo do dashboard principal com navegação lateral e cards de métricas',
354
+ 'Fluxo de onboarding em 3 passos com indicador de progresso'
355
+ ],
356
+ effort: 'moderate',
357
+ impact: 'high'
358
+ },
359
+ {
360
+ id: 'ux_jornadas',
361
+ phase: 'UX Design',
362
+ trigger: 'missing_jornadas',
363
+ title: 'Mapear jornadas do usuário',
364
+ description: 'Documente o fluxo completo que o usuário percorre para atingir seus objetivos',
365
+ examples: [
366
+ 'Jornada de cadastro: Landing → Formulário → Confirmação de email → Onboarding → Dashboard',
367
+ 'Jornada de compra: Busca → Produto → Carrinho → Checkout → Confirmação'
368
+ ],
369
+ effort: 'moderate',
370
+ impact: 'high',
371
+ autofix: {
372
+ type: 'append',
373
+ pattern: '## Jornadas',
374
+ replacement: '## Jornadas do Usuário\n\n### Jornada Principal: [Nome]\n\n1. **[Passo 1]** — [Descrição do passo]\n2. **[Passo 2]** — [Descrição do passo]\n3. **[Passo 3]** — [Descrição do passo]\n\n**Ponto de dor:** [O que pode dar errado]\n**Solução:** [Como o sistema ajuda]\n',
375
+ confidence: 0.8
376
+ }
377
+ },
378
+ {
379
+ id: 'ux_acessibilidade',
380
+ phase: 'UX Design',
381
+ trigger: 'missing_acessibilidade',
382
+ title: 'Considerar acessibilidade (WCAG)',
383
+ description: 'Documente as considerações de acessibilidade para o design',
384
+ examples: [
385
+ 'Contraste mínimo de 4.5:1 para texto normal (WCAG AA)',
386
+ 'Navegação por teclado em todos os elementos interativos',
387
+ 'Labels descritivos em todos os campos de formulário'
388
+ ],
389
+ effort: 'quick',
390
+ impact: 'medium'
391
+ }
392
+ ]);
393
+ // Templates para fase Arquitetura
394
+ this.templates.set('Arquitetura', [
395
+ {
396
+ id: 'arq_c4',
397
+ phase: 'Arquitetura',
398
+ trigger: 'missing_diagrama',
399
+ title: 'Incluir diagrama C4 (pelo menos Contexto)',
400
+ description: 'Adicione pelo menos o diagrama de Contexto do modelo C4',
401
+ examples: [
402
+ 'Diagrama C4 Nível 1 (Contexto): Sistema central + usuários + sistemas externos',
403
+ 'Diagrama C4 Nível 2 (Container): Frontend SPA + API REST + Banco PostgreSQL + Cache Redis'
404
+ ],
405
+ effort: 'moderate',
406
+ impact: 'high',
407
+ autofix: {
408
+ type: 'append',
409
+ pattern: '## Arquitetura',
410
+ replacement: '## Arquitetura\n\n### Diagrama C4 — Nível 1: Contexto\n\n```\n[Usuário] → [Sistema: Nome] → [Sistema Externo 1]\n → [Sistema Externo 2]\n```\n\n### Diagrama C4 — Nível 2: Containers\n\n```\n[Frontend: React SPA] → [API: Node.js REST] → [DB: PostgreSQL]\n → [Cache: Redis]\n```\n',
411
+ confidence: 0.7
412
+ }
413
+ },
414
+ {
415
+ id: 'arq_adrs',
416
+ phase: 'Arquitetura',
417
+ trigger: 'missing_adrs',
418
+ title: 'Documentar ADRs (Architecture Decision Records)',
419
+ description: 'Registre as principais decisões arquiteturais com justificativas',
420
+ examples: [
421
+ 'ADR-001: Escolha de PostgreSQL vs MongoDB — Dados relacionais com transações ACID necessárias',
422
+ 'ADR-002: Arquitetura monolítica vs microsserviços — Equipe pequena, MVP, monolito modular preferido'
423
+ ],
424
+ effort: 'moderate',
425
+ impact: 'high'
426
+ },
427
+ {
428
+ id: 'arq_stack',
429
+ phase: 'Arquitetura',
430
+ trigger: 'missing_stack',
431
+ title: 'Justificar escolhas de stack tecnológica',
432
+ description: 'Documente o porquê de cada tecnologia escolhida',
433
+ examples: [
434
+ 'Frontend: React — Ecossistema maduro, equipe familiarizada, componentes reutilizáveis',
435
+ 'Backend: Node.js — I/O assíncrono, mesmo idioma que frontend, NPM ecosystem'
436
+ ],
437
+ effort: 'quick',
438
+ impact: 'medium'
439
+ }
440
+ ]);
441
+ // Templates para fase Backlog
442
+ this.templates.set('Backlog', [
443
+ {
444
+ id: 'backlog_epicos',
445
+ phase: 'Backlog',
446
+ trigger: 'missing_epicos',
447
+ title: 'Definir épicos do produto',
448
+ description: 'Agrupe funcionalidades em épicos de alto nível',
449
+ examples: [
450
+ 'EP001 — Autenticação e Autorização: Login, cadastro, recuperação de senha, perfis',
451
+ 'EP002 — Dashboard Principal: Métricas, gráficos, filtros, exportação'
452
+ ],
453
+ effort: 'moderate',
454
+ impact: 'high',
455
+ autofix: {
456
+ type: 'append',
457
+ pattern: '## Épicos',
458
+ replacement: '## Épicos\n\n**EP001** — [Nome do Épico]\n- Descrição: [O que este épico engloba]\n- Valor de negócio: [Por que é importante]\n- Histórias: [US001, US002, US003]\n\n**EP002** — [Nome do Épico]\n- Descrição: [O que este épico engloba]\n',
459
+ confidence: 0.85
460
+ }
461
+ },
462
+ {
463
+ id: 'backlog_historias',
464
+ phase: 'Backlog',
465
+ trigger: 'missing_historias',
466
+ title: 'Escrever histórias de usuário com critérios de aceite',
467
+ description: 'Defina histórias no formato "Como [persona], quero [ação], para [benefício]"',
468
+ examples: [
469
+ 'US001 — Como gerente, quero visualizar métricas do time em tempo real, para tomar decisões rápidas\n AC: Dashboard atualiza a cada 30s; Filtro por período; Exportação em PDF',
470
+ 'US002 — Como desenvolvedor, quero receber alertas de build quebrado, para corrigir rapidamente'
471
+ ],
472
+ effort: 'moderate',
473
+ impact: 'high'
474
+ },
475
+ {
476
+ id: 'backlog_dod',
477
+ phase: 'Backlog',
478
+ trigger: 'missing_definition_of_done',
479
+ title: 'Estabelecer Definition of Done',
480
+ description: 'Defina critérios claros para considerar uma história concluída',
481
+ examples: [
482
+ 'Código revisado por pelo menos 1 desenvolvedor',
483
+ 'Testes unitários com cobertura ≥ 80%',
484
+ 'Documentação de API atualizada',
485
+ 'Deploy em staging sem erros'
486
+ ],
487
+ effort: 'quick',
488
+ impact: 'high'
489
+ }
490
+ ]);
491
+ // Templates para fase Frontend
492
+ this.templates.set('Frontend', [
493
+ {
494
+ id: 'fe_componentes',
495
+ phase: 'Frontend',
496
+ trigger: 'missing_componentes',
497
+ title: 'Documentar componentes principais',
498
+ description: 'Liste os componentes React/Vue/Angular implementados com suas props',
499
+ examples: [
500
+ '<DataTable columns={[]} rows={[]} onSort={} onFilter={} pagination={} />',
501
+ '<UserAvatar src={} name={} size="sm|md|lg" showStatus={} />'
502
+ ],
503
+ effort: 'moderate',
504
+ impact: 'medium'
505
+ },
506
+ {
507
+ id: 'fe_responsividade',
508
+ phase: 'Frontend',
509
+ trigger: 'missing_responsividade',
510
+ title: 'Validar responsividade (mobile-first)',
511
+ description: 'Documente como o layout se adapta a diferentes tamanhos de tela',
512
+ examples: [
513
+ 'Mobile (< 768px): Menu hamburguer, cards empilhados, tabelas com scroll horizontal',
514
+ 'Tablet (768-1024px): Sidebar colapsável, grid 2 colunas',
515
+ 'Desktop (> 1024px): Sidebar fixa, grid 3 colunas, tabelas completas'
516
+ ],
517
+ effort: 'moderate',
518
+ impact: 'high'
519
+ },
520
+ {
521
+ id: 'fe_performance',
522
+ phase: 'Frontend',
523
+ trigger: 'missing_performance',
524
+ title: 'Documentar otimizações de performance',
525
+ description: 'Registre as estratégias de performance implementadas',
526
+ examples: [
527
+ 'Lazy loading de rotas com React.lazy() + Suspense',
528
+ 'Memoização de componentes pesados com React.memo()',
529
+ 'Virtualização de listas longas com react-virtual'
530
+ ],
531
+ effort: 'moderate',
532
+ impact: 'medium'
533
+ }
534
+ ]);
535
+ // Templates para fase Backend
536
+ this.templates.set('Backend', [
537
+ {
538
+ id: 'be_endpoints',
539
+ phase: 'Backend',
540
+ trigger: 'missing_endpoints',
541
+ title: 'Documentar endpoints da API',
542
+ description: 'Liste os endpoints implementados com método, rota e contrato',
543
+ examples: [
544
+ 'GET /api/users — Lista usuários (paginado, filtros: status, role)',
545
+ 'POST /api/users — Cria usuário (body: { name, email, role })',
546
+ 'PUT /api/users/:id — Atualiza usuário (body parcial)'
547
+ ],
548
+ effort: 'moderate',
549
+ impact: 'high',
550
+ autofix: {
551
+ type: 'append',
552
+ pattern: '## Endpoints',
553
+ replacement: '## Endpoints da API\n\n### [Recurso]\n\n| Método | Rota | Descrição | Auth |\n|--------|------|-----------|------|\n| GET | /api/[recurso] | Lista [recursos] | JWT |\n| POST | /api/[recurso] | Cria [recurso] | JWT |\n| GET | /api/[recurso]/:id | Busca por ID | JWT |\n| PUT | /api/[recurso]/:id | Atualiza | JWT |\n| DELETE | /api/[recurso]/:id | Remove | JWT+Admin |\n',
554
+ confidence: 0.8
555
+ }
556
+ },
557
+ {
558
+ id: 'be_testes',
559
+ phase: 'Backend',
560
+ trigger: 'missing_testes',
561
+ title: 'Documentar estratégia de testes',
562
+ description: 'Descreva os testes implementados e cobertura',
563
+ examples: [
564
+ 'Testes unitários: Jest, cobertura 85%, foco em services e utils',
565
+ 'Testes de integração: Supertest, endpoints críticos (auth, pagamentos)',
566
+ 'Testes de contrato: Pact para comunicação com serviços externos'
567
+ ],
568
+ effort: 'moderate',
569
+ impact: 'high'
570
+ },
571
+ {
572
+ id: 'be_seguranca',
573
+ phase: 'Backend',
574
+ trigger: 'missing_seguranca',
575
+ title: 'Documentar medidas de segurança',
576
+ description: 'Registre as proteções implementadas contra vulnerabilidades',
577
+ examples: [
578
+ 'Autenticação: JWT com refresh token, expiração 15min/7dias',
579
+ 'Rate limiting: 100 req/min por IP, 1000 req/min por usuário autenticado',
580
+ 'Validação: Zod/Joi em todos os inputs, sanitização de SQL'
581
+ ],
582
+ effort: 'moderate',
583
+ impact: 'high'
584
+ }
585
+ ]);
586
+ // Templates para fase Banco de Dados
587
+ this.templates.set('Banco de Dados', [
588
+ {
589
+ id: 'db_schema',
590
+ phase: 'Banco de Dados',
591
+ trigger: 'missing_schema',
592
+ title: 'Documentar schema do banco de dados',
593
+ description: 'Descreva as tabelas/coleções com seus campos e relacionamentos',
594
+ examples: [
595
+ 'users: id, email (unique), name, role (enum), created_at, updated_at',
596
+ 'orders: id, user_id (FK), status (enum), total, items (jsonb), created_at'
597
+ ],
598
+ effort: 'moderate',
599
+ impact: 'high'
600
+ }
601
+ ]);
343
602
  }
344
603
  /**
345
604
  * Inicializa padrões por fase
@@ -1 +1 @@
1
- {"version":3,"file":"contextual-recommender.js","sourceRoot":"","sources":["../../src/gates/contextual-recommender.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contextual-recommender.js","sourceRoot":"","sources":["../../src/gates/contextual-recommender.ts"],"names":[],"mappings":"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"}