@maestro-ai/cli 1.2.0 → 1.3.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.
- package/content/guides/fases-mapeamento.md +31 -32
- package/content/guides/guide-brainstorm.md +38 -0
- package/content/guides/guide-orquestracao.md +45 -0
- package/content/guides/guide-testes.md +51 -0
- package/content/guides/guide-troubleshooting.md +43 -0
- package/content/guides/guide-validacao.md +50 -0
- package/content/guides/internal/automated-events.md +27 -0
- package/content/guides/internal/automated-map.md +56 -0
- package/content/guides/internal/automated-stitch.md +51 -0
- package/content/guides/internal/automated-system.md +46 -0
- package/content/guides/mapa-sistema.md +86 -0
- package/content/guides/workflows-avancados.md +62 -0
- package/content/rules/GEMINI.md +70 -762
- package/content/rules/RULES.md +71 -761
- package/content/rules/complexity-rules.md +43 -0
- package/content/rules/quality-gates.md +55 -43
- package/content/rules/security-rules.md +40 -0
- package/content/rules/structure-rules.md +63 -0
- package/content/rules/validation-rules.md +56 -97
- package/content/workflows/{maestro.md → 00-maestro.md} +7 -6
- package/content/workflows/01-iniciar-projeto.md +59 -0
- package/content/workflows/02-avancar-fase.md +72 -0
- package/content/workflows/04-implementar-historia.md +64 -0
- package/content/workflows/05-nova-feature.md +39 -0
- package/content/workflows/06-corrigir-bug.md +34 -0
- package/content/workflows/07-refatorar-codigo.md +34 -0
- package/dist/commands/init.js +17 -16
- package/package.json +1 -1
- package/content/workflows/avancar-fase.md +0 -84
- package/content/workflows/brainstorm.md +0 -127
- package/content/workflows/corrigir-bug.md +0 -530
- package/content/workflows/create-app.md +0 -59
- package/content/workflows/iniciar-projeto.md +0 -59
- package/content/workflows/melhorar-feature.md +0 -63
- package/content/workflows/nova-feature.md +0 -438
- package/content/workflows/orchestrate.md +0 -237
- package/content/workflows/plan.md +0 -89
- package/content/workflows/refatorar-codigo.md +0 -623
- package/content/workflows/status-projeto.md +0 -54
- package/content/workflows/testar.md +0 -144
- package/content/workflows/ux-avancado.md +0 -296
- package/content/workflows/validar-gate.md +0 -413
- /package/content/workflows/{continuar-fase.md → 03-continuar-fase.md} +0 -0
- /package/content/workflows/{deploy.md → 08-deploy-projeto.md} +0 -0
|
@@ -1,413 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Validar gate de qualidade da fase atual (sem avançar)
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
# /mcp-gate - Validar Gate MCP
|
|
6
|
-
|
|
7
|
-
$ARGUMENTS
|
|
8
|
-
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
## Objetivo
|
|
12
|
-
|
|
13
|
-
Validar checklist de qualidade da fase atual SEM avançar para próxima fase. Útil para verificar antes de chamar `/mcp-next`.
|
|
14
|
-
|
|
15
|
-
---
|
|
16
|
-
|
|
17
|
-
## Quando Usar
|
|
18
|
-
|
|
19
|
-
- **Antes de `/mcp-next`**: Verificar se entregável passará no gate
|
|
20
|
-
- **Durante desenvolvimento**: Check iterativo de qualidade
|
|
21
|
-
- **Gate bloqueado**: Forçar aprovação manual (apenas usuário)
|
|
22
|
-
|
|
23
|
-
---
|
|
24
|
-
|
|
25
|
-
## Sub-comandos
|
|
26
|
-
|
|
27
|
-
```
|
|
28
|
-
/mcp-gate → Validar gate da fase atual
|
|
29
|
-
/mcp-gate [arquivo] → Validar gate com entregável específico
|
|
30
|
-
/mcp-gate approve [motivo] → ⚠️ Aprovar manualmente (APENAS USUÁRIO)
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
---
|
|
34
|
-
|
|
35
|
-
## Fluxo de Execução
|
|
36
|
-
|
|
37
|
-
### Modo 1: Validação Apenas (/mcp-gate)
|
|
38
|
-
|
|
39
|
-
```typescript
|
|
40
|
-
const estadoJson = await fs.readFile('.maestro/estado.json', 'utf-8');
|
|
41
|
-
|
|
42
|
-
const resultado = await mcp_maestro_validar_gate({
|
|
43
|
-
estado_json: estadoJson,
|
|
44
|
-
diretorio: process.cwd()
|
|
45
|
-
});
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
**Saída:**
|
|
49
|
-
|
|
50
|
-
```markdown
|
|
51
|
-
🔍 **Validação de Gate**
|
|
52
|
-
|
|
53
|
-
**Fase:** [numero] - [nome]
|
|
54
|
-
**Score:** [score]/100
|
|
55
|
-
**Tier:** [Essencial / Base / Avançado]
|
|
56
|
-
|
|
57
|
-
---
|
|
58
|
-
|
|
59
|
-
## Checklist ([itens_validados]/[total_itens])
|
|
60
|
-
|
|
61
|
-
### ✅ Itens Validados ([count])
|
|
62
|
-
|
|
63
|
-
${itens_validados.map(item => `- ✅ ${item.nome}`).join('\n')}
|
|
64
|
-
|
|
65
|
-
${itens_pendentes.length > 0 ? `
|
|
66
|
-
### ❌ Itens Pendentes ([count])
|
|
67
|
-
|
|
68
|
-
${itens_pendentes.map(item => `
|
|
69
|
-
- ❌ **${item.nome}**
|
|
70
|
-
- Motivo: ${item.motivo}
|
|
71
|
-
- Sugestão: ${item.sugestao}
|
|
72
|
-
`).join('\n')}
|
|
73
|
-
` : ''}
|
|
74
|
-
|
|
75
|
-
---
|
|
76
|
-
|
|
77
|
-
## 📊 Resultado
|
|
78
|
-
|
|
79
|
-
${score >= 70 ? `
|
|
80
|
-
✅ **Gate Aprovado** (Score: ${score}/100)
|
|
81
|
-
|
|
82
|
-
Você pode avançar para a próxima fase com:
|
|
83
|
-
\`/mcp-next [arquivo]\`
|
|
84
|
-
|
|
85
|
-
${pendencias.length > 0 ? `
|
|
86
|
-
⚠️ **Atenção:** Existem ${pendencias.length} pendências menores.
|
|
87
|
-
Considere corrigir, mas não bloqueia o avanço.
|
|
88
|
-
` : ''}
|
|
89
|
-
` : `
|
|
90
|
-
🔴 **Gate Bloqueado** (Score: ${score}/100)
|
|
91
|
-
|
|
92
|
-
Para avançar, você precisa:
|
|
93
|
-
1. **Corrigir pendências** e executar \`/mcp-gate\` novamente
|
|
94
|
-
2. **Aprovar manualmente** (se tiver justificativa)
|
|
95
|
-
|
|
96
|
-
Para aprova manual (apenas usuário):
|
|
97
|
-
\`/mcp-gate approve "[sua justificativa]"\`
|
|
98
|
-
`}
|
|
99
|
-
```
|
|
100
|
-
|
|
101
|
-
---
|
|
102
|
-
|
|
103
|
-
### Modo 2: Validação com Arquivo (/mcp-gate [arquivo])
|
|
104
|
-
|
|
105
|
-
```
|
|
106
|
-
/mcp-gate docs/02-requisitos/requisitos.md
|
|
107
|
-
```
|
|
108
|
-
|
|
109
|
-
**Comportamento:**
|
|
110
|
-
|
|
111
|
-
1. Lê arquivo fornecido
|
|
112
|
-
2. Valida contra checklist da fase atual
|
|
113
|
-
3. Retorna score e pendências
|
|
114
|
-
4. **NÃO avança** a fase
|
|
115
|
-
|
|
116
|
-
---
|
|
117
|
-
|
|
118
|
-
### Modo 3: Aprovação Manual (/mcp-gate approve)
|
|
119
|
-
|
|
120
|
-
> [!CAUTION]
|
|
121
|
-
> **APENAS O USUÁRIO pode chamar este comando!**
|
|
122
|
-
>
|
|
123
|
-
> A IA **NUNCA** deve chamar `/mcp-gate approve` automaticamente.
|
|
124
|
-
|
|
125
|
-
```
|
|
126
|
-
/mcp-gate approve "MVP inicial, vamos refinar depois"
|
|
127
|
-
```
|
|
128
|
-
|
|
129
|
-
**Fluxo:**
|
|
130
|
-
|
|
131
|
-
```typescript
|
|
132
|
-
// APENAS se usuário explicitamente escreveu o comando
|
|
133
|
-
|
|
134
|
-
const estadoJson = await fs.readFile('.maestro/estado.json', 'utf-8');
|
|
135
|
-
|
|
136
|
-
await mcp_maestro_aprovar_gate({
|
|
137
|
-
acao: "aprovar",
|
|
138
|
-
estado_json: estadoJson,
|
|
139
|
-
diretorio: process.cwd()
|
|
140
|
-
});
|
|
141
|
-
```
|
|
142
|
-
|
|
143
|
-
**Saída:**
|
|
144
|
-
|
|
145
|
-
```markdown
|
|
146
|
-
⚠️ **Gate Aprovado Manualmente**
|
|
147
|
-
|
|
148
|
-
**Fase:** [numero] - [nome]
|
|
149
|
-
**Score Original:** [score]/100 (Bloqueado)
|
|
150
|
-
**Motivo:** [justificativa do usuário]
|
|
151
|
-
|
|
152
|
-
---
|
|
153
|
-
|
|
154
|
-
**Registro:**
|
|
155
|
-
- Data: [timestamp]
|
|
156
|
-
- Gate forçado: Fase [numero]
|
|
157
|
-
- Pendências ignoradas: [lista]
|
|
158
|
-
|
|
159
|
-
Agora você pode avançar com:
|
|
160
|
-
`/mcp-next`
|
|
161
|
-
|
|
162
|
-
> [!WARNING]
|
|
163
|
-
> Lembre-se de corrigir as pendências posteriormente!
|
|
164
|
-
```
|
|
165
|
-
|
|
166
|
-
---
|
|
167
|
-
|
|
168
|
-
## Checklist por Tier de Gate
|
|
169
|
-
|
|
170
|
-
### Tier Essencial (POC, Script)
|
|
171
|
-
|
|
172
|
-
**Foco: Funciona?**
|
|
173
|
-
|
|
174
|
-
```markdown
|
|
175
|
-
Checklist Mínimo:
|
|
176
|
-
- [ ] Código executa sem erros
|
|
177
|
-
- [ ] Funcionalidade principal implementada
|
|
178
|
-
- [ ] README com instruções de uso
|
|
179
|
-
```
|
|
180
|
-
|
|
181
|
-
### Tier Base (Internal, Product Simples)
|
|
182
|
-
|
|
183
|
-
**Foco: Padrão indústria**
|
|
184
|
-
|
|
185
|
-
```markdown
|
|
186
|
-
Checklist Base:
|
|
187
|
-
- [ ] Todos itens Essencial ✅
|
|
188
|
-
- [ ] Testes unitários (>60% cobertura)
|
|
189
|
-
- [ ] Lint sem erros
|
|
190
|
-
- [ ] Documentação técnica
|
|
191
|
-
- [ ] Segurança básica (OWASP Top 10)
|
|
192
|
-
- [ ] Validação de inputs
|
|
193
|
-
```
|
|
194
|
-
|
|
195
|
-
### Tier Avançado (Product Complexo)
|
|
196
|
-
|
|
197
|
-
**Foco: Estado da arte**
|
|
198
|
-
|
|
199
|
-
```markdown
|
|
200
|
-
Checklist Avançado:
|
|
201
|
-
- [ ] Todos itens Base ✅
|
|
202
|
-
- [ ] Testes E2E
|
|
203
|
-
- [ ] Observabilidade (logs, métricas, traces)
|
|
204
|
-
- [ ] Performance otimizada
|
|
205
|
-
- [ ] Compliance (LGPD, SOC2, etc)
|
|
206
|
-
- [ ] Documentação de arquitetura (ADRs)
|
|
207
|
-
- [ ] Disaster recovery plan
|
|
208
|
-
```
|
|
209
|
-
|
|
210
|
-
---
|
|
211
|
-
|
|
212
|
-
## Exemplos de Uso
|
|
213
|
-
|
|
214
|
-
### Exemplo 1: Verificar Antes de Avançar
|
|
215
|
-
|
|
216
|
-
```
|
|
217
|
-
User: /mcp-gate docs/02-requisitos/requisitos.md
|
|
218
|
-
|
|
219
|
-
AI: 🔍 Validação de Gate
|
|
220
|
-
|
|
221
|
-
Fase: 2 - Requisitos
|
|
222
|
-
Score: 85/100
|
|
223
|
-
Tier: Base
|
|
224
|
-
|
|
225
|
-
Checklist (5/6):
|
|
226
|
-
✅ Requisitos funcionais com IDs únicos
|
|
227
|
-
✅ Requisitos não-funcionais definidos
|
|
228
|
-
✅ Critérios de aceite em Gherkin
|
|
229
|
-
✅ Priorização (MoSCoW)
|
|
230
|
-
❌ Matriz de rastreabilidade iniciada
|
|
231
|
-
- Sugestão: Crie tabela RF → User Story
|
|
232
|
-
✅ Requisitos validados com stakeholder
|
|
233
|
-
|
|
234
|
-
---
|
|
235
|
-
|
|
236
|
-
✅ Gate Aprovado (Score: 85/100)
|
|
237
|
-
|
|
238
|
-
Você pode avançar:
|
|
239
|
-
`/mcp-next docs/02-requisitos/requisitos.md`
|
|
240
|
-
|
|
241
|
-
⚠️ 1 pendência menor: matriz de rastreabilidade
|
|
242
|
-
|
|
243
|
-
User: OK, vou adicionar a matriz antes
|
|
244
|
-
|
|
245
|
-
[Usuário atualiza arquivo]
|
|
246
|
-
|
|
247
|
-
User: /mcp-gate docs/02-requisitos/requisitos.md
|
|
248
|
-
|
|
249
|
-
AI: Score: 100/100 ✅ Perfeito!
|
|
250
|
-
Avançar: `/mcp-next`
|
|
251
|
-
```
|
|
252
|
-
|
|
253
|
-
### Exemplo 2: Gate Bloqueado → Aprovação Manual
|
|
254
|
-
|
|
255
|
-
```
|
|
256
|
-
User: /mcp-gate
|
|
257
|
-
|
|
258
|
-
AI: 🔍 Validação de Gate
|
|
259
|
-
|
|
260
|
-
Fase: 5 - Arquitetura
|
|
261
|
-
Score: 55/100
|
|
262
|
-
Tier: Avançado
|
|
263
|
-
|
|
264
|
-
Checklist (4/8):
|
|
265
|
-
✅ Diagrama C4 (nível 1 e 2)
|
|
266
|
-
✅ ADRs para decisões principais
|
|
267
|
-
❌ Análise de performance
|
|
268
|
-
❌ Estratégia de observabilidade
|
|
269
|
-
❌ Disaster recovery plan
|
|
270
|
-
❌ Plano de escalabilidade
|
|
271
|
-
✅ Segurança revisada
|
|
272
|
-
✅ Padrões de design documentados
|
|
273
|
-
|
|
274
|
-
---
|
|
275
|
-
|
|
276
|
-
🔴 Gate Bloqueado (Score: 55/100)
|
|
277
|
-
|
|
278
|
-
Para avançar:
|
|
279
|
-
1. Corrigir as 4 pendências
|
|
280
|
-
2. Ou aprovar manualmente (se justificado)
|
|
281
|
-
|
|
282
|
-
User: É MVP, quero avançar e fazer isso depois
|
|
283
|
-
|
|
284
|
-
User: /mcp-gate approve "MVP inicial, itens avançados serão feitos na v2"
|
|
285
|
-
|
|
286
|
-
AI: ⚠️ Gate Aprovado Manualmente
|
|
287
|
-
|
|
288
|
-
Motivo: MVP inicial, itens avançados serão feitos na v2
|
|
289
|
-
|
|
290
|
-
Registro salvo em .maestro/gates-forcados.log
|
|
291
|
-
|
|
292
|
-
Você pode avançar com `/mcp-next`
|
|
293
|
-
```
|
|
294
|
-
|
|
295
|
-
### Exemplo 3: Check Iterativo
|
|
296
|
-
|
|
297
|
-
```
|
|
298
|
-
# Durante desenvolvimento, verificar múltiplas vezes
|
|
299
|
-
|
|
300
|
-
User: /mcp-gate
|
|
301
|
-
AI: Score: 40/100 🔴
|
|
302
|
-
|
|
303
|
-
[Corrige 2 itens]
|
|
304
|
-
|
|
305
|
-
User: /mcp-gate
|
|
306
|
-
AI: Score: 65/100 🔴
|
|
307
|
-
|
|
308
|
-
[Corrige mais 1 item]
|
|
309
|
-
|
|
310
|
-
User: /mcp-gate
|
|
311
|
-
AI: Score: 75/100 ✅ Pode avançar!
|
|
312
|
-
|
|
313
|
-
User: /mcp-next
|
|
314
|
-
```
|
|
315
|
-
|
|
316
|
-
---
|
|
317
|
-
|
|
318
|
-
## Histórico de Gates Forçados
|
|
319
|
-
|
|
320
|
-
Quando gates são aprovados manualmente, o MCP registra em:
|
|
321
|
-
|
|
322
|
-
```
|
|
323
|
-
.maestro/gates-forcados.log
|
|
324
|
-
```
|
|
325
|
-
|
|
326
|
-
**Formato:**
|
|
327
|
-
|
|
328
|
-
```
|
|
329
|
-
[2026-01-23 15:30:00] Fase 5 - Arquitetura
|
|
330
|
-
Score: 55/100
|
|
331
|
-
Motivo: MVP inicial, itens avançados serão feitos na v2
|
|
332
|
-
Pendências ignoradas:
|
|
333
|
-
- Análise de performance
|
|
334
|
-
- Estratégia de observabilidade
|
|
335
|
-
- Disaster recovery plan
|
|
336
|
-
- Plano de escalabilidade
|
|
337
|
-
---
|
|
338
|
-
```
|
|
339
|
-
|
|
340
|
-
---
|
|
341
|
-
|
|
342
|
-
## Comandos Relacionados
|
|
343
|
-
|
|
344
|
-
```
|
|
345
|
-
/mcp-gate → Validar gate atual
|
|
346
|
-
/mcp-gate [arquivo] → Validar com entregável
|
|
347
|
-
/mcp-gate approve [motivo] → Aprovar manualmente (USUÁRIO)
|
|
348
|
-
/mcp-next → Avançar (valida automaticamente)
|
|
349
|
-
/mcp-status → Ver score do último gate
|
|
350
|
-
```
|
|
351
|
-
|
|
352
|
-
---
|
|
353
|
-
|
|
354
|
-
## Gate Protection Protocol
|
|
355
|
-
|
|
356
|
-
> [!IMPORTANT]
|
|
357
|
-
> **Regras de Proteção de Gates:**
|
|
358
|
-
>
|
|
359
|
-
> 1. ✅ IA pode chamar `/mcp-gate` livremente (validação)
|
|
360
|
-
> 2. ❌ IA **NUNCA** pode chamar `/mcp-gate approve`
|
|
361
|
-
> 3. ⚠️ Score < 70 → Bloqueia avanço automático
|
|
362
|
-
> 4. 📝 Aprovações manuais são registradas em log
|
|
363
|
-
> 5. 🔄 Validação sempre usa checklist do tier do projeto
|
|
364
|
-
|
|
365
|
-
---
|
|
366
|
-
|
|
367
|
-
## Ajustar Tier de Gate
|
|
368
|
-
|
|
369
|
-
Se o tier estiver muito rigoroso ou flexível:
|
|
370
|
-
|
|
371
|
-
```
|
|
372
|
-
# Reclassificar projeto
|
|
373
|
-
/mcp-start reclassificar
|
|
374
|
-
|
|
375
|
-
# Escolher novo tier:
|
|
376
|
-
# - Essencial (apenas funcionalidade)
|
|
377
|
-
# - Base (padrão indústria)
|
|
378
|
-
# - Avançado (estado da arte)
|
|
379
|
-
```
|
|
380
|
-
|
|
381
|
-
---
|
|
382
|
-
|
|
383
|
-
## Troubleshooting
|
|
384
|
-
|
|
385
|
-
### Score Sempre Baixo
|
|
386
|
-
|
|
387
|
-
**Causa:** Tier muito alto para o tipo de projeto
|
|
388
|
-
|
|
389
|
-
**Solução:** Reclassificar para tier adequado
|
|
390
|
-
|
|
391
|
-
### Validação Falha com Erro
|
|
392
|
-
|
|
393
|
-
**Causa:** Entregável não encontrado ou formato inválido
|
|
394
|
-
|
|
395
|
-
**Solução:**
|
|
396
|
-
|
|
397
|
-
```
|
|
398
|
-
# Verificar se arquivo existe
|
|
399
|
-
ls docs/[fase]/[arquivo]
|
|
400
|
-
|
|
401
|
-
# Validar com caminho absoluto
|
|
402
|
-
/mcp-gate /caminho/completo/arquivo.md
|
|
403
|
-
```
|
|
404
|
-
|
|
405
|
-
### Aprovação Manual Não Funciona
|
|
406
|
-
|
|
407
|
-
**Causa:** IA tentou aprovar (não permitido)
|
|
408
|
-
|
|
409
|
-
**Solução:** Usuário deve digitar o comando diretamente:
|
|
410
|
-
|
|
411
|
-
```
|
|
412
|
-
/mcp-gate approve "minha justificativa"
|
|
413
|
-
```
|
|
File without changes
|
|
File without changes
|