@maestro-ai/mcp-server 5.4.5 → 5.5.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 (139) 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/flows/onboarding-orchestrator.js +5 -5
  16. package/dist/flows/onboarding-orchestrator.js.map +1 -1
  17. package/dist/gates/contextual-recommender.d.ts.map +1 -1
  18. package/dist/gates/contextual-recommender.js +260 -1
  19. package/dist/gates/contextual-recommender.js.map +1 -1
  20. package/dist/gates/validator.d.ts +5 -6
  21. package/dist/gates/validator.d.ts.map +1 -1
  22. package/dist/gates/validator.js +9 -6
  23. package/dist/gates/validator.js.map +1 -1
  24. package/dist/handlers/shared-prompt-handler.d.ts.map +1 -1
  25. package/dist/handlers/shared-prompt-handler.js +15 -14
  26. package/dist/handlers/shared-prompt-handler.js.map +1 -1
  27. package/dist/middleware/adr-generation.middleware.d.ts +5 -0
  28. package/dist/middleware/adr-generation.middleware.d.ts.map +1 -0
  29. package/dist/middleware/adr-generation.middleware.js +214 -0
  30. package/dist/middleware/adr-generation.middleware.js.map +1 -0
  31. package/dist/middleware/flow-engine.middleware.d.ts +5 -3
  32. package/dist/middleware/flow-engine.middleware.d.ts.map +1 -1
  33. package/dist/middleware/flow-engine.middleware.js +18 -10
  34. package/dist/middleware/flow-engine.middleware.js.map +1 -1
  35. package/dist/middleware/index.d.ts +18 -11
  36. package/dist/middleware/index.d.ts.map +1 -1
  37. package/dist/middleware/index.js +24 -11
  38. package/dist/middleware/index.js.map +1 -1
  39. package/dist/middleware/orchestration-pipeline.middleware.d.ts +42 -0
  40. package/dist/middleware/orchestration-pipeline.middleware.d.ts.map +1 -0
  41. package/dist/middleware/orchestration-pipeline.middleware.js +57 -0
  42. package/dist/middleware/orchestration-pipeline.middleware.js.map +1 -0
  43. package/dist/middleware/skill-injection.middleware.d.ts.map +1 -1
  44. package/dist/middleware/skill-injection.middleware.js +6 -9
  45. package/dist/middleware/skill-injection.middleware.js.map +1 -1
  46. package/dist/middleware/validation.middleware.d.ts +11 -0
  47. package/dist/middleware/validation.middleware.d.ts.map +1 -1
  48. package/dist/middleware/validation.middleware.js +64 -4
  49. package/dist/middleware/validation.middleware.js.map +1 -1
  50. package/dist/router.d.ts.map +1 -1
  51. package/dist/router.js +20 -14
  52. package/dist/router.js.map +1 -1
  53. package/dist/services/flow-engine.d.ts +1 -0
  54. package/dist/services/flow-engine.d.ts.map +1 -1
  55. package/dist/services/flow-engine.js +22 -10
  56. package/dist/services/flow-engine.js.map +1 -1
  57. package/dist/services/watcher.service.d.ts +45 -0
  58. package/dist/services/watcher.service.d.ts.map +1 -0
  59. package/dist/services/watcher.service.js +106 -0
  60. package/dist/services/watcher.service.js.map +1 -0
  61. package/dist/state/context.d.ts +15 -4
  62. package/dist/state/context.d.ts.map +1 -1
  63. package/dist/state/context.js +36 -9
  64. package/dist/state/context.js.map +1 -1
  65. package/dist/state/storage.d.ts.map +1 -1
  66. package/dist/state/storage.js +6 -0
  67. package/dist/state/storage.js.map +1 -1
  68. package/dist/tests/aprovar-gate.test.d.ts +2 -0
  69. package/dist/tests/aprovar-gate.test.d.ts.map +1 -0
  70. package/dist/tests/aprovar-gate.test.js +113 -0
  71. package/dist/tests/aprovar-gate.test.js.map +1 -0
  72. package/dist/tests/deliverable-validator.test.d.ts +12 -0
  73. package/dist/tests/deliverable-validator.test.d.ts.map +1 -0
  74. package/dist/tests/deliverable-validator.test.js +214 -0
  75. package/dist/tests/deliverable-validator.test.js.map +1 -0
  76. package/dist/tests/flow-engine.test.d.ts +2 -0
  77. package/dist/tests/flow-engine.test.d.ts.map +1 -0
  78. package/dist/tests/flow-engine.test.js +85 -0
  79. package/dist/tests/flow-engine.test.js.map +1 -0
  80. package/dist/tests/gate-orientation.test.d.ts +2 -0
  81. package/dist/tests/gate-orientation.test.d.ts.map +1 -0
  82. package/dist/tests/gate-orientation.test.js +59 -0
  83. package/dist/tests/gate-orientation.test.js.map +1 -0
  84. package/dist/tests/middleware.test.js +30 -4
  85. package/dist/tests/middleware.test.js.map +1 -1
  86. package/dist/tests/watcher.service.test.d.ts +2 -0
  87. package/dist/tests/watcher.service.test.d.ts.map +1 -0
  88. package/dist/tests/watcher.service.test.js +119 -0
  89. package/dist/tests/watcher.service.test.js.map +1 -0
  90. package/dist/tools/aprovar-gate.d.ts.map +1 -1
  91. package/dist/tools/aprovar-gate.js +4 -0
  92. package/dist/tools/aprovar-gate.js.map +1 -1
  93. package/dist/tools/contexto.d.ts.map +1 -1
  94. package/dist/tools/contexto.js +41 -0
  95. package/dist/tools/contexto.js.map +1 -1
  96. package/dist/tools/iniciar-projeto.d.ts.map +1 -1
  97. package/dist/tools/iniciar-projeto.js +6 -40
  98. package/dist/tools/iniciar-projeto.js.map +1 -1
  99. package/dist/tools/maestro-tool.d.ts.map +1 -1
  100. package/dist/tools/maestro-tool.js +34 -14
  101. package/dist/tools/maestro-tool.js.map +1 -1
  102. package/dist/tools/proximo.d.ts.map +1 -1
  103. package/dist/tools/proximo.js +224 -71
  104. package/dist/tools/proximo.js.map +1 -1
  105. package/dist/tools/status.d.ts.map +1 -1
  106. package/dist/tools/status.js +27 -0
  107. package/dist/tools/status.js.map +1 -1
  108. package/dist/tools/validar-gate.d.ts +8 -1
  109. package/dist/tools/validar-gate.d.ts.map +1 -1
  110. package/dist/tools/validar-gate.js +147 -99
  111. package/dist/tools/validar-gate.js.map +1 -1
  112. package/dist/types/config.d.ts +2 -0
  113. package/dist/types/config.d.ts.map +1 -1
  114. package/dist/types/config.js +2 -0
  115. package/dist/types/config.js.map +1 -1
  116. package/dist/types/index.d.ts +6 -0
  117. package/dist/types/index.d.ts.map +1 -1
  118. package/dist/types/index.js.map +1 -1
  119. package/dist/utils/gate-orientation.d.ts +11 -0
  120. package/dist/utils/gate-orientation.d.ts.map +1 -0
  121. package/dist/utils/gate-orientation.js +64 -0
  122. package/dist/utils/gate-orientation.js.map +1 -0
  123. package/dist/utils/ide-paths.d.ts +11 -0
  124. package/dist/utils/ide-paths.d.ts.map +1 -1
  125. package/dist/utils/ide-paths.js +27 -0
  126. package/dist/utils/ide-paths.js.map +1 -1
  127. package/dist/utils/instructions.d.ts +6 -1
  128. package/dist/utils/instructions.d.ts.map +1 -1
  129. package/dist/utils/instructions.js +32 -1
  130. package/dist/utils/instructions.js.map +1 -1
  131. package/package.json +2 -1
  132. package/dist/gates/compatibility-wrapper.d.ts +0 -139
  133. package/dist/gates/compatibility-wrapper.d.ts.map +0 -1
  134. package/dist/gates/compatibility-wrapper.js +0 -362
  135. package/dist/gates/compatibility-wrapper.js.map +0 -1
  136. package/dist/gates/unified-validator.d.ts +0 -67
  137. package/dist/gates/unified-validator.d.ts.map +0 -1
  138. package/dist/gates/unified-validator.js +0 -234
  139. package/dist/gates/unified-validator.js.map +0 -1
