@maestro-ai/mcp-server 5.3.4 → 5.3.6
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/dist/content/rules/GEMINI.md +320 -675
- package/dist/content/rules/RULES.md +330 -629
- package/dist/content/rules/adapters/copilot.md +5 -0
- package/dist/content/rules/adapters/cursor.md +5 -0
- package/dist/content/rules/adapters/gemini.md +6 -1
- package/dist/content/rules/adapters/windsurf.md +5 -0
- package/dist/gates/unified-validator.d.ts +67 -0
- package/dist/gates/unified-validator.d.ts.map +1 -0
- package/dist/gates/unified-validator.js +234 -0
- package/dist/gates/unified-validator.js.map +1 -0
- package/dist/handlers/specialist-phase-handler.d.ts +9 -6
- package/dist/handlers/specialist-phase-handler.d.ts.map +1 -1
- package/dist/handlers/specialist-phase-handler.js +235 -61
- package/dist/handlers/specialist-phase-handler.js.map +1 -1
- package/dist/types/onboarding.d.ts +3 -1
- package/dist/types/onboarding.d.ts.map +1 -1
- package/dist/utils/content-injector.js +1 -1
- package/dist/utils/ide-paths.d.ts +1 -1
- package/dist/utils/ide-paths.js +1 -1
- package/dist/utils/response-formatter.d.ts.map +1 -1
- package/dist/utils/response-formatter.js +2 -1
- package/dist/utils/response-formatter.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,724 +1,449 @@
|
|
|
1
|
-
# MCP Maestro Development Kit
|
|
1
|
+
# MCP Maestro Development Kit v3 — AI Rules
|
|
2
2
|
|
|
3
|
-
>
|
|
3
|
+
> Guia para a IA interagir com o sistema MCP Maestro.
|
|
4
|
+
> Conteúdo universal para todas as IDEs (Cursor, Windsurf, Antigravity/Gemini, Copilot).
|
|
4
5
|
|
|
5
6
|
---
|
|
6
7
|
|
|
7
|
-
##
|
|
8
|
-
|
|
9
|
-
> **MANDATORY:** Você DEVE seguir o protocolo MCP Maestro para todos os projetos neste workspace.
|
|
8
|
+
## 🚨 PROTOCOLO OBRIGATÓRIO (START HERE)
|
|
10
9
|
|
|
11
10
|
### 1. Detectar Contexto MCP
|
|
12
11
|
|
|
13
|
-
**Antes de QUALQUER ação
|
|
14
|
-
- ✅ Existe `.maestro/estado.json
|
|
15
|
-
-
|
|
16
|
-
- ✅ Se NÃO → Seguir fluxo padrão
|
|
12
|
+
**Antes de QUALQUER ação:**
|
|
13
|
+
- ✅ Existe `.maestro/estado.json`? → **Modo MCP Maestro ativo**
|
|
14
|
+
- ❌ Não existe? → Seguir fluxo padrão
|
|
17
15
|
|
|
18
|
-
### 2. Princípio Stateless
|
|
16
|
+
### 2. Princípio Stateless
|
|
19
17
|
|
|
20
18
|
```
|
|
21
19
|
❌ ERRADO: Assumir estado prévio em memória
|
|
22
|
-
✅ CORRETO: Estado SEMPRE
|
|
20
|
+
✅ CORRETO: Estado SEMPRE lido de .maestro/estado.json
|
|
23
21
|
```
|
|
24
22
|
|
|
25
|
-
**Protocolo
|
|
23
|
+
**Protocolo:**
|
|
26
24
|
1. Ler `.maestro/estado.json` antes de qualquer tool MCP
|
|
27
|
-
2.
|
|
28
|
-
3. Passar `
|
|
25
|
+
2. Passar `estado_json` como argumento em TODOS os tools
|
|
26
|
+
3. Passar `diretorio` (caminho absoluto) em TODOS os tools
|
|
29
27
|
4. NUNCA confiar em memória de conversação
|
|
30
28
|
|
|
31
|
-
### 3.
|
|
32
|
-
|
|
33
|
-
**Princípio Central**: Qualidade não é negociável, formalidade é adaptável.
|
|
29
|
+
### 3. Qualidade Adaptativa
|
|
34
30
|
|
|
35
31
|
| Tipo Projeto | Gate Tier | Rigor | Exemplo |
|
|
36
32
|
|--------------|-----------|-------|---------|
|
|
37
33
|
| POC | Essencial | Funciona? | Spike técnico |
|
|
38
|
-
| Script | Essencial | Funciona? | Automação
|
|
39
|
-
| Internal | Base | Padrão indústria | Dashboard
|
|
34
|
+
| Script | Essencial | Funciona? | Automação |
|
|
35
|
+
| Internal | Base | Padrão indústria | Dashboard |
|
|
40
36
|
| Product | Base/Avançado | Estado da arte | SaaS, Fintech |
|
|
41
37
|
|
|
42
38
|
---
|
|
43
39
|
|
|
44
|
-
##
|
|
45
|
-
|
|
46
|
-
**Antes de QUALQUER ação, classificar o request:**
|
|
40
|
+
## ⚡ 5 TOOLS PÚBLICAS
|
|
47
41
|
|
|
48
|
-
|
|
49
|
-
|--------------|------------------|----------|-----------|
|
|
50
|
-
| **NOVO PROJETO** | "criar projeto", "iniciar maestro", "novo sistema" | `iniciar_projeto` | Inicia Fase 1 (Produto) |
|
|
51
|
-
| **AVANÇAR FASE** | "próximo", "terminei", "avançar", "continuar", "pronto" | `proximo` | Salva + Valida + Próxima Fase |
|
|
52
|
-
| **VERIFICAR STATUS** | "status", "onde estou", "fase atual" | `status` | Estado completo do projeto |
|
|
53
|
-
| **VALIDAR GATE** | "validar", "posso avançar?", "checklist" | `validar_gate` | Verifica checklist da fase |
|
|
54
|
-
| **RECLASSIFICAR** | "mudar complexidade", "reclassificar" | `classificar` | Reanalisa complexidade |
|
|
55
|
-
| **CONFIRMAR CLASSIFICAÇÃO** | "confirmar", "ok", "classificação correta" | `confirmar_classificacao` | Efetiva nova classificação |
|
|
56
|
-
| **NOVA FEATURE** | "adicionar feature", "nova funcionalidade" | `nova_feature` | Fluxo de feature |
|
|
57
|
-
| **BUG FIX** | "corrigir bug", "resolver erro", "debugging" | `corrigir_bug` | Fluxo de correção |
|
|
58
|
-
| **REFATORAR** | "refatorar", "melhorar código", "reestruturar" | `refatorar` | Fluxo de refatoração |
|
|
59
|
-
| **SALVAR** | "salvar rascunho", "salvar anexo" | `salvar` | Persiste sem avançar |
|
|
60
|
-
| **CONTEXTO** | "contexto", "resumo", "o que temos até agora" | `contexto` | Contexto acumulado |
|
|
61
|
-
|
|
62
|
-
---
|
|
42
|
+
> **IMPORTANTE**: Use APENAS estas 5 tools. Tools legadas (v4) ainda funcionam mas emitem deprecation warnings e serão removidas.
|
|
63
43
|
|
|
64
|
-
|
|
44
|
+
### 1. `maestro` — Entry Point Inteligente 🎯
|
|
65
45
|
|
|
66
|
-
**
|
|
46
|
+
**Quando usar**: Iniciar projeto, ver status, criar projeto
|
|
67
47
|
|
|
68
|
-
|
|
48
|
+
```typescript
|
|
49
|
+
// Ver status do projeto (sem ação = auto-detecta)
|
|
50
|
+
maestro({ diretorio: "/path/to/project" })
|
|
51
|
+
|
|
52
|
+
// Criar novo projeto
|
|
53
|
+
maestro({
|
|
54
|
+
diretorio: "/path/to/project",
|
|
55
|
+
acao: "criar_projeto",
|
|
56
|
+
respostas: { nome: "MeuProjeto", descricao: "Sistema de..." }
|
|
57
|
+
})
|
|
69
58
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
59
|
+
// Setup inicial (IDE, modo)
|
|
60
|
+
maestro({
|
|
61
|
+
diretorio: "/path/to/project",
|
|
62
|
+
acao: "setup_inicial",
|
|
63
|
+
respostas: { ide: "vscode", modo: "balanced" }
|
|
64
|
+
})
|
|
76
65
|
```
|
|
77
66
|
|
|
78
|
-
|
|
67
|
+
**Substitui**: `iniciar_projeto`, `confirmar_projeto`, `status`, `carregar_projeto`, `setup_inicial`
|
|
79
68
|
|
|
80
|
-
|
|
81
|
-
1. Produto → `Gestão de Produto`
|
|
82
|
-
2. Requisitos → `Engenharia de Requisitos`
|
|
83
|
-
3. UX Design → `UX Design`
|
|
84
|
-
4. Arquitetura → `Arquitetura de Software`
|
|
85
|
-
5. Backlog → `Plano de Execução`
|
|
86
|
-
6. Frontend → `Desenvolvimento Frontend`
|
|
87
|
-
7. Backend → `Desenvolvimento`
|
|
88
|
-
|
|
89
|
-
**Fluxo Médio (13 fases)** adiciona:
|
|
90
|
-
4. Modelo de Domínio → `Modelagem e Arquitetura de Domínio com IA`
|
|
91
|
-
5. Banco de Dados → `Banco de Dados`
|
|
92
|
-
7. Segurança → `Segurança da Informação`
|
|
93
|
-
8. Testes → `Análise de Testes`
|
|
94
|
-
10. Contrato API → `Contrato de API`
|
|
95
|
-
13. Integração → `DevOps e Infraestrutura`
|
|
69
|
+
---
|
|
96
70
|
|
|
97
|
-
|
|
98
|
-
7. Arquitetura Avançada → `Arquitetura Avançada`
|
|
99
|
-
9. Performance → `Performance e Escalabilidade`
|
|
100
|
-
10. Observabilidade → `Observabilidade`
|
|
71
|
+
### 2. `executar` — Ações no Projeto ⚡
|
|
101
72
|
|
|
102
|
-
**
|
|
103
|
-
- Prototipagem → `Prototipagem Rápida com Google Stitch`
|
|
73
|
+
**Quando usar**: Avançar fase, salvar, checkpoints
|
|
104
74
|
|
|
105
|
-
|
|
75
|
+
```typescript
|
|
76
|
+
// Avançar fase com entregável
|
|
77
|
+
executar({
|
|
78
|
+
diretorio: "/path/to/project",
|
|
79
|
+
acao: "avancar", // padrão se omitido
|
|
80
|
+
entregavel: "<conteúdo completo do entregável>"
|
|
81
|
+
})
|
|
106
82
|
|
|
107
|
-
|
|
83
|
+
// Avançar onboarding com respostas
|
|
84
|
+
executar({
|
|
85
|
+
diretorio: "/path/to/project",
|
|
86
|
+
acao: "avancar",
|
|
87
|
+
respostas: { nome_produto: "MeuApp", problema: "..." }
|
|
88
|
+
})
|
|
108
89
|
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
90
|
+
// Salvar rascunho sem avançar
|
|
91
|
+
executar({
|
|
92
|
+
diretorio: "/path/to/project",
|
|
93
|
+
acao: "salvar",
|
|
94
|
+
conteudo: "...",
|
|
95
|
+
tipo: "rascunho" // "rascunho" | "anexo" | "entregavel"
|
|
96
|
+
})
|
|
113
97
|
|
|
114
|
-
|
|
98
|
+
// Checkpoint
|
|
99
|
+
executar({
|
|
100
|
+
diretorio: "/path/to/project",
|
|
101
|
+
acao: "checkpoint",
|
|
102
|
+
checkpoint_acao: "criar", // "criar" | "rollback" | "listar"
|
|
103
|
+
reason: "Antes de refatorar"
|
|
104
|
+
})
|
|
115
105
|
```
|
|
116
106
|
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
## TIER 0: REGRAS UNIVERSAIS (Always Active)
|
|
107
|
+
**Substitui**: `proximo`, `avancar`, `salvar`, `checkpoint`
|
|
120
108
|
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
- **Responder**: Sempre em português do Brasil
|
|
124
|
-
- **Código**: Variáveis, funções e comentários em inglês
|
|
125
|
-
- **Documentação**: Português (PRD, requisitos) ou inglês (código)
|
|
109
|
+
---
|
|
126
110
|
|
|
127
|
-
###
|
|
111
|
+
### 3. `validar` — Validações ✅
|
|
128
112
|
|
|
129
|
-
**
|
|
113
|
+
**Quando usar**: Validar gate, qualidade, compliance
|
|
130
114
|
|
|
131
115
|
```typescript
|
|
132
|
-
//
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
//
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
})
|
|
141
|
-
```
|
|
142
|
-
|
|
143
|
-
**NUNCA**:
|
|
144
|
-
- ❌ Assumir estado em memória
|
|
145
|
-
- ❌ Cachear valores entre requests
|
|
146
|
-
- ❌ Confiar em histórico de chat
|
|
147
|
-
- ❌ Chamar tools MCP sem `estado_json`
|
|
148
|
-
|
|
149
|
-
### 📁 File Structure Awareness
|
|
150
|
-
|
|
151
|
-
**Estrutura Padrão MCP Maestro**:
|
|
116
|
+
// Validar gate da fase atual (auto-detecta tipo)
|
|
117
|
+
validar({ diretorio: "/path/to/project" })
|
|
118
|
+
|
|
119
|
+
// Validar entregável específico
|
|
120
|
+
validar({
|
|
121
|
+
diretorio: "/path/to/project",
|
|
122
|
+
tipo: "entregavel",
|
|
123
|
+
entregavel: "<conteúdo>"
|
|
124
|
+
})
|
|
152
125
|
|
|
126
|
+
// Verificar compliance
|
|
127
|
+
validar({
|
|
128
|
+
diretorio: "/path/to/project",
|
|
129
|
+
tipo: "compliance",
|
|
130
|
+
standard: "LGPD",
|
|
131
|
+
code: "<código para verificar>"
|
|
132
|
+
})
|
|
153
133
|
```
|
|
154
|
-
projeto/
|
|
155
|
-
├── .maestro/
|
|
156
|
-
│ ├── estado.json # ⭐ FONTE DA VERDADE
|
|
157
|
-
│ └── resumo.json # Cache de contexto
|
|
158
|
-
├── docs/
|
|
159
|
-
│ ├── 01-produto/
|
|
160
|
-
│ │ └── PRD.md
|
|
161
|
-
│ ├── 02-requisitos/
|
|
162
|
-
│ │ └── requisitos.md
|
|
163
|
-
│ ├── 03-ux/
|
|
164
|
-
│ │ └── design-doc.md
|
|
165
|
-
│ └── ...
|
|
166
|
-
└── src/
|
|
167
|
-
```
|
|
168
|
-
|
|
169
|
-
**Antes de modificar arquivos**:
|
|
170
|
-
1. Verificar se está seguindo estrutura MCP
|
|
171
|
-
2. Criar diretórios por fase (`docs/{numero}-{nome}/`)
|
|
172
|
-
3. Salvar entregáveis com nomes padronizados
|
|
173
|
-
|
|
174
|
-
### 🛑 Gate Protection Protocol
|
|
175
|
-
|
|
176
|
-
**Quando `validar_gate` retorna `valido: false`**:
|
|
177
134
|
|
|
178
|
-
|
|
179
|
-
1. 🛑 STOP: Não chamar proximo()
|
|
180
|
-
2. 📊 MOSTRAR: Itens pendentes ao usuário
|
|
181
|
-
3. 💡 SUGERIR: Correções baseadas em checklist
|
|
182
|
-
4. ⏸️ AGUARDAR: Aprovação explícita do usuário
|
|
183
|
-
```
|
|
135
|
+
**Substitui**: `validar_gate`, `avaliar_entregavel`, `check_compliance`
|
|
184
136
|
|
|
185
|
-
|
|
186
|
-
- **100**: Todos itens do checklist validados ✅
|
|
187
|
-
- **70-99**: Pode avançar com pendências menores ⚠️
|
|
188
|
-
- **< 70**: **BLOQUEADO** - Requer correção ou aprovação manual 🔴
|
|
137
|
+
---
|
|
189
138
|
|
|
190
|
-
|
|
191
|
-
- ❌ Chamar `aprovar_gate` automaticamente
|
|
192
|
-
- ❌ Usar `forcar: true` sem aprovação explícita
|
|
193
|
-
- ❌ Ignorar gates ou pular validações
|
|
194
|
-
- ❌ Avançar com score < 70 sem confirmação
|
|
139
|
+
### 4. `analisar` — Análises de Código 🔍
|
|
195
140
|
|
|
196
|
-
|
|
141
|
+
**Quando usar**: Segurança, qualidade, performance, relatórios
|
|
197
142
|
|
|
198
|
-
```
|
|
199
|
-
|
|
200
|
-
|
|
143
|
+
```typescript
|
|
144
|
+
// Relatório completo (padrão)
|
|
145
|
+
analisar({ diretorio: "/path/to/project" })
|
|
146
|
+
|
|
147
|
+
// Análise específica
|
|
148
|
+
analisar({
|
|
149
|
+
diretorio: "/path/to/project",
|
|
150
|
+
tipo: "seguranca", // "seguranca" | "qualidade" | "performance" | "dependencias" | "completo"
|
|
151
|
+
code: "<código>"
|
|
152
|
+
})
|
|
201
153
|
```
|
|
202
154
|
|
|
203
|
-
**
|
|
204
|
-
1. Qual é o OBJETIVO desta fase?
|
|
205
|
-
2. Que PRINCÍPIOS o especialista aplica?
|
|
206
|
-
3. Como isso DIFERE de output genérico?
|
|
207
|
-
4. Que TEMPLATE usar?
|
|
155
|
+
**Substitui**: `analisar_seguranca`, `analisar_qualidade`, `analisar_performance`, `gerar_relatorio`
|
|
208
156
|
|
|
209
157
|
---
|
|
210
158
|
|
|
211
|
-
|
|
159
|
+
### 5. `contexto` — Contexto Acumulado 🧠
|
|
212
160
|
|
|
213
|
-
|
|
161
|
+
**Quando usar**: Obter resumo do projeto, decisões, padrões
|
|
214
162
|
|
|
215
|
-
|
|
163
|
+
```typescript
|
|
164
|
+
contexto({ diretorio: "/path/to/project" })
|
|
165
|
+
// → Retorna: Stack, modelo, arquitetura, ADRs, gates validados
|
|
166
|
+
```
|
|
216
167
|
|
|
217
|
-
**
|
|
168
|
+
**Substitui**: `get_context`
|
|
218
169
|
|
|
219
|
-
|
|
220
|
-
|----------|---------------|--------|
|
|
221
|
-
| **Entidades** | Contar substantivos em Funcionalidades | 1-3 |
|
|
222
|
-
| **Integrações** | Buscar "API", "integração", "serviço externo" | 1-3 |
|
|
223
|
-
| **Segurança** | Palavras: "auth", "LGPD", "compliance", "criptografia" | 1-3 |
|
|
224
|
-
| **Escala** | Números de usuários mencionados (>1k, >10k, >100k) | 1-3 |
|
|
225
|
-
| **Tempo** | Cronograma (>3 meses = mais complexo) | 1-3 |
|
|
226
|
-
| **Regras de Negócio** | Complexidade descrita (workflows, cálculos) | 1-3 |
|
|
170
|
+
---
|
|
227
171
|
|
|
228
|
-
|
|
229
|
-
- **8-12 pontos** → Simples (7 fases)
|
|
230
|
-
- **13-18 pontos** → Médio (13 fases)
|
|
231
|
-
- **19-24 pontos** → Complexo (17 fases)
|
|
172
|
+
### Tools Exclusivas do Usuário
|
|
232
173
|
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
↓
|
|
237
|
-
MCP analisa PRD automaticamente
|
|
238
|
-
↓
|
|
239
|
-
MCP sugere: "Detectei 14 pontos → Nível MÉDIO (13 fases)"
|
|
240
|
-
↓
|
|
241
|
-
IA pergunta: "Confirmar classificação ou ajustar?"
|
|
242
|
-
↓
|
|
243
|
-
Usuário confirma
|
|
244
|
-
↓
|
|
245
|
-
MCP confirma classificação e carrega Fase 2
|
|
174
|
+
```typescript
|
|
175
|
+
// ⚠️ NUNCA chame automaticamente — apenas quando o USUÁRIO solicitar
|
|
176
|
+
aprovar_gate({ acao: "aprovar", estado_json: "...", diretorio: "..." })
|
|
246
177
|
```
|
|
247
178
|
|
|
248
|
-
###
|
|
249
|
-
|
|
250
|
-
**Quando Usar**:
|
|
251
|
-
- ✅ Projeto com UI/UX crítico
|
|
252
|
-
- ✅ Validação de design com stakeholders necessária
|
|
253
|
-
- ✅ Prototipagem rápida desejada
|
|
254
|
-
|
|
255
|
-
**Quando Perguntar**:
|
|
256
|
-
```markdown
|
|
257
|
-
Projeto classificado. Deseja incluir fase de **Prototipagem com Google Stitch**?
|
|
258
|
-
- ✅ Sim → Insere fase após UX Design
|
|
259
|
-
- ❌ Não → Continua fluxo normal
|
|
260
|
-
```
|
|
261
|
-
|
|
262
|
-
**Fluxo com Stitch**:
|
|
263
|
-
```
|
|
264
|
-
Produto(1) → Requisitos(2) → UX Design(3) → Stitch(4) → Modelo(5) → ...
|
|
265
|
-
```
|
|
266
|
-
|
|
267
|
-
**Fase Stitch**:
|
|
268
|
-
- **Especialista**: Prototipagem Rápida com Google Stitch
|
|
269
|
-
- **Template**: `prototipo-stitch`
|
|
270
|
-
- **Entregável**: `prototipos.md` + HTML/CSS exportados
|
|
271
|
-
- **Checklist**:
|
|
272
|
-
- Design Doc aprovado como base
|
|
273
|
-
- Prompts para Stitch gerados
|
|
274
|
-
- Protótipos testados em stitch.withgoogle.com
|
|
275
|
-
- Código exportado e salvo
|
|
276
|
-
|
|
277
|
-
### 🏗️ Frontend-First Protocol
|
|
278
|
-
|
|
279
|
-
**Para features que envolvem Frontend + Backend**:
|
|
280
|
-
|
|
281
|
-
**Regra oficial (obrigatória):**
|
|
282
|
-
- **NUNCA** iniciar FE/BE sem **Contrato API validado + Mock server ativo**
|
|
283
|
-
- **Frontend** só pode consumir **mocks gerados do contrato**
|
|
284
|
-
- **Backend** deve **implementar exatamente o contrato**, sem alterações fora do versionamento
|
|
285
|
-
- **Integração** só inicia após FE + BE concluídos
|
|
286
|
-
|
|
287
|
-
```
|
|
288
|
-
FEAT-001: Criar Pedido
|
|
289
|
-
│
|
|
290
|
-
├── 1. CONT-001 (Contrato API)
|
|
291
|
-
│ ├── Gera: openapi.yaml
|
|
292
|
-
│ ├── Gera: types para Frontend
|
|
293
|
-
│ ├── Gera: types para Backend
|
|
294
|
-
│ └── Gera: Mock Server
|
|
295
|
-
│
|
|
296
|
-
├── 2. US-001-FE (Frontend) ◄── Pode iniciar em paralelo
|
|
297
|
-
│ ├── Dependência: CONT-001 ✅
|
|
298
|
-
│ ├── Desenvolve contra mock
|
|
299
|
-
│ ├── Componentes + hooks + pages
|
|
300
|
-
│ └── Testes de componente
|
|
301
|
-
│
|
|
302
|
-
├── 3. US-001-BE (Backend) ◄── Pode iniciar em paralelo
|
|
303
|
-
│ ├── Dependência: CONT-001 ✅
|
|
304
|
-
│ ├── Implementa contrato
|
|
305
|
-
│ ├── DTOs + entities + services
|
|
306
|
-
│ └── Testes unitários
|
|
307
|
-
│
|
|
308
|
-
└── 4. INT-001 (Integração)
|
|
309
|
-
├── Dependência: US-001-FE ✅
|
|
310
|
-
├── Dependência: US-001-BE ✅
|
|
311
|
-
├── Remove mocks
|
|
312
|
-
├── Conecta FE com BE real
|
|
313
|
-
└── Testes E2E
|
|
314
|
-
```
|
|
315
|
-
|
|
316
|
-
**Validação de Dependências**:
|
|
179
|
+
### Tools de Fluxos Alternativos
|
|
317
180
|
|
|
318
181
|
```typescript
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
if (contrato.status !== 'concluido') {
|
|
323
|
-
return "⛔ BLOQUEADO: Contrato (CONT-XXX) precisa ser concluído primeiro";
|
|
324
|
-
}
|
|
325
|
-
}
|
|
326
|
-
|
|
327
|
-
if (historia.tipo === 'integracao') {
|
|
328
|
-
const fe = buscarHistoria('frontend');
|
|
329
|
-
const be = buscarHistoria('backend');
|
|
330
|
-
if (fe.status !== 'concluido' || be.status !== 'concluido') {
|
|
331
|
-
return "⛔ BLOQUEADO: Frontend e Backend precisam estar concluídos";
|
|
332
|
-
}
|
|
333
|
-
}
|
|
182
|
+
nova_feature({ descricao: "...", impacto_estimado: "medio" })
|
|
183
|
+
corrigir_bug({ descricao: "...", severidade: "alta" })
|
|
184
|
+
refatorar({ area: "...", motivo: "..." })
|
|
334
185
|
```
|
|
335
186
|
|
|
336
|
-
|
|
187
|
+
---
|
|
337
188
|
|
|
338
|
-
|
|
339
|
-
```
|
|
340
|
-
Tool: nova_feature(descricao, impacto_estimado)
|
|
341
|
-
↓
|
|
342
|
-
Fases:
|
|
343
|
-
1. Análise de Impacto
|
|
344
|
-
2. Refinamento de Requisitos
|
|
345
|
-
3. Design/Arquitetura
|
|
346
|
-
4. Implementação (Contrato → FE/BE → Integração)
|
|
347
|
-
5. Testes
|
|
348
|
-
6. Deploy
|
|
349
|
-
```
|
|
189
|
+
## 📥 REQUEST CLASSIFIER
|
|
350
190
|
|
|
351
|
-
**
|
|
352
|
-
```
|
|
353
|
-
Tool: corrigir_bug(descricao, severidade)
|
|
354
|
-
↓
|
|
355
|
-
Fases:
|
|
356
|
-
1. Reprodução do Bug
|
|
357
|
-
2. Análise de Causa Raiz
|
|
358
|
-
3. Fix + Testes de Regressão
|
|
359
|
-
4. Deploy
|
|
360
|
-
```
|
|
191
|
+
**Classificar o request do usuário ANTES de agir:**
|
|
361
192
|
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
193
|
+
| Request | Trigger Keywords | Tool | Ação |
|
|
194
|
+
|---------|-----------------|------|------|
|
|
195
|
+
| **Novo projeto** | "criar projeto", "iniciar", "novo sistema" | `maestro` | `acao: "criar_projeto"` |
|
|
196
|
+
| **Avançar** | "próximo", "terminei", "avançar", "pronto" | `executar` | `acao: "avancar"` |
|
|
197
|
+
| **Status** | "status", "onde estou", "fase atual" | `maestro` | sem ação |
|
|
198
|
+
| **Validar** | "validar", "posso avançar?", "checklist" | `validar` | auto-detecta |
|
|
199
|
+
| **Salvar** | "salvar rascunho", "salvar anexo" | `executar` | `acao: "salvar"` |
|
|
200
|
+
| **Contexto** | "contexto", "resumo", "o que temos" | `contexto` | — |
|
|
201
|
+
| **Nova feature** | "nova funcionalidade", "adicionar" | `nova_feature` | — |
|
|
202
|
+
| **Bug fix** | "corrigir bug", "resolver erro" | `corrigir_bug` | — |
|
|
203
|
+
| **Refatorar** | "refatorar", "reestruturar" | `refatorar` | — |
|
|
373
204
|
|
|
374
205
|
---
|
|
375
206
|
|
|
376
|
-
##
|
|
207
|
+
## 🤖 SKILLS E ESPECIALISTAS
|
|
377
208
|
|
|
378
|
-
###
|
|
209
|
+
### Carregamento Automático
|
|
379
210
|
|
|
380
|
-
**
|
|
211
|
+
**Ao iniciar cada fase**, o MCP carrega o especialista correto automaticamente.
|
|
212
|
+
A IA DEVE **ler e aplicar** a skill correspondente.
|
|
381
213
|
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
214
|
+
**Protocolo:**
|
|
215
|
+
```
|
|
216
|
+
1. Ler estado.json → obter fase_atual + skill_name
|
|
217
|
+
2. Localizar skill no diretório de skills da IDE (ver tabela abaixo)
|
|
218
|
+
3. Ler SKILL.md para persona + instruções
|
|
219
|
+
4. Consultar resources/templates/ para template do entregável
|
|
220
|
+
5. Consultar resources/checklists/ para critérios de validação
|
|
221
|
+
```
|
|
388
222
|
|
|
389
|
-
|
|
390
|
-
```markdown
|
|
391
|
-
// Estado atual
|
|
392
|
-
fase_atual: 5
|
|
393
|
-
nivel_complexidade: "medio"
|
|
394
|
-
|
|
395
|
-
// Fluxo médio, fase 5 = Banco de Dados
|
|
396
|
-
especialista: "Banco de Dados"
|
|
397
|
-
template: "design-banco"
|
|
398
|
-
|
|
399
|
-
// Carrega resource
|
|
400
|
-
resource = await fetch('maestro://especialista/banco-de-dados')
|
|
401
|
-
|
|
402
|
-
// Aplica
|
|
403
|
-
- Persona do especialista
|
|
404
|
-
- Instruções específicas
|
|
405
|
-
- Checklist de validação
|
|
406
|
-
```
|
|
407
|
-
|
|
408
|
-
### 📚 Especialistas Disponíveis
|
|
409
|
-
|
|
410
|
-
**Base (todos os fluxos)**:
|
|
411
|
-
- Gestão de Produto
|
|
412
|
-
- Engenharia de Requisitos
|
|
413
|
-
- UX Design
|
|
414
|
-
- Modelagem de Domínio (médio/complexo)
|
|
415
|
-
- Banco de Dados (médio/complexo)
|
|
416
|
-
- Arquitetura de Software
|
|
417
|
-
- Segurança da Informação (médio/complexo)
|
|
418
|
-
- Análise de Testes (médio/complexo)
|
|
419
|
-
- Plano de Execução
|
|
420
|
-
- Contrato de API (médio/complexo)
|
|
421
|
-
- Desenvolvimento Frontend
|
|
422
|
-
- Desenvolvimento Backend
|
|
423
|
-
- DevOps e Infraestrutura (médio/complexo)
|
|
424
|
-
|
|
425
|
-
**Avançados (apenas complexos)**:
|
|
426
|
-
- Arquitetura Avançada (DDD, CQRS, Event Sourcing, Microserviços)
|
|
427
|
-
- Performance e Escalabilidade (Load testing, caching, otimização)
|
|
428
|
-
- Observabilidade (Logs, métricas, tracing distribuído, dashboards)
|
|
429
|
-
|
|
430
|
-
**Complementares**:
|
|
431
|
-
- Prototipagem com Google Stitch (opcional)
|
|
432
|
-
- Dados e Analytics
|
|
433
|
-
- Acessibilidade
|
|
434
|
-
- Debugging e Troubleshooting
|
|
435
|
-
- Documentação Técnica
|
|
436
|
-
- Exploração de Codebase
|
|
437
|
-
- Migração e Modernização
|
|
438
|
-
|
|
439
|
-
### 🎯 Aplicação de Especialistas
|
|
440
|
-
|
|
441
|
-
**Regra de Ouro**: Especialista = Persona + Princípios + Template
|
|
223
|
+
### 📁 Diretórios por IDE
|
|
442
224
|
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
225
|
+
| IDE | Skills | Workflows | Rules File |
|
|
226
|
+
|-----|--------|-----------|------------|
|
|
227
|
+
| **Antigravity/Gemini** | `.agent/skills/` | `.agent/workflows/` | `.gemini/GEMINI.md` |
|
|
228
|
+
| **Cursor** | `.cursor/skills/` | `.cursor/commands/` | `.cursorrules` |
|
|
229
|
+
| **Windsurf** | `.windsurf/skills/` | `.windsurf/workflows/` | `.windsurfrules` |
|
|
230
|
+
| **Copilot** | `.agent/skills/` | `.agent/workflows/` | `.github/copilot-instructions.md` |
|
|
447
231
|
|
|
448
|
-
|
|
449
|
-
🤖 **Especialista**: Gestão de Produto
|
|
232
|
+
> 💡 Use o diretório correto da sua IDE ao referenciar skills e workflows.
|
|
450
233
|
|
|
451
|
-
|
|
234
|
+
### Estrutura de uma Skill
|
|
452
235
|
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
236
|
+
```
|
|
237
|
+
{skills_dir}/specialist-gestao-produto/
|
|
238
|
+
├── SKILL.md # Persona + instruções (LER PRIMEIRO)
|
|
239
|
+
├── README.md # Documentação completa
|
|
240
|
+
├── MCP_INTEGRATION.md # Funções MCP disponíveis
|
|
241
|
+
└── resources/
|
|
242
|
+
├── templates/PRD.md # Template do entregável
|
|
243
|
+
├── checklists/ # Critérios de validação
|
|
244
|
+
├── examples/ # Exemplos reais
|
|
245
|
+
└── reference/ # Guias de referência
|
|
459
246
|
```
|
|
460
247
|
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
## TIER 3: GATES ADAPTATIVOS
|
|
464
|
-
|
|
465
|
-
### 🎚️ Tiers de Rigor
|
|
466
|
-
|
|
467
|
-
| Tier | Quando | Foco | Exemplos de Validação |
|
|
468
|
-
|------|--------|------|----------------------|
|
|
469
|
-
| **Essencial** | POC, Script | Funciona? | Código executa, fim |
|
|
470
|
-
| **Base** | Internal, Product simples | Padrão indústria | Testes, lint, segurança básica |
|
|
471
|
-
| **Avançado** | Product complexo | Estado da arte | Arquitetura, observabilidade, compliance |
|
|
248
|
+
### 🔧 Resources MCP (Consulta via API)
|
|
472
249
|
|
|
473
|
-
|
|
250
|
+
> 💡 **Priorize skills locais** (diretório de skills da IDE). Use resources MCP como consulta complementar.
|
|
474
251
|
|
|
475
|
-
|
|
252
|
+
```
|
|
253
|
+
maestro://especialista/{nome} # Persona do especialista
|
|
254
|
+
maestro://template/{nome} # Template de documento
|
|
255
|
+
maestro://guia/{nome} # Guia prático
|
|
256
|
+
maestro://prompt/{area}/{nome} # Prompts avançados
|
|
257
|
+
maestro://system-prompt # System prompt do Maestro
|
|
258
|
+
```
|
|
476
259
|
|
|
477
|
-
|
|
478
|
-
// Exemplo: Fase 1 (Produto)
|
|
479
|
-
gate_checklist_essencial = [
|
|
480
|
-
"Problema claramente definido",
|
|
481
|
-
"MVP com funcionalidades listadas"
|
|
482
|
-
]
|
|
260
|
+
**Para consultar**: use `read_resource("maestro://especialista/gestao-produto")`
|
|
483
261
|
|
|
484
|
-
|
|
485
|
-
...gate_checklist_essencial,
|
|
486
|
-
"Personas identificadas",
|
|
487
|
-
"North Star Metric definida"
|
|
488
|
-
]
|
|
262
|
+
### Mapeamento Fase → Skill
|
|
489
263
|
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
264
|
+
**Fluxo Simples (7 fases)**:
|
|
265
|
+
1. Produto → `specialist-gestao-produto`
|
|
266
|
+
2. Requisitos → `specialist-engenharia-requisitos-ia`
|
|
267
|
+
3. UX Design → `specialist-ux-design`
|
|
268
|
+
4. Arquitetura → `specialist-arquitetura-software`
|
|
269
|
+
5. Backlog → `specialist-plano-execucao-ia`
|
|
270
|
+
6. Frontend → `specialist-desenvolvimento-frontend`
|
|
271
|
+
7. Backend → `specialist-desenvolvimento-backend`
|
|
272
|
+
|
|
273
|
+
**Fluxo Médio (13 fases)** insere:
|
|
274
|
+
- Modelo de Domínio → `specialist-modelagem-dominio`
|
|
275
|
+
- Banco de Dados → `specialist-banco-dados`
|
|
276
|
+
- Segurança → `specialist-seguranca-informacao`
|
|
277
|
+
- Testes → `specialist-analise-testes`
|
|
278
|
+
- Contrato API → `specialist-contrato-api`
|
|
279
|
+
- Integração → `specialist-devops-infra`
|
|
497
280
|
|
|
498
|
-
**
|
|
281
|
+
**Fluxo Complexo (17 fases)** adiciona:
|
|
282
|
+
- Arquitetura Avançada → `specialist-arquitetura-avancada`
|
|
283
|
+
- Performance → `specialist-performance-escalabilidade`
|
|
284
|
+
- Observabilidade → `specialist-observabilidade`
|
|
499
285
|
|
|
500
|
-
|
|
501
|
-
|
|
286
|
+
**Stitch (Opcional)** — Inserida após UX Design:
|
|
287
|
+
- Prototipagem → `specialist-prototipagem-stitch`
|
|
502
288
|
|
|
503
|
-
|
|
504
|
-
return "✅ Gate aprovado - Todos itens validados"
|
|
505
|
-
}
|
|
506
|
-
else if (score >= 70) {
|
|
507
|
-
return "⚠️ Gate aprovado com pendências - Pode avançar"
|
|
508
|
-
}
|
|
509
|
-
else {
|
|
510
|
-
return "🔴 Gate bloqueado - Necessário corrigir ou aprovar manualmente"
|
|
511
|
-
}
|
|
512
|
-
```
|
|
289
|
+
### Especialistas Complementares
|
|
513
290
|
|
|
514
|
-
|
|
291
|
+
Disponíveis sob demanda, fora do fluxo de fases:
|
|
292
|
+
- `specialist-dados-analytics-ia` — Dados e Analytics
|
|
293
|
+
- `specialist-acessibilidade` — Acessibilidade
|
|
294
|
+
- `specialist-debugging-troubleshooting` — Debugging
|
|
295
|
+
- `specialist-documentacao-tecnica` — Documentação
|
|
296
|
+
- `specialist-exploracao-codebase` — Análise de código existente
|
|
297
|
+
- `specialist-migracao-modernizacao` — Modernização de legado
|
|
515
298
|
|
|
516
|
-
|
|
299
|
+
### Regra de Ouro: Persona → Princípios → Template
|
|
517
300
|
|
|
518
301
|
```
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
validar_gate(fase_atual, entregavel)
|
|
522
|
-
↓
|
|
523
|
-
score >= 70?
|
|
524
|
-
├─ SIM → Avança automaticamente
|
|
525
|
-
└─ NÃO → BLOQUEIA + mostra pendências
|
|
302
|
+
❌ ERRADO: Ler especialista → Gerar conteúdo genérico
|
|
303
|
+
✅ CORRETO: Ler SKILL.md → Entender PRINCÍPIOS → Aplicar PERSONA → Usar TEMPLATE → Gerar
|
|
526
304
|
```
|
|
527
305
|
|
|
528
|
-
**
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
**Itens Validados** ✅:
|
|
534
|
-
- [item 1]
|
|
535
|
-
- [item 2]
|
|
306
|
+
**Antes de gerar qualquer entregável, validar internamente:**
|
|
307
|
+
1. Qual é o OBJETIVO desta fase?
|
|
308
|
+
2. Que PRINCÍPIOS o especialista aplica?
|
|
309
|
+
3. Que TEMPLATE usar?
|
|
310
|
+
4. Como isso DIFERE de output genérico?
|
|
536
311
|
|
|
537
|
-
|
|
538
|
-
- [pendência 1]
|
|
539
|
-
- [pendência 2]
|
|
312
|
+
---
|
|
540
313
|
|
|
541
|
-
|
|
542
|
-
1. Corrigir pendências e validar novamente
|
|
543
|
-
2. Solicitar aprovação manual (justificar)
|
|
544
|
-
```
|
|
314
|
+
## 🏗️ FLUXO DO PROJETO
|
|
545
315
|
|
|
546
|
-
|
|
316
|
+
### Classificação Automática (após PRD)
|
|
547
317
|
|
|
548
318
|
```
|
|
549
|
-
Usuário: "
|
|
319
|
+
Usuário: "próximo" (após PRD)
|
|
320
|
+
↓
|
|
321
|
+
MCP analisa PRD automaticamente
|
|
550
322
|
↓
|
|
551
|
-
|
|
323
|
+
MCP sugere: "Detectei 14 pontos → Nível MÉDIO (13 fases)"
|
|
552
324
|
↓
|
|
553
|
-
|
|
325
|
+
IA pergunta: "Confirmar classificação ou ajustar?"
|
|
554
326
|
↓
|
|
555
|
-
|
|
327
|
+
Usuário confirma
|
|
328
|
+
↓
|
|
329
|
+
MCP confirma e carrega Fase 2
|
|
556
330
|
```
|
|
557
331
|
|
|
558
|
-
|
|
332
|
+
| Nível | Fases | Quando |
|
|
333
|
+
|-------|-------|--------|
|
|
334
|
+
| Simples | 7 | POC, MVP, < 2 semanas |
|
|
335
|
+
| Médio | 13 | SaaS simples, 1-3 meses |
|
|
336
|
+
| Complexo | 17 | Multi-tenant, fintech, 3+ meses |
|
|
559
337
|
|
|
560
|
-
|
|
338
|
+
### Stitch (Opcional)
|
|
561
339
|
|
|
562
|
-
|
|
340
|
+
Quando o projeto tem UI/UX crítico:
|
|
341
|
+
```
|
|
342
|
+
Produto → Requisitos → UX Design → **Stitch** → Modelo → ...
|
|
343
|
+
```
|
|
563
344
|
|
|
564
|
-
|
|
345
|
+
### Frontend-First Protocol
|
|
565
346
|
|
|
566
|
-
|
|
567
|
-
// Iniciar novo projeto
|
|
568
|
-
iniciar_projeto(nome, descricao?, diretorio?)
|
|
569
|
-
→ Cria .maestro/, inicia Fase 1, carrega especialista
|
|
347
|
+
**Regra obrigatória para features com Frontend + Backend:**
|
|
570
348
|
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
349
|
+
```
|
|
350
|
+
1. CONT-001 (Contrato API) ← SEMPRE primeiro
|
|
351
|
+
├── openapi.yaml
|
|
352
|
+
├── types para FE/BE
|
|
353
|
+
└── Mock Server
|
|
574
354
|
|
|
575
|
-
|
|
576
|
-
classificar(nivel?, prd?, estado_json, diretorio)
|
|
577
|
-
→ Analisa e sugere nova classificação
|
|
355
|
+
2. FE + BE em paralelo (contra mocks)
|
|
578
356
|
|
|
579
|
-
|
|
580
|
-
confirmar_classificacao(nivel, tipo_artefato?, estado_json, diretorio)
|
|
581
|
-
→ Aplica nova classificação e ajusta fluxo
|
|
357
|
+
3. INT-001 (Integração) ← DEPOIS de FE + BE prontos
|
|
582
358
|
```
|
|
583
359
|
|
|
584
|
-
|
|
360
|
+
- ❌ NUNCA iniciar FE/BE sem contrato API validado
|
|
361
|
+
- ❌ NUNCA conectar FE com BE real sem ambos concluídos
|
|
585
362
|
|
|
586
|
-
|
|
587
|
-
// Avançar fase (salva + valida + próxima)
|
|
588
|
-
proximo(entregavel, estado_json, diretorio, forcar?, nome_arquivo?)
|
|
589
|
-
→ Persiste, valida gate, carrega próxima fase
|
|
590
|
-
|
|
591
|
-
// Validar gate antes de avançar
|
|
592
|
-
validar_gate(estado_json, diretorio, fase?, entregavel?)
|
|
593
|
-
→ Retorna score e checklist
|
|
363
|
+
---
|
|
594
364
|
|
|
595
|
-
|
|
596
|
-
aprovar_gate(acao: "aprovar" | "rejeitar", estado_json, diretorio)
|
|
597
|
-
→ Força avanço ou cancela
|
|
598
|
-
```
|
|
365
|
+
## 🛑 GATES ADAPTATIVOS
|
|
599
366
|
|
|
600
|
-
|
|
367
|
+
### Tiers de Rigor
|
|
601
368
|
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
369
|
+
| Tier | Quando | O que valida |
|
|
370
|
+
|------|--------|-------------|
|
|
371
|
+
| **Essencial** | POC, Script | Funciona? |
|
|
372
|
+
| **Base** | Internal, Product | Padrão indústria |
|
|
373
|
+
| **Avançado** | Product complexo | Estado da arte |
|
|
606
374
|
|
|
607
|
-
|
|
608
|
-
contexto(estado_json, diretorio)
|
|
609
|
-
→ Resumo + stack + modelo + arquitetura
|
|
375
|
+
### Protocolo de Gates
|
|
610
376
|
|
|
611
|
-
// Carregar projeto existente
|
|
612
|
-
carregar_projeto(estado_json, diretorio)
|
|
613
|
-
→ Retoma sessão
|
|
614
377
|
```
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
→ Persiste em docs/ ou .maestro/rascunhos/
|
|
378
|
+
executar({ acao: "avancar", entregavel: "..." })
|
|
379
|
+
↓
|
|
380
|
+
Validação automática (score 0-100)
|
|
381
|
+
↓
|
|
382
|
+
≥ 70 → Avança ✅
|
|
383
|
+
< 70 → BLOQUEADO 🔴 (mostra pendências)
|
|
622
384
|
```
|
|
623
385
|
|
|
624
|
-
**
|
|
386
|
+
**Quando bloqueado:**
|
|
387
|
+
1. Mostrar itens pendentes ao usuário
|
|
388
|
+
2. Sugerir correções baseadas no checklist
|
|
389
|
+
3. **AGUARDAR** aprovação explícita
|
|
390
|
+
4. ❌ NUNCA chamar `aprovar_gate` automaticamente
|
|
625
391
|
|
|
392
|
+
**Aprovação manual** (apenas quando o USUÁRIO solicitar):
|
|
626
393
|
```typescript
|
|
627
|
-
|
|
628
|
-
nova_feature(descricao, impacto_estimado?)
|
|
629
|
-
→ Inicia fluxo de 6 fases
|
|
630
|
-
|
|
631
|
-
// Corrigir bug
|
|
632
|
-
corrigir_bug(descricao, severidade?)
|
|
633
|
-
→ Inicia fluxo de debugging
|
|
634
|
-
|
|
635
|
-
// Refatorar
|
|
636
|
-
refatorar(area, motivo)
|
|
637
|
-
→ Inicia fluxo de refatoração
|
|
394
|
+
aprovar_gate({ acao: "aprovar", estado_json: "...", diretorio: "..." })
|
|
638
395
|
```
|
|
639
396
|
|
|
640
|
-
###
|
|
641
|
-
|
|
642
|
-
**SEMPRE passar `estado_json` e `diretorio`**:
|
|
397
|
+
### Limite de Retries
|
|
643
398
|
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
entregavel: "..."
|
|
648
|
-
})
|
|
649
|
-
|
|
650
|
-
// ✅ CORRETO
|
|
651
|
-
const estadoJson = await fs.readFile('.maestro/estado.json', 'utf-8');
|
|
652
|
-
await mcp_maestro_proximo({
|
|
653
|
-
entregavel: "...",
|
|
654
|
-
estado_json: estadoJson,
|
|
655
|
-
diretorio: process.cwd()
|
|
656
|
-
})
|
|
657
|
-
```
|
|
399
|
+
Após **3 tentativas** de validação sem atingir score mínimo:
|
|
400
|
+
- Apresentar opções ao usuário (aprovar, editar, ou re-tentar)
|
|
401
|
+
- ❌ NUNCA ficar em loop infinito de validação
|
|
658
402
|
|
|
659
403
|
---
|
|
660
404
|
|
|
661
|
-
##
|
|
405
|
+
## 🌐 REGRAS UNIVERSAIS
|
|
662
406
|
|
|
663
|
-
###
|
|
664
|
-
|
|
665
|
-
**
|
|
666
|
-
-
|
|
667
|
-
- "terminei", "pronto", "finalizado"
|
|
668
|
-
- "pode salvar", "está bom"
|
|
669
|
-
|
|
670
|
-
**Validação**:
|
|
671
|
-
- "validar", "posso avançar?", "checklist"
|
|
672
|
-
- "gate", "verificar"
|
|
673
|
-
|
|
674
|
-
**Consulta**:
|
|
675
|
-
- "status", "onde estou", "fase atual"
|
|
676
|
-
- "contexto", "resumo", "o que temos"
|
|
407
|
+
### Idioma
|
|
408
|
+
- **Respostas**: Sempre em português do Brasil
|
|
409
|
+
- **Código**: Variáveis, funções e comentários em inglês
|
|
410
|
+
- **Documentação**: Português (PRD, requisitos) ou inglês (código)
|
|
677
411
|
|
|
678
|
-
### Estrutura de Arquivos
|
|
412
|
+
### Estrutura de Arquivos do Projeto
|
|
679
413
|
|
|
680
414
|
```
|
|
681
415
|
projeto/
|
|
682
416
|
├── .maestro/
|
|
683
|
-
│ ├── estado.json
|
|
684
|
-
│ ├── resumo.json
|
|
685
|
-
│
|
|
417
|
+
│ ├── estado.json # ⭐ FONTE DA VERDADE
|
|
418
|
+
│ ├── resumo.json # Cache de contexto
|
|
419
|
+
│ ├── entregaveis/ # Drafts salvos
|
|
420
|
+
│ └── rascunhos/ # Salvamentos temporários
|
|
421
|
+
├── {skills_dir}/ # Skills locais (varia por IDE)
|
|
422
|
+
│ ├── specialist-gestao-produto/
|
|
423
|
+
│ ├── specialist-engenharia-requisitos-ia/
|
|
424
|
+
│ └── ...
|
|
686
425
|
├── docs/
|
|
687
|
-
│ ├── 01-produto/
|
|
688
|
-
│ ├── 02-requisitos/
|
|
426
|
+
│ ├── 01-produto/PRD.md
|
|
427
|
+
│ ├── 02-requisitos/requisitos.md
|
|
428
|
+
│ ├── 03-ux/design-doc.md
|
|
689
429
|
│ └── ...
|
|
690
430
|
└── src/
|
|
691
431
|
```
|
|
692
432
|
|
|
693
|
-
###
|
|
433
|
+
### Dados do Usuário
|
|
694
434
|
|
|
695
435
|
```
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
maestro://guia/{nome} # Guias práticos
|
|
699
|
-
maestro://prompt/{area}/{nome} # Prompts avançados
|
|
700
|
-
maestro://system-prompt # System prompt completo
|
|
436
|
+
❌ ERRADO: Inventar dados, métricas ou números
|
|
437
|
+
✅ CORRETO: Perguntar ao usuário e usar respostas REAIS
|
|
701
438
|
```
|
|
702
439
|
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|-------|-------|-------------|
|
|
707
|
-
| Simples | 7 | POC, MVP, < 2 semanas |
|
|
708
|
-
| Médio | 13 | SaaS simples, 1-3 meses |
|
|
709
|
-
| Complexo | 17 | Multi-tenant, fintech, 3+ meses |
|
|
710
|
-
|
|
711
|
-
### Tiers de Gates
|
|
712
|
-
|
|
713
|
-
| Tier | Projeto | Rigor |
|
|
714
|
-
|------|---------|-------|
|
|
715
|
-
| Essencial | POC, Script | Funciona? |
|
|
716
|
-
| Base | Internal, Product | Padrão indústria |
|
|
717
|
-
| Avançado | Product complexo | Estado da arte |
|
|
440
|
+
Se o usuário pedir "invente" ou "crie dados":
|
|
441
|
+
→ Responder: "Preciso que VOCÊ me conte. Seus dados reais geram um resultado muito melhor."
|
|
442
|
+
→ Oferecer exemplos para inspirar, mas NÃO usar como resposta
|
|
718
443
|
|
|
719
444
|
---
|
|
720
445
|
|
|
721
|
-
## 🎓
|
|
446
|
+
## 🎓 EXEMPLOS
|
|
722
447
|
|
|
723
448
|
### Exemplo 1: Iniciar Projeto
|
|
724
449
|
|
|
@@ -726,20 +451,16 @@ maestro://system-prompt # System prompt completo
|
|
|
726
451
|
User: "Quero criar um sistema de gestão de pedidos para restaurante"
|
|
727
452
|
|
|
728
453
|
AI:
|
|
729
|
-
🎯
|
|
730
|
-
|
|
731
|
-
Vou iniciar o projeto. Qual o nome?
|
|
454
|
+
🎯 Vou iniciar o projeto MCP Maestro.
|
|
732
455
|
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
AI: [chama iniciar_projeto]
|
|
456
|
+
[chama maestro({ acao: "criar_projeto", respostas: { nome: "RestaurantePro", descricao: "..." } })]
|
|
736
457
|
|
|
737
458
|
🎯 **Projeto Iniciado**
|
|
738
459
|
📁 Diretório: ./RestaurantePro
|
|
739
460
|
📋 Fase 1: Produto
|
|
740
461
|
🤖 Especialista: Gestão de Produto
|
|
741
462
|
|
|
742
|
-
|
|
463
|
+
Como Product Manager, preciso entender:
|
|
743
464
|
1. Qual problema específico estamos resolvendo?
|
|
744
465
|
2. Quem são os usuários principais?
|
|
745
466
|
3. Quais funcionalidades do MVP?
|
|
@@ -751,33 +472,18 @@ Vamos começar pelo PRD. Como Product Manager, preciso entender:
|
|
|
751
472
|
User: "Pronto, terminei o PRD"
|
|
752
473
|
|
|
753
474
|
AI: [lê estado.json]
|
|
754
|
-
|
|
755
|
-
Excelente! Vou salvar e validar o PRD.
|
|
756
|
-
|
|
757
|
-
[chama proximo(entregavel: "conteúdo do PRD", estado_json, diretorio)]
|
|
475
|
+
[chama executar({ acao: "avancar", entregavel: "<PRD completo>" })]
|
|
758
476
|
|
|
759
477
|
✅ **PRD Salvo**: docs/01-produto/PRD.md
|
|
760
478
|
|
|
761
|
-
📊 **Classificação
|
|
762
|
-
- Entidades detectadas: 5 (Pedido, Mesa, Cliente, Produto, Pagamento)
|
|
763
|
-
- Integrações: API Pagamento (1)
|
|
764
|
-
- Segurança: Auth mencionada (1)
|
|
765
|
-
- Escala: ~50 usuários (1)
|
|
766
|
-
- **Total: 14 pontos → Nível MÉDIO (13 fases)**
|
|
767
|
-
|
|
479
|
+
📊 **Classificação**: 14 pontos → Nível MÉDIO (13 fases)
|
|
768
480
|
Confirmar classificação?
|
|
769
481
|
|
|
770
|
-
User: "Sim
|
|
771
|
-
|
|
772
|
-
AI: [chama confirmar_classificacao]
|
|
773
|
-
|
|
774
|
-
✅ **Classificação Confirmada**
|
|
482
|
+
User: "Sim"
|
|
483
|
+
[chama confirmar_classificacao(...)]
|
|
775
484
|
|
|
776
485
|
🎯 **Fase 2: Requisitos**
|
|
777
|
-
🤖
|
|
778
|
-
📋 **Entregável**: requisitos.md
|
|
779
|
-
|
|
780
|
-
Como Engenheiro de Requisitos, vou elaborar...
|
|
486
|
+
🤖 Especialista: Engenharia de Requisitos
|
|
781
487
|
```
|
|
782
488
|
|
|
783
489
|
### Exemplo 3: Gate Bloqueado
|
|
@@ -785,21 +491,15 @@ Como Engenheiro de Requisitos, vou elaborar...
|
|
|
785
491
|
```markdown
|
|
786
492
|
User: "Próximo"
|
|
787
493
|
|
|
788
|
-
AI: [chama
|
|
494
|
+
AI: [chama executar({ acao: "avancar", entregavel: "..." })]
|
|
789
495
|
|
|
790
496
|
🔴 **Gate Bloqueado** (Score: 60/100)
|
|
791
497
|
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
- Requisitos não-funcionais definidos
|
|
498
|
+
✅ Requisitos funcionais com IDs
|
|
499
|
+
✅ Requisitos não-funcionais
|
|
795
500
|
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
- Matriz de rastreabilidade iniciada
|
|
799
|
-
|
|
800
|
-
**Sugestões**:
|
|
801
|
-
1. Adicionar cenários Gherkin para cada RF
|
|
802
|
-
2. Criar tabela RF → User Story
|
|
501
|
+
❌ Critérios de aceite em Gherkin
|
|
502
|
+
❌ Matriz de rastreabilidade
|
|
803
503
|
|
|
804
504
|
Deseja corrigir ou aprovar mesmo assim?
|
|
805
505
|
```
|
|
@@ -808,34 +508,35 @@ Deseja corrigir ou aprovar mesmo assim?
|
|
|
808
508
|
|
|
809
509
|
## 🔧 TROUBLESHOOTING
|
|
810
510
|
|
|
811
|
-
|
|
511
|
+
| Problema | Causa | Solução |
|
|
512
|
+
|----------|-------|---------|
|
|
513
|
+
| Tool retorna erro | Faltou `estado_json` | Ler `.maestro/estado.json` primeiro |
|
|
514
|
+
| Especialista errado | Não verificou `fase_atual` | Checar estado.json antes de carregar |
|
|
515
|
+
| Gate sempre falhando | Entregável vazio ou mal formatado | Salvar como arquivo + validar `docs/{fase}/` |
|
|
516
|
+
| Score PRD 15/100 | Newlines escapados de JSON | MCP normaliza automaticamente |
|
|
517
|
+
| Loop infinito | Retry sem limite | Limite de 3 retries |
|
|
812
518
|
|
|
813
|
-
|
|
519
|
+
---
|
|
814
520
|
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
// Passar em TODOS os tools
|
|
819
|
-
```
|
|
521
|
+
## 📋 QUICK REFERENCE
|
|
522
|
+
|
|
523
|
+
### Comando → Tool
|
|
820
524
|
|
|
821
|
-
|
|
525
|
+
| Usuário diz | Tool | Args |
|
|
526
|
+
|-------------|------|------|
|
|
527
|
+
| "criar projeto" | `maestro` | `acao: "criar_projeto"` |
|
|
528
|
+
| "próximo" / "avançar" | `executar` | `acao: "avancar"` |
|
|
529
|
+
| "status" | `maestro` | — |
|
|
530
|
+
| "validar" | `validar` | — |
|
|
531
|
+
| "salvar" | `executar` | `acao: "salvar"` |
|
|
532
|
+
| "contexto" | `contexto` | — |
|
|
533
|
+
| "analisar" | `analisar` | — |
|
|
822
534
|
|
|
823
|
-
|
|
535
|
+
### Parâmetro Obrigatório
|
|
824
536
|
|
|
825
|
-
**Solução**:
|
|
826
537
|
```typescript
|
|
827
|
-
|
|
828
|
-
|
|
538
|
+
// Em TODAS as tools, SEMPRE passar:
|
|
539
|
+
{ diretorio: "/caminho/absoluto/do/projeto" }
|
|
829
540
|
```
|
|
830
541
|
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
**Causa**: Checklist muito rigoroso para o tier
|
|
834
|
-
|
|
835
|
-
**Solução**: Verificar `tier_gate` do projeto e ajustar critérios
|
|
836
|
-
|
|
837
|
-
---
|
|
838
|
-
|
|
839
|
-
**Versão**: 1.0.0
|
|
840
|
-
**Última Atualização**: 2026-01-23
|
|
841
|
-
**Sistema**: MCP Maestro
|
|
542
|
+
O `estado_json` é opcional (carrega automaticamente), mas recomendado para performance.
|