@maestro-ai/cli 1.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.
- package/README.md +59 -0
- package/content/guides/Cat/303/241logo de Stacks para Cloud Moderna.md" +119 -0
- package/content/guides/Cat/303/241logo de Stacks para Hospedagem Compartilhada.md" +147 -0
- package/content/guides/Checklist Mestre de Entrega.md +68 -0
- package/content/guides/Gates de Qualidade.md +209 -0
- package/content/guides/Guia de Adi/303/247/303/243o de Novas Funcionalidades.md" +355 -0
- package/content/guides/Guia de Chaos Engineering.md +267 -0
- package/content/guides/Guia de Debugging com IA.md +135 -0
- package/content/guides/Guia de Estrat/303/251gias de Cache.md" +352 -0
- package/content/guides/Guia de Migrations Zero-Downtime.md +311 -0
- package/content/guides/Guia de Multi-tenancy.md +368 -0
- package/content/guides/Guia de Otimiza/303/247/303/243o de Custos Cloud.md" +195 -0
- package/content/guides/Guia de Refatora/303/247/303/243o de C/303/263digo Legado com IA.md" +162 -0
- package/content/guides/Guia de SLOs e Error Budgets.md +315 -0
- package/content/guides/M/303/251tricas de Efici/303/252ncia do Desenvolvimento com IA.md" +93 -0
- package/content/guides/Rules base.md +90 -0
- package/content/prompts/README.md +203 -0
- package/content/prompts/acessibilidade/analise-acessibilidade.md +257 -0
- package/content/prompts/apis/design-api-rest.md +303 -0
- package/content/prompts/apis/idempotencia.md +254 -0
- package/content/prompts/apis/versionamento.md +313 -0
- package/content/prompts/arquitetura/arquitetura-c4-completo.md +190 -0
- package/content/prompts/arquitetura/clean-architecture.md +151 -0
- package/content/prompts/arquitetura/ddd-bounded-contexts.md +183 -0
- package/content/prompts/arquitetura/ddd-cqrs.md +176 -0
- package/content/prompts/arquitetura/modelo-dominio.md +207 -0
- package/content/prompts/arquitetura/multi-tenancy.md +235 -0
- package/content/prompts/database/migrations-zero-downtime.md +192 -0
- package/content/prompts/database/otimizacao-queries.md +296 -0
- package/content/prompts/desenvolvimento/code-review.md +301 -0
- package/content/prompts/desenvolvimento/gerar-servico.md +271 -0
- package/content/prompts/devops/docker-compose.md +336 -0
- package/content/prompts/devops/feature-flags.md +374 -0
- package/content/prompts/devops/kubernetes-deploy.md +460 -0
- package/content/prompts/devops/pipeline-cicd.md +358 -0
- package/content/prompts/devops/terraform-iac.md +502 -0
- package/content/prompts/escalabilidade/analise-performance.md +240 -0
- package/content/prompts/escalabilidade/analise-performance.txt +94 -0
- package/content/prompts/escalabilidade/caching.md +255 -0
- package/content/prompts/observabilidade/chaos-testing.md +237 -0
- package/content/prompts/observabilidade/estrategia-observabilidade.md +263 -0
- package/content/prompts/observabilidade/estrategia-observabilidade.txt +134 -0
- package/content/prompts/observabilidade/slos.md +215 -0
- package/content/prompts/produto/discovery-inicial.md +203 -0
- package/content/prompts/produto/discovery-inicial.txt +33 -0
- package/content/prompts/requisitos/refinar-requisitos.md +232 -0
- package/content/prompts/requisitos/refinar-requisitos.txt +40 -0
- package/content/prompts/seguranca/analise-seguranca.md +243 -0
- package/content/prompts/seguranca/pentest-checklist.md +333 -0
- package/content/prompts/seguranca/rate-limiting.md +356 -0
- package/content/prompts/seguranca/revisao-lgpd.md +227 -0
- package/content/prompts/seguranca/threat-modeling.md +224 -0
- package/content/prompts/testes/contract-testing.md +340 -0
- package/content/prompts/testes/gerar-testes-unitarios.md +474 -0
- package/content/prompts/testes/testes-e2e.md +460 -0
- package/content/prompts/testes/testes-integracao.md +418 -0
- package/content/prompts/testes/testes-performance.md +458 -0
- package/content/prompts/ux/gerar-ui-stitch.md +151 -0
- package/content/skills/api-patterns/SKILL.md +81 -0
- package/content/skills/api-patterns/api-style.md +42 -0
- package/content/skills/api-patterns/auth.md +24 -0
- package/content/skills/api-patterns/documentation.md +26 -0
- package/content/skills/api-patterns/graphql.md +41 -0
- package/content/skills/api-patterns/rate-limiting.md +31 -0
- package/content/skills/api-patterns/response.md +37 -0
- package/content/skills/api-patterns/rest.md +40 -0
- package/content/skills/api-patterns/scripts/api_validator.py +211 -0
- package/content/skills/api-patterns/security-testing.md +122 -0
- package/content/skills/api-patterns/trpc.md +41 -0
- package/content/skills/api-patterns/versioning.md +22 -0
- package/content/skills/app-builder/SKILL.md +75 -0
- package/content/skills/app-builder/agent-coordination.md +71 -0
- package/content/skills/app-builder/feature-building.md +53 -0
- package/content/skills/app-builder/project-detection.md +34 -0
- package/content/skills/app-builder/scaffolding.md +118 -0
- package/content/skills/app-builder/tech-stack.md +40 -0
- package/content/skills/app-builder/templates/SKILL.md +39 -0
- package/content/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -0
- package/content/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -0
- package/content/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -0
- package/content/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -0
- package/content/skills/app-builder/templates/express-api/TEMPLATE.md +83 -0
- package/content/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -0
- package/content/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -0
- package/content/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +82 -0
- package/content/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +100 -0
- package/content/skills/app-builder/templates/nextjs-static/TEMPLATE.md +106 -0
- package/content/skills/app-builder/templates/nuxt-app/TEMPLATE.md +101 -0
- package/content/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -0
- package/content/skills/app-builder/templates/react-native-app/TEMPLATE.md +93 -0
- package/content/skills/architecture/SKILL.md +55 -0
- package/content/skills/architecture/context-discovery.md +43 -0
- package/content/skills/architecture/examples.md +94 -0
- package/content/skills/architecture/pattern-selection.md +68 -0
- package/content/skills/architecture/patterns-reference.md +50 -0
- package/content/skills/architecture/trade-off-analysis.md +77 -0
- package/content/skills/bash-linux/SKILL.md +199 -0
- package/content/skills/behavioral-modes/SKILL.md +242 -0
- package/content/skills/brainstorming/SKILL.md +163 -0
- package/content/skills/brainstorming/dynamic-questioning.md +350 -0
- package/content/skills/clean-code/SKILL.md +201 -0
- package/content/skills/code-review-checklist/SKILL.md +109 -0
- package/content/skills/database-design/SKILL.md +52 -0
- package/content/skills/database-design/database-selection.md +43 -0
- package/content/skills/database-design/indexing.md +39 -0
- package/content/skills/database-design/migrations.md +48 -0
- package/content/skills/database-design/optimization.md +36 -0
- package/content/skills/database-design/orm-selection.md +30 -0
- package/content/skills/database-design/schema-design.md +56 -0
- package/content/skills/database-design/scripts/schema_validator.py +172 -0
- package/content/skills/deployment-procedures/SKILL.md +241 -0
- package/content/skills/doc.md +177 -0
- package/content/skills/documentation-templates/SKILL.md +194 -0
- package/content/skills/frontend-design/SKILL.md +396 -0
- package/content/skills/frontend-design/animation-guide.md +331 -0
- package/content/skills/frontend-design/color-system.md +311 -0
- package/content/skills/frontend-design/decision-trees.md +418 -0
- package/content/skills/frontend-design/motion-graphics.md +306 -0
- package/content/skills/frontend-design/scripts/accessibility_checker.py +183 -0
- package/content/skills/frontend-design/scripts/ux_audit.py +722 -0
- package/content/skills/frontend-design/typography-system.md +345 -0
- package/content/skills/frontend-design/ux-psychology.md +541 -0
- package/content/skills/frontend-design/visual-effects.md +383 -0
- package/content/skills/game-development/2d-games/SKILL.md +119 -0
- package/content/skills/game-development/3d-games/SKILL.md +135 -0
- package/content/skills/game-development/SKILL.md +167 -0
- package/content/skills/game-development/game-art/SKILL.md +185 -0
- package/content/skills/game-development/game-audio/SKILL.md +190 -0
- package/content/skills/game-development/game-design/SKILL.md +129 -0
- package/content/skills/game-development/mobile-games/SKILL.md +108 -0
- package/content/skills/game-development/multiplayer/SKILL.md +132 -0
- package/content/skills/game-development/pc-games/SKILL.md +144 -0
- package/content/skills/game-development/vr-ar/SKILL.md +123 -0
- package/content/skills/game-development/web-games/SKILL.md +150 -0
- package/content/skills/geo-fundamentals/SKILL.md +156 -0
- package/content/skills/geo-fundamentals/scripts/geo_checker.py +289 -0
- package/content/skills/i18n-localization/SKILL.md +154 -0
- package/content/skills/i18n-localization/scripts/i18n_checker.py +241 -0
- package/content/skills/intelligent-routing/SKILL.md +334 -0
- package/content/skills/lint-and-validate/SKILL.md +45 -0
- package/content/skills/lint-and-validate/scripts/lint_runner.py +172 -0
- package/content/skills/lint-and-validate/scripts/type_coverage.py +173 -0
- package/content/skills/mcp-builder/SKILL.md +176 -0
- package/content/skills/mobile-design/SKILL.md +394 -0
- package/content/skills/mobile-design/decision-trees.md +516 -0
- package/content/skills/mobile-design/mobile-backend.md +491 -0
- package/content/skills/mobile-design/mobile-color-system.md +420 -0
- package/content/skills/mobile-design/mobile-debugging.md +122 -0
- package/content/skills/mobile-design/mobile-design-thinking.md +357 -0
- package/content/skills/mobile-design/mobile-navigation.md +458 -0
- package/content/skills/mobile-design/mobile-performance.md +767 -0
- package/content/skills/mobile-design/mobile-testing.md +356 -0
- package/content/skills/mobile-design/mobile-typography.md +433 -0
- package/content/skills/mobile-design/platform-android.md +666 -0
- package/content/skills/mobile-design/platform-ios.md +561 -0
- package/content/skills/mobile-design/scripts/mobile_audit.py +670 -0
- package/content/skills/mobile-design/touch-psychology.md +537 -0
- package/content/skills/nextjs-best-practices/SKILL.md +203 -0
- package/content/skills/nodejs-best-practices/SKILL.md +333 -0
- package/content/skills/parallel-agents/SKILL.md +175 -0
- package/content/skills/performance-profiling/SKILL.md +143 -0
- package/content/skills/performance-profiling/scripts/lighthouse_audit.py +76 -0
- package/content/skills/plan-writing/SKILL.md +152 -0
- package/content/skills/powershell-windows/SKILL.md +167 -0
- package/content/skills/python-patterns/SKILL.md +441 -0
- package/content/skills/react-patterns/SKILL.md +198 -0
- package/content/skills/red-team-tactics/SKILL.md +199 -0
- package/content/skills/seo-fundamentals/SKILL.md +129 -0
- package/content/skills/seo-fundamentals/scripts/seo_checker.py +219 -0
- package/content/skills/server-management/SKILL.md +161 -0
- package/content/skills/systematic-debugging/SKILL.md +109 -0
- package/content/skills/tailwind-patterns/SKILL.md +269 -0
- package/content/skills/tdd-workflow/SKILL.md +149 -0
- package/content/skills/testing-patterns/SKILL.md +178 -0
- package/content/skills/testing-patterns/scripts/test_runner.py +219 -0
- package/content/skills/vulnerability-scanner/SKILL.md +276 -0
- package/content/skills/vulnerability-scanner/checklists.md +121 -0
- package/content/skills/vulnerability-scanner/scripts/security_scan.py +458 -0
- package/content/skills/webapp-testing/SKILL.md +187 -0
- package/content/skills/webapp-testing/scripts/playwright_runner.py +173 -0
- package/content/specialists/Especialista em Acessibilidade.md +266 -0
- package/content/specialists/Especialista em An/303/241lise de Testes.md" +434 -0
- package/content/specialists/Especialista em Arquitetura Avan/303/247ada.md" +358 -0
- package/content/specialists/Especialista em Arquitetura de Software.md +177 -0
- package/content/specialists/Especialista em Banco de Dados.md +260 -0
- package/content/specialists/Especialista em Contrato de API.md +172 -0
- package/content/specialists/Especialista em Dados e Analytics com IA.md +246 -0
- package/content/specialists/Especialista em Debugging e Troubleshooting.md +191 -0
- package/content/specialists/Especialista em Desenvolvimento Frontend.md +477 -0
- package/content/specialists/Especialista em Desenvolvimento Mobile.md +241 -0
- package/content/specialists/Especialista em Desenvolvimento e Vibe Coding Estruturado.md +417 -0
- package/content/specialists/Especialista em DevOps e Infraestrutura.md +294 -0
- package/content/specialists/Especialista em Documenta/303/247/303/243o T/303/251cnica.md" +227 -0
- package/content/specialists/Especialista em Engenharia de Requisitos com IA.md +299 -0
- package/content/specialists/Especialista em Explora/303/247/303/243o de Codebase.md" +179 -0
- package/content/specialists/Especialista em Gest/303/243o de Produto.md" +179 -0
- package/content/specialists/Especialista em Migra/303/247/303/243o e Moderniza/303/247/303/243o.md" +410 -0
- package/content/specialists/Especialista em Modelagem e Arquitetura de Dom/303/255nio com IA.md" +248 -0
- package/content/specialists/Especialista em Observabilidade.md +415 -0
- package/content/specialists/Especialista em Performance e Escalabilidade.md +373 -0
- package/content/specialists/Especialista em Plano de Execu/303/247/303/243o com IA.md" +341 -0
- package/content/specialists/Especialista em Prototipagem R/303/241pida com Google Stitch.md" +419 -0
- package/content/specialists/Especialista em Seguran/303/247a da Informa/303/247/303/243o.md" +508 -0
- package/content/specialists/Especialista em UX Design.md +453 -0
- package/content/specialists/INDEX.md +43 -0
- package/content/templates/PRD.md +165 -0
- package/content/templates/README.md +65 -0
- package/content/templates/adr.md +103 -0
- package/content/templates/arquitetura.md +279 -0
- package/content/templates/backlog.md +185 -0
- package/content/templates/checklist-seguranca.md +180 -0
- package/content/templates/contexto.md +120 -0
- package/content/templates/criterios-aceite.md +99 -0
- package/content/templates/design-banco.md +270 -0
- package/content/templates/design-doc.md +240 -0
- package/content/templates/feature.md +88 -0
- package/content/templates/historia-backend.md +84 -0
- package/content/templates/historia-frontend.md +75 -0
- package/content/templates/historia-usuario.md +125 -0
- package/content/templates/mapa-navegacao.md +133 -0
- package/content/templates/matriz-rastreabilidade.md +121 -0
- package/content/templates/modelo-dominio.md +219 -0
- package/content/templates/plano-testes.md +199 -0
- package/content/templates/prototipo-stitch.md +138 -0
- package/content/templates/requisitos.md +162 -0
- package/content/templates/slo-sli.md +197 -0
- package/content/workflows/README-MCP.md +363 -0
- package/content/workflows/brainstorm.md +113 -0
- package/content/workflows/create.md +59 -0
- package/content/workflows/debug.md +103 -0
- package/content/workflows/deploy.md +176 -0
- package/content/workflows/enhance.md +63 -0
- package/content/workflows/mcp-debug.md +506 -0
- package/content/workflows/mcp-feature.md +385 -0
- package/content/workflows/mcp-gate.md +413 -0
- package/content/workflows/mcp-next.md +388 -0
- package/content/workflows/mcp-refactor.md +600 -0
- package/content/workflows/mcp-start.md +304 -0
- package/content/workflows/mcp-status.md +400 -0
- package/content/workflows/orchestrate.md +237 -0
- package/content/workflows/plan.md +89 -0
- package/content/workflows/preview.md +81 -0
- package/content/workflows/status.md +86 -0
- package/content/workflows/test.md +144 -0
- package/content/workflows/ui-ux-pro-max.md +296 -0
- package/dist/commands/init.d.ts +6 -0
- package/dist/commands/init.js +138 -0
- package/dist/commands/update.d.ts +5 -0
- package/dist/commands/update.js +50 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +21 -0
- package/package.json +48 -0
|
@@ -0,0 +1,388 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Avançar fase MCP com validação de gates e salvamento de entregável
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# /mcp-next - Avançar Fase MCP
|
|
6
|
+
|
|
7
|
+
$ARGUMENTS
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Objetivo
|
|
12
|
+
|
|
13
|
+
Salvar entregável da fase atual, validar gates de qualidade, e avançar para próxima fase do fluxo MCP Maestro.
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Protocolo Stateless MCP (CRÍTICO)
|
|
18
|
+
|
|
19
|
+
> [!IMPORTANT]
|
|
20
|
+
> **OBRIGATÓRIO antes de QUALQUER tool MCP:**
|
|
21
|
+
> ```typescript
|
|
22
|
+
> const estadoJson = await fs.readFile('.maestro/estado.json', 'utf-8');
|
|
23
|
+
> // Passar estadoJson em TODOS os tools
|
|
24
|
+
> ```
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## Fluxo de Execução
|
|
29
|
+
|
|
30
|
+
### Passo 1: Verificar Contexto MCP
|
|
31
|
+
|
|
32
|
+
```typescript
|
|
33
|
+
// Verificar se existe projeto MCP
|
|
34
|
+
if (!fs.existsSync('.maestro/estado.json')) {
|
|
35
|
+
return "❌ Nenhum projeto MCP ativo. Use /mcp-start para iniciar.";
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// Ler estado
|
|
39
|
+
const estadoJson = await fs.readFile('.maestro/estado.json', 'utf-8');
|
|
40
|
+
const estado = JSON.parse(estadoJson);
|
|
41
|
+
|
|
42
|
+
// Mostrar contexto
|
|
43
|
+
console.log(`
|
|
44
|
+
📋 **Fase Atual:** ${estado.fase_atual} - ${estado.fases[estado.fase_atual - 1].nome}
|
|
45
|
+
📄 **Entregável Esperado:** ${estado.fases[estado.fase_atual - 1].template}
|
|
46
|
+
`);
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
### Passo 2: Coletar Entregável
|
|
52
|
+
|
|
53
|
+
**Se usuário forneceu arquivo como argumento:**
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
/mcp-next docs/01-produto/PRD.md
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
**Ler arquivo:**
|
|
60
|
+
|
|
61
|
+
```typescript
|
|
62
|
+
const entregavel = await fs.readFile(argumentoArquivo, 'utf-8');
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
**Se NÃO forneceu argumento:**
|
|
66
|
+
|
|
67
|
+
```markdown
|
|
68
|
+
📝 **Entregável da Fase [numero]**
|
|
69
|
+
|
|
70
|
+
Como deseja fornecer o entregável?
|
|
71
|
+
|
|
72
|
+
1. Colar conteúdo diretamente
|
|
73
|
+
2. Informar caminho do arquivo
|
|
74
|
+
|
|
75
|
+
Escolha (1/2):
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
**Se opção 1:**
|
|
79
|
+
```
|
|
80
|
+
Cole o conteúdo do entregável abaixo:
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
**Se opção 2:**
|
|
84
|
+
```
|
|
85
|
+
Qual o caminho do arquivo?
|
|
86
|
+
Exemplo: docs/01-produto/PRD.md
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
### Passo 3: Validar Gate
|
|
92
|
+
|
|
93
|
+
```typescript
|
|
94
|
+
const estadoJson = await fs.readFile('.maestro/estado.json', 'utf-8');
|
|
95
|
+
|
|
96
|
+
const resultado = await mcp_maestro_validar_gate({
|
|
97
|
+
entregavel: entregavel,
|
|
98
|
+
estado_json: estadoJson,
|
|
99
|
+
diretorio: process.cwd()
|
|
100
|
+
});
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
**MCP retorna:**
|
|
104
|
+
- `valido`: boolean
|
|
105
|
+
- `score`: 0-100
|
|
106
|
+
- `checklist`: array de itens
|
|
107
|
+
- `pendencias`: array de strings
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
### Passo 4: Apresentar Resultado da Validação
|
|
112
|
+
|
|
113
|
+
#### Cenário A: Score >= 70 (Aprovado ✅)
|
|
114
|
+
|
|
115
|
+
```markdown
|
|
116
|
+
✅ **Gate Aprovado** (Score: ${score}/100)
|
|
117
|
+
|
|
118
|
+
**Checklist da Fase:**
|
|
119
|
+
${checklist.map(item => `${item.validado ? '✅' : '⚠️'} ${item.nome}`).join('\n')}
|
|
120
|
+
|
|
121
|
+
${pendencias.length > 0 ? `
|
|
122
|
+
**Pendências Menores:**
|
|
123
|
+
${pendencias.map(p => `- ${p}`).join('\n')}
|
|
124
|
+
|
|
125
|
+
(Pode avançar, mas considere corrigir depois)
|
|
126
|
+
` : ''}
|
|
127
|
+
|
|
128
|
+
Avançando para próxima fase...
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
**Chamar proximo automaticamente:**
|
|
132
|
+
|
|
133
|
+
```typescript
|
|
134
|
+
await mcp_maestro_proximo({
|
|
135
|
+
entregavel: entregavel,
|
|
136
|
+
estado_json: estadoJson,
|
|
137
|
+
diretorio: process.cwd()
|
|
138
|
+
});
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
#### Cenário B: Score < 70 (Bloqueado 🔴)
|
|
142
|
+
|
|
143
|
+
```markdown
|
|
144
|
+
🔴 **Gate Bloqueado** (Score: ${score}/100)
|
|
145
|
+
|
|
146
|
+
**Itens Validados** ✅:
|
|
147
|
+
${checklist.filter(i => i.validado).map(i => `- ${i.nome}`).join('\n')}
|
|
148
|
+
|
|
149
|
+
**Itens Pendentes** ❌:
|
|
150
|
+
${checklist.filter(i => !i.validado).map(i => `- ${i.nome}`).join('\n')}
|
|
151
|
+
|
|
152
|
+
**Sugestões de Correção:**
|
|
153
|
+
${pendencias.map(p => `- ${p}`).join('\n')}
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
**Opções:**
|
|
158
|
+
|
|
159
|
+
1. **Corrigir pendências** → Atualize o entregável e execute `/mcp-next [arquivo]` novamente
|
|
160
|
+
2. **Aprovar manualmente** → Se tiver motivo justificado, posso informar como forçar
|
|
161
|
+
|
|
162
|
+
Qual opção? (1/2)
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
**Se usuário escolher opção 2:**
|
|
166
|
+
|
|
167
|
+
> [!CAUTION]
|
|
168
|
+
> **NUNCA** chamar `aprovar_gate` automaticamente!
|
|
169
|
+
>
|
|
170
|
+
> Apenas **INFORMAR** ao usuário:
|
|
171
|
+
|
|
172
|
+
```markdown
|
|
173
|
+
⚠️ **Aprovação Manual de Gate**
|
|
174
|
+
|
|
175
|
+
Para aprovar este gate manualmente, você (usuário) precisa:
|
|
176
|
+
|
|
177
|
+
1. Entender os riscos de avançar com pendências
|
|
178
|
+
2. Ter justificativa documentada
|
|
179
|
+
3. Executar: `/mcp-gate approve [justificativa]`
|
|
180
|
+
|
|
181
|
+
**Exemplo:**
|
|
182
|
+
/mcp-gate approve "MVP inicial, vamos refinar depois"
|
|
183
|
+
|
|
184
|
+
❌ **Eu (IA) NÃO posso aprovar gates automaticamente.**
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
---
|
|
188
|
+
|
|
189
|
+
### Passo 5: Apresentar Próxima Fase
|
|
190
|
+
|
|
191
|
+
**Após avançar com sucesso:**
|
|
192
|
+
|
|
193
|
+
```typescript
|
|
194
|
+
// Recarregar estado atualizado
|
|
195
|
+
const novoEstadoJson = await fs.readFile('.maestro/estado.json', 'utf-8');
|
|
196
|
+
const novoEstado = JSON.parse(novoEstadoJson);
|
|
197
|
+
|
|
198
|
+
// Carregar especialista da próxima fase
|
|
199
|
+
const proximaFase = novoEstado.fases[novoEstado.fase_atual - 1];
|
|
200
|
+
const especialista = await fetch(`maestro://especialista/${proximaFase.especialista}`);
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
**Apresentar:**
|
|
204
|
+
|
|
205
|
+
```markdown
|
|
206
|
+
✅ **Entregável Salvo:** docs/${faseConcluida.numero}-${faseConcluida.slug}/${arquivo}
|
|
207
|
+
|
|
208
|
+
---
|
|
209
|
+
|
|
210
|
+
🎯 **Fase ${proximaFase.numero}/${totalFases}: ${proximaFase.nome}**
|
|
211
|
+
🤖 **Especialista:** ${proximaFase.especialista}
|
|
212
|
+
📄 **Entregável Esperado:** ${proximaFase.template}
|
|
213
|
+
|
|
214
|
+
---
|
|
215
|
+
|
|
216
|
+
## 🎯 ${proximaFase.nome}
|
|
217
|
+
|
|
218
|
+
${especialista.introducao}
|
|
219
|
+
|
|
220
|
+
${especialista.perguntas_iniciais}
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
---
|
|
224
|
+
|
|
225
|
+
## Comandos
|
|
226
|
+
|
|
227
|
+
```
|
|
228
|
+
/mcp-next → Wizard (pede entregável)
|
|
229
|
+
/mcp-next [arquivo] → Usa arquivo como entregável
|
|
230
|
+
/mcp-next --force [arquivo] → ❌ NÃO SUPORTADO (usar /mcp-gate approve)
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
---
|
|
234
|
+
|
|
235
|
+
## Exemplos de Uso
|
|
236
|
+
|
|
237
|
+
### Exemplo 1: Gate Aprovado Automaticamente
|
|
238
|
+
|
|
239
|
+
```
|
|
240
|
+
User: /mcp-next docs/01-produto/PRD.md
|
|
241
|
+
|
|
242
|
+
AI: Validando gate da Fase 1...
|
|
243
|
+
|
|
244
|
+
✅ Gate Aprovado (Score: 95/100)
|
|
245
|
+
|
|
246
|
+
Checklist:
|
|
247
|
+
✅ Problema claramente definido
|
|
248
|
+
✅ Personas identificadas
|
|
249
|
+
✅ MVP com funcionalidades listadas
|
|
250
|
+
✅ North Star Metric definida
|
|
251
|
+
|
|
252
|
+
Avançando para próxima fase...
|
|
253
|
+
|
|
254
|
+
✅ PRD Salvo: docs/01-produto/PRD.md
|
|
255
|
+
|
|
256
|
+
🎯 Fase 2/13: Requisitos
|
|
257
|
+
🤖 Especialista: Engenharia de Requisitos
|
|
258
|
+
|
|
259
|
+
Vamos elaborar os requisitos funcionais e não-funcionais...
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
### Exemplo 2: Gate Bloqueado
|
|
263
|
+
|
|
264
|
+
```
|
|
265
|
+
User: /mcp-next docs/02-requisitos/requisitos.md
|
|
266
|
+
|
|
267
|
+
AI: Validando gate da Fase 2...
|
|
268
|
+
|
|
269
|
+
🔴 Gate Bloqueado (Score: 60/100)
|
|
270
|
+
|
|
271
|
+
Itens Validados ✅:
|
|
272
|
+
- Requisitos funcionais com IDs únicos
|
|
273
|
+
- Requisitos não-funcionais definidos
|
|
274
|
+
|
|
275
|
+
Itens Pendentes ❌:
|
|
276
|
+
- Critérios de aceite em Gherkin
|
|
277
|
+
- Matriz de rastreabilidade iniciada
|
|
278
|
+
|
|
279
|
+
Sugestões:
|
|
280
|
+
- Adicione cenários Gherkin para cada RF (Dado/Quando/Então)
|
|
281
|
+
- Crie tabela mapeando RF → User Story
|
|
282
|
+
|
|
283
|
+
---
|
|
284
|
+
|
|
285
|
+
Opções:
|
|
286
|
+
1. Corrigir pendências
|
|
287
|
+
2. Aprovar manualmente
|
|
288
|
+
|
|
289
|
+
Qual? (1/2)
|
|
290
|
+
|
|
291
|
+
User: 1
|
|
292
|
+
|
|
293
|
+
AI: Certo! Atualize o arquivo `docs/02-requisitos/requisitos.md`
|
|
294
|
+
e execute `/mcp-next` novamente quando estiver pronto.
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
### Exemplo 3: Wizard Interativo
|
|
298
|
+
|
|
299
|
+
```
|
|
300
|
+
User: /mcp-next
|
|
301
|
+
|
|
302
|
+
AI: 📋 Fase Atual: 3 - UX Design
|
|
303
|
+
📄 Entregável Esperado: design-doc.md
|
|
304
|
+
|
|
305
|
+
Como deseja fornecer o entregável?
|
|
306
|
+
1. Colar conteúdo
|
|
307
|
+
2. Informar arquivo
|
|
308
|
+
|
|
309
|
+
Escolha:
|
|
310
|
+
|
|
311
|
+
User: 2
|
|
312
|
+
|
|
313
|
+
AI: Qual o caminho do arquivo?
|
|
314
|
+
|
|
315
|
+
User: docs/03-ux/design-doc.md
|
|
316
|
+
|
|
317
|
+
AI: Validando gate...
|
|
318
|
+
[continua validação]
|
|
319
|
+
```
|
|
320
|
+
|
|
321
|
+
---
|
|
322
|
+
|
|
323
|
+
## Regras Críticas
|
|
324
|
+
|
|
325
|
+
### ✅ SEMPRE Fazer:
|
|
326
|
+
|
|
327
|
+
1. Ler `.maestro/estado.json` ANTES de qualquer tool MCP
|
|
328
|
+
2. Passar `estado_json` em TODOS os tools
|
|
329
|
+
3. Validar gate ANTES de chamar `proximo`
|
|
330
|
+
4. Apresentar resultado de validação ao usuário
|
|
331
|
+
5. Carregar especialista da próxima fase
|
|
332
|
+
|
|
333
|
+
### ❌ NUNCA Fazer:
|
|
334
|
+
|
|
335
|
+
1. Chamar `proximo` sem validar gate antes
|
|
336
|
+
2. Chamar `aprovar_gate` automaticamente
|
|
337
|
+
3. Usar `forcar: true` sem aprovação explícita do usuário
|
|
338
|
+
4. Avançar com score < 70 sem mostrar pendências
|
|
339
|
+
5. Assumir que arquivo existe sem verificar
|
|
340
|
+
|
|
341
|
+
---
|
|
342
|
+
|
|
343
|
+
## Gate Protection Protocol
|
|
344
|
+
|
|
345
|
+
> [!CAUTION]
|
|
346
|
+
> **Quando `validar_gate` retorna `valido: false`:**
|
|
347
|
+
>
|
|
348
|
+
> 1. 🛑 **PARAR** - Não chamar `proximo()`
|
|
349
|
+
> 2. 📊 **MOSTRAR** - Itens pendentes ao usuário
|
|
350
|
+
> 3. 💡 **SUGERIR** - Correções baseadas em checklist
|
|
351
|
+
> 4. ⏸️ **AGUARDAR** - Decisão do usuário
|
|
352
|
+
>
|
|
353
|
+
> **NUNCA:**
|
|
354
|
+
> - ❌ Chamar `aprovar_gate` automaticamente
|
|
355
|
+
> - ❌ Usar `forcar: true` sem aprovação explícita
|
|
356
|
+
> - ❌ Ignorar gates ou pular validações
|
|
357
|
+
|
|
358
|
+
---
|
|
359
|
+
|
|
360
|
+
## Troubleshooting
|
|
361
|
+
|
|
362
|
+
### Erro: "estado.json not found"
|
|
363
|
+
|
|
364
|
+
```
|
|
365
|
+
❌ Nenhum projeto MCP ativo.
|
|
366
|
+
|
|
367
|
+
Use `/mcp-start` para iniciar um novo projeto.
|
|
368
|
+
```
|
|
369
|
+
|
|
370
|
+
### Erro: "Fase já concluída"
|
|
371
|
+
|
|
372
|
+
```
|
|
373
|
+
⚠️ Esta fase já foi concluída.
|
|
374
|
+
|
|
375
|
+
Use `/mcp-status` para ver a fase atual.
|
|
376
|
+
```
|
|
377
|
+
|
|
378
|
+
### Score Sempre < 70
|
|
379
|
+
|
|
380
|
+
**Causa:** Tier de gate muito rigoroso para o tipo de projeto.
|
|
381
|
+
|
|
382
|
+
**Solução:** Reclassificar projeto:
|
|
383
|
+
|
|
384
|
+
```
|
|
385
|
+
/mcp-start reclassificar
|
|
386
|
+
```
|
|
387
|
+
|
|
388
|
+
Ou aprovar manualmente com justificativa.
|