@@ -1,60 +1,149 @@
1
1
  import { parsearEstado } from "../state/storage.js";
2
2
  import { getFase } from "../flows/types.js";
3
- import { validarGate as validarGateCore, formatarResultadoGate, validarGateComTemplate } from "../gates/validator.js";
4
- import { formatarResultadoValidacao } from "../gates/template-validator.js";
5
- import { gerarRelatorioQualidade, compararComTier } from "../gates/quality-scorer.js";
6
- import { resolveProjectPath, getServerContentRoot } from "../utils/files.js";
3
+ import { IntelligentGateEngine } from "../gates/intelligent-gate-engine.js";
4
+ import { validarGate as validarGateLegacy, formatarResultadoGate } from "../gates/validator.js";
5
+ import { resolveProjectPath } from "../utils/files.js";
7
6
  import { setCurrentDirectory } from "../state/context.js";
7
+ import { join } from "path";
8
8
  import { getSkillParaFase } from "../utils/prompt-mapper.js";
9
9
  import { getSkillResourcePath, detectIDE } from "../utils/ide-paths.js";
10
10
  import { readFile } from "fs/promises";
11
- import { join } from "path";
12
11
  import { getSpecialistPersona } from "../services/specialist.service.js";
12
+ /** Mapeia tipo de artefato do estado para tipo de projeto do engine */
13
+ function mapProjectType(tipoArtefato) {
14
+ switch (tipoArtefato) {
15
+ case 'poc': return 'poc';
16
+ case 'product': return 'product';
17
+ case 'script': return 'poc';
18
+ case 'internal': return 'internal';
19
+ default: return 'internal';
20
+ }
21
+ }
22
+ /** Mapeia tier do estado para tier do engine */
23
+ function mapTier(tier) {
24
+ if (tier === 'essencial' || tier === 'base' || tier === 'avancado')
25
+ return tier;
26
+ return 'base';
27
+ }
28
+ /** Ícone e label para cada nível de maturidade */
29
+ const MATURITY_LABELS = {
30
+ 1: { icon: '🌱', label: 'Conceito Inicial' },
31
+ 2: { icon: '🔨', label: 'Estrutura Básica' },
32
+ 3: { icon: '✅', label: 'Padrão Profissional' },
33
+ 4: { icon: '⭐', label: 'Alta Qualidade' },
34
+ 5: { icon: '🏆', label: 'Exemplar' },
35
+ };
36
+ /** Formata resultado do IntelligentGateEngine em texto legível */
37
+ function formatIntelligentResult(result, faseNumero, faseNome, tier) {
38
+ const maturity = MATURITY_LABELS[result.maturityLevel] ?? MATURITY_LABELS[1];
39
+ const { summary, validationResult, adaptiveScore } = result;
40
+ let text = `# Gate da Fase ${faseNumero}: ${faseNome}\n\n`;
41
+ // Status principal
42
+ text += `## ${summary.statusIcon} ${summary.title}\n\n`;
43
+ text += `${summary.mainMessage}\n\n`;
44
+ // Score e nível de maturidade
45
+ text += `## 📊 Avaliação\n\n`;
46
+ text += `| Dimensão | Score |\n|----------|-------|\n`;
47
+ text += `| **Score Geral** | **${result.overallScore}/100** |\n`;
48
+ text += `| Semântica | ${adaptiveScore.components.semantic}/100 |\n`;
49
+ text += `| Completude | ${adaptiveScore.components.completeness}/100 |\n`;
50
+ text += `| Qualidade | ${adaptiveScore.components.quality}/100 |\n`;
51
+ text += `| Estrutura | ${adaptiveScore.components.structure}/100 |\n\n`;
52
+ text += `**Nível de Maturidade:** ${maturity.icon} Nível ${result.maturityLevel} — ${maturity.label}\n`;
53
+ text += `**Tier de Validação:** ${tier}\n`;
54
+ text += `**Confiança:** ${Math.round(result.confidenceLevel * 100)}%\n\n`;
55
+ // Pontos fortes
56
+ if (summary.keyStrengths.length > 0) {
57
+ text += `## 💪 Pontos Fortes\n\n`;
58
+ summary.keyStrengths.forEach(s => { text += `- ${s}\n`; });
59
+ text += '\n';
60
+ }
61
+ // Bloqueadores críticos
62
+ if (validationResult.blockers.length > 0) {
63
+ text += `## 🔴 Bloqueadores Críticos\n\n`;
64
+ validationResult.blockers.forEach(b => {
65
+ text += `**${b.message}**\n`;
66
+ text += `> Como corrigir: ${b.howToFix}\n\n`;
67
+ });
68
+ }
69
+ // Ações prioritárias
70
+ if (summary.priorityActions.length > 0) {
71
+ text += `## ⚡ Ações Prioritárias\n\n`;
72
+ summary.priorityActions.forEach((a, i) => { text += `${i + 1}. ${a}\n`; });
73
+ text += '\n';
74
+ }
75
+ // Recomendações inteligentes
76
+ const criticalRecs = validationResult.recommendations.filter(r => r.type === 'critical');
77
+ const improvRecs = validationResult.recommendations.filter(r => r.type === 'improvement').slice(0, 3);
78
+ if (criticalRecs.length > 0) {
79
+ text += `## 🔧 Melhorias Necessárias\n\n`;
80
+ criticalRecs.forEach(r => {
81
+ text += `**[${r.impact.toUpperCase()}] ${r.title}**`;
82
+ if (r.estimatedTimeMinutes)
83
+ text += ` _(~${r.estimatedTimeMinutes}min)_`;
84
+ text += `\n${r.description}\n`;
85
+ if (r.examples && r.examples.length > 0) {
86
+ text += `> Exemplo: ${r.examples[0]}\n`;
87
+ }
88
+ text += '\n';
89
+ });
90
+ }
91
+ if (improvRecs.length > 0) {
92
+ text += `## 💡 Sugestões de Melhoria\n\n`;
93
+ improvRecs.forEach(r => {
94
+ text += `- **${r.title}** _(esforço: ${r.effort})_: ${r.description}\n`;
95
+ });
96
+ text += '\n';
97
+ }
98
+ // Próximos passos
99
+ if (summary.nextSteps.length > 0) {
100
+ text += `## 🗺️ Próximos Passos\n\n`;
101
+ summary.nextSteps.forEach((s, i) => { text += `${i + 1}. ${s}\n`; });
102
+ text += '\n';
103
+ }
104
+ // Decisão final
105
+ if (result.canAdvance) {
106
+ text += `---\n✅ **Você pode avançar!** Use \`proximo(entregavel: "...", estado_json: "...", diretorio: "...")\` para ir para a próxima fase.`;
107
+ }
108
+ else {
109
+ text += `---\n⚠️ **Complete os itens pendentes** ou use \`proximo(entregavel: "...", estado_json: "...", confirmar_usuario: true)\` para forçar avanço.`;
110
+ }
111
+ return text;
112
+ }
113
+ /** Fallback para sistema legado quando engine falha */
114
+ function formatLegacyResult(resultado, faseNumero, faseNome) {
115
+ const resultadoFormatado = formatarResultadoGate(resultado);
116
+ let text = `# Gate da Fase ${faseNumero}: ${faseNome}\n\n`;
117
+ text += `## ⚠️ Validação Legada (Engine indisponível)\n\n`;
118
+ text += resultadoFormatado + '\n\n';
119
+ text += resultado.valido
120
+ ? `✅ **Você pode avançar!** Use \`proximo(entregavel: "...", estado_json: "...", diretorio: "...")\` para ir para a próxima fase.`
121
+ : `⚠️ **Complete os itens pendentes** ou use \`proximo(entregavel: "...", estado_json: "...", confirmar_usuario: true)\` para forçar avanço.`;
122
+ return text;
123
+ }
13
124
  /**
14
125
  * Tool: validar_gate
15
- * Valida checklist de saída da fase (modo stateless)
126
+ * v6.3: Usa IntelligentGateEngine como sistema principal (com fallback legado automático)
16
127
  */
17
128
  export async function validarGate(args) {
18
- // Validar parâmetros
19
129
  if (!args.estado_json) {
20
130
  return {
21
131
  content: [{
22
132
  type: "text",
23
- text: `# 📋 Validar Gate (Modo Stateless)
24
-
25
- Para validar um gate, a IA deve:
26
- 1. Ler o arquivo \`.maestro/estado.json\` do projeto
27
- 2. Passar o conteúdo como parâmetro
28
-
29
- **Uso:**
30
- \`\`\`
31
- validar_gate(
32
- entregavel: "[conteúdo]",
33
- estado_json: "...",
34
- diretorio: "C:/projetos/meu-projeto"
35
- )
36
- \`\`\`
37
- `,
133
+ text: `# 📋 Validar Gate (Modo Stateless)\n\nPara validar um gate, a IA deve:\n1. Ler o arquivo \`.maestro/estado.json\` do projeto\n2. Passar o conteúdo como parâmetro\n\n**Uso:**\n\`\`\`\nvalidar_gate(\n entregavel: "[conteúdo]",\n estado_json: "...",\n diretorio: "C:/projetos/meu-projeto"\n)\n\`\`\`\n`,
38
134
  }],
39
135
  };
40
136
  }
41
137
  if (!args.diretorio) {
42
138
  return {
43
- content: [{
44
- type: "text",
45
- text: "❌ **Erro**: Parâmetro `diretorio` é obrigatório.",
46
- }],
139
+ content: [{ type: "text", text: "❌ **Erro**: Parâmetro `diretorio` é obrigatório." }],
47
140
  isError: true,
48
141
  };
49
142
  }
50
- // Parsear estado
51
143
  const estado = parsearEstado(args.estado_json);
52
144
  if (!estado) {
53
145
  return {
54
- content: [{
55
- type: "text",
56
- text: "❌ **Erro**: Não foi possível parsear o estado JSON.",
57
- }],
146
+ content: [{ type: "text", text: "❌ **Erro**: Não foi possível parsear o estado JSON." }],
58
147
  isError: true,
59
148
  };
60
149
  }
@@ -64,112 +153,71 @@ validar_gate(
64
153
  const fase = getFase(estado.nivel, numeroFase);
65
154
  if (!fase) {
66
155
  return {
67
- content: [{
68
- type: "text",
69
- text: `❌ **Erro**: Fase ${numeroFase} não encontrada.`,
70
- }],
156
+ content: [{ type: "text", text: `❌ **Erro**: Fase ${numeroFase} não encontrada.` }],
71
157
  isError: true,
72
158
  };
73
159
  }
74
160
  // Buscar entregável automaticamente se não foi passado
75
161
  let entregavel = args.entregavel;
76
162
  if (!entregavel) {
77
- // Tentar ler do arquivo de entregável da fase
78
- // Compatibilidade: proximo() salva com chave "fase_X" e caminho completo
79
- // Tentamos ambas as convenções para retrocompatibilidade
80
163
  const chaveNova = `fase_${numeroFase}`;
81
164
  const chaveLegacy = numeroFase.toString();
82
165
  const caminhoOuNome = estado.entregaveis[chaveNova] || estado.entregaveis[chaveLegacy];
83
166
  if (caminhoOuNome) {
84
167
  try {
85
- // Verificar se é caminho absoluto ou relativo completo (novo formato)
86
- // ou apenas nome de arquivo (formato legacy)
87
168
  let caminhoEntregavel;
88
169
  if (caminhoOuNome.includes('/') || caminhoOuNome.includes('\\')) {
89
- // Novo formato: caminho completo ou relativo
90
- // Se começa com diretório, é absoluto; senão, é relativo ao projeto
91
- if (caminhoOuNome.startsWith(diretorio)) {
92
- caminhoEntregavel = caminhoOuNome;
93
- }
94
- else {
95
- caminhoEntregavel = join(diretorio, caminhoOuNome);
96
- }
170
+ caminhoEntregavel = caminhoOuNome.startsWith(diretorio)
171
+ ? caminhoOuNome
172
+ : join(diretorio, caminhoOuNome);
97
173
  }
98
174
  else {
99
- // Formato legacy: apenas nome do arquivo em .maestro/entregaveis/
100
175
  caminhoEntregavel = join(diretorio, ".maestro", "entregaveis", caminhoOuNome);
101
176
  }
102
177
  entregavel = await readFile(caminhoEntregavel, "utf-8");
103
178
  }
104
179
  catch {
105
- // Se não conseguir ler, continua sem entregável
180
+ // Continua sem entregável
106
181
  }
107
182
  }
108
- // Se ainda não tem entregável, mostrar checklist
109
183
  if (!entregavel) {
110
- const resposta = `# 📋 Gate da Fase ${numeroFase}: ${fase.nome}\n\n## ⚠️ Validação Automática\n\nNenhum entregável encontrado para esta fase.\n\n## Checklist de Saída\n\n${fase.gate_checklist.map((item, i) => `${i + 1}. ${item}`).join("\n")}\n\n## 💡 Como Proceder\n\n1. Gere o entregável da fase usando os especialistas\n2. Salve com \`proximo()\` para validação automática\n3. Ou passe manualmente: \`validar_gate(entregavel: "...", estado_json: "...", diretorio: "...")\`\n`;
111
- return {
112
- content: [{ type: "text", text: resposta }],
113
- };
184
+ const resposta = `# 📋 Gate da Fase ${numeroFase}: ${fase.nome}\n\n## ⚠️ Nenhum Entregável Encontrado\n\nNenhum entregável encontrado para esta fase.\n\n## Checklist de Saída\n\n${fase.gate_checklist.map((item, i) => `${i + 1}. ${item}`).join("\n")}\n\n## 💡 Como Proceder\n\n1. Gere o entregável da fase usando os especialistas\n2. Salve com \`proximo()\` para validação automática\n3. Ou passe manualmente: \`validar_gate(entregavel: "...", estado_json: "...", diretorio: "...")\`\n`;
185
+ return { content: [{ type: "text", text: resposta }] };
114
186
  }
115
187
  }
116
- // Tentar validação com template (novo sistema)
117
- // Usar getServerContentRoot ao invés de __dirname (ES modules)
118
- const diretorioContent = getServerContentRoot();
119
- const tier = estado.tier_gate || "base";
120
- const validacaoTemplate = validarGateComTemplate(fase, entregavel, tier, diretorioContent);
121
- let resposta = "";
122
- if (validacaoTemplate.sucesso && validacaoTemplate.resultado) {
123
- // Usar novo sistema baseado em template
124
- const resultado = validacaoTemplate.resultado;
125
- resposta = `# Gate da Fase ${numeroFase}: ${fase.nome}
126
-
127
- `;
128
- resposta += `## 🎯 Validação Baseada em Template\n\n`;
129
- resposta += `**Template:** \`${resultado.skillNome}\`\n`;
130
- resposta += `**Tier:** ${tier}\n\n`;
131
- resposta += formatarResultadoValidacao(resultado, tier);
132
- // Relatório de qualidade
133
- if (resultado.qualidade) {
134
- resposta += "\n" + gerarRelatorioQualidade(resultado.qualidade, tier);
135
- const comparacao = compararComTier(resultado.qualidade, tier);
136
- resposta += "\n" + comparacao.mensagem + "\n\n";
137
- }
138
- // Link para template
188
+ const tier = mapTier(estado.tier_gate);
189
+ const projectType = mapProjectType(estado.tipo_artefato);
190
+ // === SISTEMA PRINCIPAL: IntelligentGateEngine (v6.3) ===
191
+ let resposta;
192
+ let canAdvance;
193
+ try {
194
+ const engine = new IntelligentGateEngine();
195
+ const result = await engine.validateDeliverable(entregavel, fase, tier, projectType, { fallbackToLegacy: false, maxRecommendations: 6 });
196
+ resposta = formatIntelligentResult(result, numeroFase, fase.nome, tier);
197
+ canAdvance = result.canAdvance;
198
+ // Link para template da skill (mantido do sistema anterior)
139
199
  const skillAtual = getSkillParaFase(fase.nome);
140
200
  if (skillAtual) {
141
201
  const ide = estado.ide || detectIDE(args.diretorio) || 'windsurf';
142
202
  const templatesPath = getSkillResourcePath(skillAtual, 'templates', ide);
143
- resposta += `## 📄 Template de Referência\n\n`;
144
- resposta += `**Localização:** \`${templatesPath}\`\n\n`;
145
- resposta += `> 💡 Consulte o template para ver a estrutura completa esperada.\n\n`;
203
+ resposta += `\n\n## 📄 Template de Referência\n\n**Localização:** \`${templatesPath}\`\n\n> 💡 Consulte o template para ver a estrutura completa esperada.\n`;
146
204
  }
147
- resposta += resultado.valido
148
- ? "✅ **Você pode avançar!** Use `proximo(entregavel: \"...\", estado_json: \"...\")` para ir para a próxima fase."
149
- : "⚠️ **Complete os itens pendentes** ou use `proximo(entregavel: \"...\", estado_json: \"...\", confirmar_usuario: true)` para forçar avanço.";
150
205
  }
151
- else {
152
- // Fallback para sistema legado
153
- const resultado = validarGateCore(fase, entregavel);
154
- const resultadoFormatado = formatarResultadoGate(resultado);
155
- resposta = `# Gate da Fase ${numeroFase}: ${fase.nome}\n\n`;
156
- resposta += `## ⚠️ Validação Legada (Template não disponível)\n\n`;
157
- resposta += resultadoFormatado + "\n\n";
206
+ catch (engineError) {
207
+ // === FALLBACK: Sistema legado ===
208
+ console.warn(`[validar_gate] IntelligentGateEngine falhou, usando fallback legado:`, engineError);
209
+ const resultado = validarGateLegacy(fase, entregavel);
210
+ resposta = formatLegacyResult(resultado, numeroFase, fase.nome);
211
+ canAdvance = resultado.valido;
158
212
  const skillAtual = getSkillParaFase(fase.nome);
159
213
  if (skillAtual) {
160
214
  const ide = estado.ide || detectIDE(args.diretorio) || 'windsurf';
161
215
  const checklistPath = getSkillResourcePath(skillAtual, 'checklists', ide);
162
- resposta += `## 📋 Checklist da Skill\n\n`;
163
- resposta += `**Localização:** \`${checklistPath}\`\n\n`;
164
- resposta += `> 💡 Consulte o checklist completo da skill para validação detalhada.\n\n`;
216
+ resposta += `\n\n## 📋 Checklist da Skill\n\n**Localização:** \`${checklistPath}\`\n`;
165
217
  }
166
- resposta += resultado.valido
167
- ? "✅ **Você pode avançar!** Use `proximo(entregavel: \"...\", estado_json: \"...\")` para ir para a próxima fase."
168
- : "⚠️ **Complete os itens pendentes** ou use `proximo(entregavel: \"...\", estado_json: \"...\", confirmar_usuario: true)` para forçar avanço.";
169
218
  }
170
219
  const specialist = fase ? getSpecialistPersona(fase.nome) : null;
171
- const isValid = resposta.includes("✅ **Você pode avançar");
172
- const next_action = isValid ? {
220
+ const next_action = canAdvance ? {
173
221
  tool: "proximo",
174
222
  description: `Gate validado. Avançar com o entregável da fase ${numeroFase} (${fase.nome})`,
175
223
  args_template: { entregavel: "{{conteudo_do_entregavel}}", estado_json: "{{estado_json}}", diretorio },
@@ -1 +1 @@
1
- {"version":3,"file":"validar-gate.js","sourceRoot":"","sources":["../../src/tools/validar-gate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validar-gate.js","sourceRoot":"","sources":["../../src/tools/validar-gate.ts"],"names":[],"mappings":"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"}
@@ -39,6 +39,8 @@ export interface ProjectConfig {
39
39
  frontend_first: boolean;
40
40
  auto_checkpoint: boolean;
41
41
  auto_fix: boolean;
42
+ /** v6.3: Controla se o brainstorm é sugerido no fluxo. Padrão: false em economy, true nos demais. */
43
+ wantsBrainstorm: boolean;
42
44
  }
43
45
  export declare function getDefaultConfig(flow: FlowType, mode: OperationMode): ProjectConfig;
44
46
  export declare function getModeDescription(mode: OperationMode): string;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;AAE/D,MAAM,MAAM,QAAQ,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEvE,MAAM,WAAW,kBAAkB;IAC/B,eAAe,EAAE,OAAO,CAAC;IACzB,eAAe,EAAE,OAAO,CAAC;IACzB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,oBAAoB,EAAE,OAAO,CAAC;CACjC;AAED,MAAM,WAAW,UAAU;IACvB,IAAI,EAAE,aAAa,CAAC;IACpB,YAAY,EAAE,kBAAkB,CAAC;IACjC,iBAAiB,EAAE;QACf,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,oBAAoB,EAAE,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAC;CACzD;AAED,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,aAAa,EAAE,UAAU,CA0D1D,CAAC;AAEF,MAAM,WAAW,UAAU;IACvB,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,cAAc,EAAE,OAAO,CAAC;IACxB,sBAAsB,EAAE,MAAM,EAAE,CAAC;CACpC;AAED,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,QAAQ,EAAE,UAAU,CA2ErD,CAAC;AAEF,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,QAAQ,CAAC;IACf,YAAY,EAAE,kBAAkB,CAAC;IACjC,cAAc,EAAE,OAAO,CAAC;IACxB,eAAe,EAAE,OAAO,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,GAAG,aAAa,CAYnF;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAS9D;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAGzD"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;AAE/D,MAAM,MAAM,QAAQ,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEvE,MAAM,WAAW,kBAAkB;IAC/B,eAAe,EAAE,OAAO,CAAC;IACzB,eAAe,EAAE,OAAO,CAAC;IACzB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,oBAAoB,EAAE,OAAO,CAAC;CACjC;AAED,MAAM,WAAW,UAAU;IACvB,IAAI,EAAE,aAAa,CAAC;IACpB,YAAY,EAAE,kBAAkB,CAAC;IACjC,iBAAiB,EAAE;QACf,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,oBAAoB,EAAE,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAC;CACzD;AAED,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,aAAa,EAAE,UAAU,CA0D1D,CAAC;AAEF,MAAM,WAAW,UAAU;IACvB,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,cAAc,EAAE,OAAO,CAAC;IACxB,sBAAsB,EAAE,MAAM,EAAE,CAAC;CACpC;AAED,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,QAAQ,EAAE,UAAU,CA2ErD,CAAC;AAEF,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,QAAQ,CAAC;IACf,YAAY,EAAE,kBAAkB,CAAC;IACjC,cAAc,EAAE,OAAO,CAAC;IACxB,eAAe,EAAE,OAAO,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,qGAAqG;IACrG,eAAe,EAAE,OAAO,CAAC;CAC5B;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,GAAG,aAAa,CAcnF;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAS9D;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAGzD"}
@@ -143,6 +143,8 @@ export function getDefaultConfig(flow, mode) {
143
143
  frontend_first: flowConfig.frontend_first,
144
144
  auto_checkpoint: modeConfig.checkpoint_frequency !== 'never',
145
145
  auto_fix: modeConfig.auto_fix_enabled,
146
+ // v6.3 S1.2: economy não quer brainstorm por padrão (foco em velocidade)
147
+ wantsBrainstorm: mode !== 'economy',
146
148
  };
147
149
  }
148
150
  export function getModeDescription(mode) {
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"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"}
@@ -32,6 +32,10 @@ export interface EstadoProjeto {
32
32
  pontuacao: number;
33
33
  criterios: string[];
34
34
  };
35
+ em_estado_compulsorio?: boolean;
36
+ tools_permitidas_no_compulsorio?: string[];
37
+ flow_phase_type?: 'input_required' | 'derived' | 'technical' | 'correction_loop';
38
+ auto_flow_enabled?: boolean;
35
39
  inferencia_contextual?: InferenciaContextual;
36
40
  classificacao_progressiva?: ClassificacaoProgressiva;
37
41
  config?: {
@@ -48,6 +52,8 @@ export interface EstadoProjeto {
48
52
  frontend_first: boolean;
49
53
  auto_checkpoint: boolean;
50
54
  auto_fix: boolean;
55
+ /** v6.3 S1.2: Controla se brainstorm é sugerido. Padrão: false em economy, true nos demais. */
56
+ wantsBrainstorm?: boolean;
51
57
  auto_flow?: boolean;
52
58
  onboarding?: {
53
59
  enabled: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAkOA,2BAA2B;AAC3B,OAAO,EAA8E,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AA4OA,2BAA2B;AAC3B,OAAO,EAA8E,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * V6 Sprint 4: TDD Invertido — Gera documento de orientação de Gate ANTES do entregável.
3
+ *
4
+ * No início de cada fase, o Maestro cria um arquivo `.orientacoes-gate.md` com os critérios
5
+ * EXATOS que a ValidationPipeline irá checar. A IA lê esse arquivo antes de escrever o
6
+ * entregável, aumentando o score na primeira tentativa.
7
+ *
8
+ * Reutiliza: SkillLoaderService.loadChecklist() (já implementado)
9
+ */
10
+ export declare function generateGateOrientationDoc(diretorio: string, faseNome: string, faseNumero: number): Promise<string | null>;
11
+ //# sourceMappingURL=gate-orientation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gate-orientation.d.ts","sourceRoot":"","sources":["../../src/utils/gate-orientation.ts"],"names":[],"mappings":"AAOA;;;;;;;;GAQG;AACH,wBAAsB,0BAA0B,CAC5C,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAyDxB"}
@@ -0,0 +1,64 @@
1
+ import { SkillLoaderService } from '../services/skill-loader.service.js';
2
+ import { ContentResolverService } from '../services/content-resolver.service.js';
3
+ import { writeFile, mkdir } from 'fs/promises';
4
+ import { join, dirname } from 'path';
5
+ import { getSkillParaFase } from './prompt-mapper.js';
6
+ import { getSkillFilePath, detectIDE } from './ide-paths.js';
7
+ /**
8
+ * V6 Sprint 4: TDD Invertido — Gera documento de orientação de Gate ANTES do entregável.
9
+ *
10
+ * No início de cada fase, o Maestro cria um arquivo `.orientacoes-gate.md` com os critérios
11
+ * EXATOS que a ValidationPipeline irá checar. A IA lê esse arquivo antes de escrever o
12
+ * entregável, aumentando o score na primeira tentativa.
13
+ *
14
+ * Reutiliza: SkillLoaderService.loadChecklist() (já implementado)
15
+ */
16
+ export async function generateGateOrientationDoc(diretorio, faseNome, faseNumero) {
17
+ try {
18
+ const resolver = new ContentResolverService(diretorio);
19
+ const loader = new SkillLoaderService(resolver);
20
+ // Reutilizar loadChecklist() existente — não reinventar a roda
21
+ const checklist = await loader.loadChecklist(faseNome);
22
+ if (!checklist) {
23
+ console.warn(`[gate-orientation] Checklist não encontrado para fase: ${faseNome}`);
24
+ return null;
25
+ }
26
+ const skillName = getSkillParaFase(faseNome) || 'skill-desconhecida';
27
+ // V6 Gap fix #3: path IDE-aware via detectIDE + getSkillFilePath
28
+ const ide = detectIDE(diretorio) ?? 'windsurf';
29
+ const skillPath = getSkillFilePath(skillName, ide);
30
+ const conteudo = [
31
+ `# 🎯 Critérios do Gate — Fase ${faseNumero}: ${faseNome}`,
32
+ ``,
33
+ `> ⚠️ **LEIA ESTE ARQUIVO ANTES DE ESCREVER O ENTREGÁVEL.**`,
34
+ `> Gerado automaticamente pelo Maestro V6. Estes são os critérios EXATOS da validação.`,
35
+ ``,
36
+ `## Skill Ativa desta Fase`,
37
+ `\`${skillName}\``,
38
+ ``,
39
+ `## ✅ Checklist de Aprovação (Score mínimo: 70/100)`,
40
+ ``,
41
+ `> Seu entregável DEVE satisfazer os critérios abaixo para passar no Gate automaticamente.`,
42
+ ``,
43
+ checklist,
44
+ ``,
45
+ `## 📋 Estrutura Esperada`,
46
+ ``,
47
+ `Consulte o template em: \`${skillPath}resources/templates/\``,
48
+ ``,
49
+ `---`,
50
+ `_Score mínimo para aprovação automática: **70/100**_`,
51
+ `_Arquivo gerado em: ${new Date().toISOString()}_`,
52
+ ].join('\n');
53
+ const outputPath = join(diretorio, 'docs', `fase-${String(faseNumero).padStart(2, '0')}`, '.orientacoes-gate.md');
54
+ await mkdir(dirname(outputPath), { recursive: true });
55
+ await writeFile(outputPath, conteudo, 'utf-8');
56
+ console.log(`[gate-orientation] Guia de Gate criado: ${outputPath}`);
57
+ return outputPath;
58
+ }
59
+ catch (error) {
60
+ console.warn(`[gate-orientation] Falha ao gerar orientação de gate:`, error);
61
+ return null;
62
+ }
63
+ }
64
+ //# sourceMappingURL=gate-orientation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gate-orientation.js","sourceRoot":"","sources":["../../src/utils/gate-orientation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE7D;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC5C,SAAiB,EACjB,QAAgB,EAChB,UAAkB;IAElB,IAAI,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,sBAAsB,CAAC,SAAS,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,IAAI,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAEhD,+DAA+D;QAC/D,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACvD,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,0DAA0D,QAAQ,EAAE,CAAC,CAAC;YACnF,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,SAAS,GAAG,gBAAgB,CAAC,QAAQ,CAAC,IAAI,oBAAoB,CAAC;QACrE,iEAAiE;QACjE,MAAM,GAAG,GAAG,SAAS,CAAC,SAAS,CAAC,IAAI,UAAU,CAAC;QAC/C,MAAM,SAAS,GAAG,gBAAgB,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAEnD,MAAM,QAAQ,GAAG;YACb,iCAAiC,UAAU,KAAK,QAAQ,EAAE;YAC1D,EAAE;YACF,4DAA4D;YAC5D,uFAAuF;YACvF,EAAE;YACF,2BAA2B;YAC3B,KAAK,SAAS,IAAI;YAClB,EAAE;YACF,oDAAoD;YACpD,EAAE;YACF,2FAA2F;YAC3F,EAAE;YACF,SAAS;YACT,EAAE;YACF,0BAA0B;YAC1B,EAAE;YACF,6BAA6B,SAAS,wBAAwB;YAC9D,EAAE;YACF,KAAK;YACL,sDAAsD;YACtD,uBAAuB,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG;SACrD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,MAAM,UAAU,GAAG,IAAI,CACnB,SAAS,EACT,MAAM,EACN,QAAQ,MAAM,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAC7C,sBAAsB,CACzB,CAAC;QAEF,MAAM,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,MAAM,SAAS,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAE/C,OAAO,CAAC,GAAG,CAAC,2CAA2C,UAAU,EAAE,CAAC,CAAC;QACrE,OAAO,UAAU,CAAC;IACtB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,uDAAuD,EAAE,KAAK,CAAC,CAAC;QAC7E,OAAO,IAAI,CAAC;IAChB,CAAC;AACL,CAAC"}
@@ -58,4 +58,15 @@ export declare function detectIDE(projectDir: string): IDEType | null;
58
58
  * Formata mensagem de skill com caminhos corretos para a IDE
59
59
  */
60
60
  export declare function formatSkillMessage(skillName: string, ide: IDEType): string;
61
+ /**
62
+ * V6 Sprint 3: Gera comando imperativo de hidratação de contexto (Active Rules Pointer).
63
+ * Usa o formato de @menção nativo de cada IDE para forçar leitura imediata do SKILL.md
64
+ * na transição de fase, sem criar arquivos extras e sem aguardar confirmação do usuário.
65
+ *
66
+ * Formatos nativos:
67
+ * - Antigravity: @[.agent/skills/{skill}/SKILL.md]
68
+ * - Cursor: @.cursor/skills/{skill}/SKILL.md
69
+ * - Windsurf: #.windsurf/skills/{skill}/SKILL.md
70
+ */
71
+ export declare function formatSkillHydrationCommand(skillName: string, ide: IDEType): string;
61
72
  //# sourceMappingURL=ide-paths.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ide-paths.d.ts","sourceRoot":"","sources":["../../src/utils/ide-paths.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;CAmBd,CAAC;AAEX,MAAM,MAAM,OAAO,GAAG,MAAM,OAAO,WAAW,CAAC;AAE/C;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAEjD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAEpD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,MAAM,CAExF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,MAAM,CAE5E;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,MAAM,CAExE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,GAAG,UAAU,GAAG,YAAY,GAAG,WAAW,EAAE,GAAG,EAAE,OAAO,GAAG,MAAM,CAEjJ;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,MAAM,CAEvE;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAoB5D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,MAAM,CAgB1E"}
1
+ {"version":3,"file":"ide-paths.d.ts","sourceRoot":"","sources":["../../src/utils/ide-paths.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;CAmBd,CAAC;AAEX,MAAM,MAAM,OAAO,GAAG,MAAM,OAAO,WAAW,CAAC;AAE/C;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAEjD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAEpD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,MAAM,CAExF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,MAAM,CAE5E;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,MAAM,CAExE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,GAAG,UAAU,GAAG,YAAY,GAAG,WAAW,EAAE,GAAG,EAAE,OAAO,GAAG,MAAM,CAEjJ;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,MAAM,CAEvE;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAoB5D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,MAAM,CAgB1E;AAED;;;;;;;;;GASG;AACH,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,MAAM,CAiBnF"}
@@ -106,4 +106,31 @@ export function formatSkillMessage(skillName, ide) {
106
106
  - 📚 Reference: \`${getSkillResourcePath(skillName, 'reference', ide)}\`
107
107
  - 🔧 MCP Functions: \`${getSkillMCPPath(skillName, ide)}\``;
108
108
  }
109
+ /**
110
+ * V6 Sprint 3: Gera comando imperativo de hidratação de contexto (Active Rules Pointer).
111
+ * Usa o formato de @menção nativo de cada IDE para forçar leitura imediata do SKILL.md
112
+ * na transição de fase, sem criar arquivos extras e sem aguardar confirmação do usuário.
113
+ *
114
+ * Formatos nativos:
115
+ * - Antigravity: @[.agent/skills/{skill}/SKILL.md]
116
+ * - Cursor: @.cursor/skills/{skill}/SKILL.md
117
+ * - Windsurf: #.windsurf/skills/{skill}/SKILL.md
118
+ */
119
+ export function formatSkillHydrationCommand(skillName, ide) {
120
+ const skillPath = getSkillFilePath(skillName, ide);
121
+ const mention = ide === 'cursor' ? `@${skillPath}`
122
+ : ide === 'windsurf' ? `#${skillPath}`
123
+ : `@[${skillPath}]`; // antigravity (default)
124
+ return [
125
+ ``,
126
+ `---`,
127
+ ``,
128
+ `> ⚙️ **SISTEMA — AÇÃO OBRIGATÓRIA (Nova Fase Iniciada)**`,
129
+ `> Leia AGORA o arquivo do especialista: ${mention}`,
130
+ `> Assuma a persona descrita no arquivo **imediatamente**.`,
131
+ `> Não aguarde confirmação do usuário para iniciar.`,
132
+ `> Confirme dizendo: "Sou [nome do especialista], meu foco é [entregável desta fase]."`,
133
+ ``,
134
+ ].join('\n');
135
+ }
109
136
  //# sourceMappingURL=ide-paths.js.map