@maestro-ai/cli 1.1.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/README.md +84 -54
- package/content/guides/fases-mapeamento.md +34 -0
- 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/multi-ide.md +32 -0
- package/content/guides/playbook-orquestrador.md +45 -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 -0
- package/content/rules/security-rules.md +40 -0
- package/content/rules/structure-rules.md +63 -0
- package/content/rules/validation-rules.md +56 -0
- package/content/templates/estado-template.json +73 -0
- package/content/workflows/00-maestro.md +78 -0
- package/content/workflows/01-iniciar-projeto.md +59 -0
- package/content/workflows/02-avancar-fase.md +72 -0
- package/content/workflows/03-continuar-fase.md +64 -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.d.ts +2 -2
- package/dist/commands/init.js +89 -76
- package/dist/index.js +94 -5
- package/package.json +10 -4
- package/content/workflows/README-MCP.md +0 -363
- package/content/workflows/brainstorm.md +0 -113
- package/content/workflows/create.md +0 -59
- package/content/workflows/debug.md +0 -103
- package/content/workflows/enhance.md +0 -63
- package/content/workflows/mcp-debug.md +0 -506
- package/content/workflows/mcp-feature.md +0 -385
- package/content/workflows/mcp-gate.md +0 -413
- package/content/workflows/mcp-next.md +0 -388
- package/content/workflows/mcp-refactor.md +0 -600
- package/content/workflows/mcp-start.md +0 -304
- package/content/workflows/mcp-status.md +0 -400
- package/content/workflows/orchestrate.md +0 -237
- package/content/workflows/plan.md +0 -89
- package/content/workflows/preview.md +0 -81
- package/content/workflows/status.md +0 -86
- package/content/workflows/test.md +0 -144
- package/content/workflows/ui-ux-pro-max.md +0 -296
- /package/content/workflows/{deploy.md → 08-deploy-projeto.md} +0 -0
|
@@ -1,385 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Adicionar nova feature com fluxo estruturado (Análise → Implementação → Deploy)
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
# /mcp-feature - Nova Feature MCP
|
|
6
|
-
|
|
7
|
-
$ARGUMENTS
|
|
8
|
-
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
## Objetivo
|
|
12
|
-
|
|
13
|
-
Adicionar nova funcionalidade em projeto existente usando fluxo estruturado de 6 fases do MCP Maestro.
|
|
14
|
-
|
|
15
|
-
---
|
|
16
|
-
|
|
17
|
-
## Quando Usar
|
|
18
|
-
|
|
19
|
-
- Adicionar feature em produto já existente
|
|
20
|
-
- Feature que impacta arquitetura, modelo ou API
|
|
21
|
-
- Feature que precisa de análise de impacto
|
|
22
|
-
|
|
23
|
-
**NÃO usar para:**
|
|
24
|
-
- Correção de bugs → Use `/mcp-debug`
|
|
25
|
-
- Melhorias de código → Use `/mcp-refactor`
|
|
26
|
-
- Novo projeto → Use `/mcp-start`
|
|
27
|
-
|
|
28
|
-
---
|
|
29
|
-
|
|
30
|
-
## Fluxo de 6 Fases
|
|
31
|
-
|
|
32
|
-
```
|
|
33
|
-
1. Análise de Impacto
|
|
34
|
-
↓
|
|
35
|
-
2. Refinamento de Requisitos
|
|
36
|
-
↓
|
|
37
|
-
3. Design/Arquitetura
|
|
38
|
-
↓
|
|
39
|
-
4. Implementação (Contrato → FE/BE paralelo → Integração)
|
|
40
|
-
↓
|
|
41
|
-
5. Testes
|
|
42
|
-
↓
|
|
43
|
-
6. Deploy
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
---
|
|
47
|
-
|
|
48
|
-
## Execução
|
|
49
|
-
|
|
50
|
-
### Passo 1: Coleta de Informações
|
|
51
|
-
|
|
52
|
-
**Perguntar ao usuário:**
|
|
53
|
-
|
|
54
|
-
```markdown
|
|
55
|
-
🆕 **Nova Feature**
|
|
56
|
-
|
|
57
|
-
1. Descreva a funcionalidade a ser adicionada:
|
|
58
|
-
[Exemplo: Sistema de notificações push para usuários]
|
|
59
|
-
|
|
60
|
-
2. Qual o impacto estimado?
|
|
61
|
-
- **baixo**: Pequena mudança, sem impacto em arquitetura
|
|
62
|
-
- **médio**: Mudança moderada, pode afetar alguns módulos
|
|
63
|
-
- **alto**: Grande mudança, afeta arquitetura core
|
|
64
|
-
|
|
65
|
-
Escolha: [baixo/médio/alto]
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
**Se forneceu argumentos:**
|
|
69
|
-
|
|
70
|
-
```bash
|
|
71
|
-
/mcp-feature Sistema de notificações push
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
→ Usar como descrição, pedir apenas impacto
|
|
75
|
-
|
|
76
|
-
---
|
|
77
|
-
|
|
78
|
-
### Passo 2: Iniciar Fluxo de Feature
|
|
79
|
-
|
|
80
|
-
```typescript
|
|
81
|
-
await mcp_maestro_nova_feature({
|
|
82
|
-
descricao: "[descrição fornecida]",
|
|
83
|
-
impacto_estimado: "[baixo/médio/alto]"
|
|
84
|
-
});
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
**MCP cria contexto separado para a feature e retorna:**
|
|
88
|
-
|
|
89
|
-
```json
|
|
90
|
-
{
|
|
91
|
-
"feature_id": "FEAT-001",
|
|
92
|
-
"fases": [
|
|
93
|
-
"Análise de Impacto",
|
|
94
|
-
"Refinamento",
|
|
95
|
-
"Design",
|
|
96
|
-
"Implementação",
|
|
97
|
-
"Testes",
|
|
98
|
-
"Deploy"
|
|
99
|
-
],
|
|
100
|
-
"fase_atual": 1
|
|
101
|
-
}
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
---
|
|
105
|
-
|
|
106
|
-
### Passo 3: Fase 1 - Análise de Impacto
|
|
107
|
-
|
|
108
|
-
**Apresentar:**
|
|
109
|
-
|
|
110
|
-
```markdown
|
|
111
|
-
✅ **Fluxo de Feature Iniciado** (FEAT-001)
|
|
112
|
-
|
|
113
|
-
---
|
|
114
|
-
|
|
115
|
-
🎯 **Fase 1/6: Análise de Impacto**
|
|
116
|
-
🤖 **Especialista:** Arquitetura de Software
|
|
117
|
-
|
|
118
|
-
## Análise de Impacto
|
|
119
|
-
|
|
120
|
-
Antes de implementar, vamos analisar:
|
|
121
|
-
|
|
122
|
-
1. **Modelo de Dados** - Novas entidades ou alterações?
|
|
123
|
-
- Tabelas afetadas:
|
|
124
|
-
- Novos campos:
|
|
125
|
-
- Relacionamentos:
|
|
126
|
-
|
|
127
|
-
2. **APIs** - Novos endpoints ou mudanças?
|
|
128
|
-
- Endpoints novos:
|
|
129
|
-
- Endpoints modificados:
|
|
130
|
-
- Breaking changes:
|
|
131
|
-
|
|
132
|
-
3. **Arquitetura** - Novos serviços ou refatorações?
|
|
133
|
-
- Novos módulos:
|
|
134
|
-
- Dependências:
|
|
135
|
-
- Integrações externas:
|
|
136
|
-
|
|
137
|
-
4. **Frontend** - Componentes e páginas?
|
|
138
|
-
- Novos componentes:
|
|
139
|
-
- Páginas afetadas:
|
|
140
|
-
- Mudanças de UX:
|
|
141
|
-
|
|
142
|
-
Vamos começar. Que **entidades** ou **tabelas** serão afetadas?
|
|
143
|
-
```
|
|
144
|
-
|
|
145
|
-
---
|
|
146
|
-
|
|
147
|
-
### Passo 4: Avançar Entre Fases (Frontend-First)
|
|
148
|
-
|
|
149
|
-
**Usar `/mcp-next` para cada fase:**
|
|
150
|
-
|
|
151
|
-
```
|
|
152
|
-
Fase 1: Análise ✅
|
|
153
|
-
↓ /mcp-next
|
|
154
|
-
Fase 2: Requisitos ✅
|
|
155
|
-
↓ /mcp-next
|
|
156
|
-
Fase 3: Design ✅
|
|
157
|
-
✓ Gera: Contrato de API (OpenAPI)
|
|
158
|
-
↓ /mcp-next
|
|
159
|
-
Fase 4: Implementação
|
|
160
|
-
├─ US-001-CONT (Contrato) ✅
|
|
161
|
-
├─ US-001-FE (Frontend) 🔄 ← Paralelo
|
|
162
|
-
├─ US-001-BE (Backend) 🔄 ← Paralelo
|
|
163
|
-
└─ INT-001 (Integração) ⏳ ← Após FE+BE
|
|
164
|
-
↓ /mcp-next
|
|
165
|
-
Fase 5: Testes ✅
|
|
166
|
-
↓ /mcp-next
|
|
167
|
-
Fase 6: Deploy ✅
|
|
168
|
-
```
|
|
169
|
-
|
|
170
|
-
**Protocolo Frontend-First:**
|
|
171
|
-
|
|
172
|
-
1. **Contrato primeiro** (CONT-001)
|
|
173
|
-
- Gera OpenAPI YAML
|
|
174
|
-
- Gera types para FE e BE
|
|
175
|
-
- Gera mock server
|
|
176
|
-
|
|
177
|
-
2. **FE e BE em paralelo**
|
|
178
|
-
- Frontend desenvolve contra mock
|
|
179
|
-
- Backend implementa contrato
|
|
180
|
-
- Ambos seguem types gerados
|
|
181
|
-
|
|
182
|
-
3. **Integração no final**
|
|
183
|
-
- Remove mocks
|
|
184
|
-
- Conecta FE com BE real
|
|
185
|
-
- Testes E2E
|
|
186
|
-
|
|
187
|
-
---
|
|
188
|
-
|
|
189
|
-
### Passo 5: Implementar História
|
|
190
|
-
|
|
191
|
-
**Na Fase 4 (Implementação):**
|
|
192
|
-
|
|
193
|
-
```typescript
|
|
194
|
-
// Contrato
|
|
195
|
-
await mcp_maestro_implementar_historia({
|
|
196
|
-
historia_id: "US-001-CONT",
|
|
197
|
-
modo: "iniciar"
|
|
198
|
-
});
|
|
199
|
-
|
|
200
|
-
// Frontend (pode iniciar em paralelo após contrato)
|
|
201
|
-
await mcp_maestro_implementar_historia({
|
|
202
|
-
historia_id: "US-001-FE",
|
|
203
|
-
modo: "iniciar"
|
|
204
|
-
});
|
|
205
|
-
|
|
206
|
-
// Backend (pode iniciar em paralelo após contrato)
|
|
207
|
-
await mcp_maestro_implementar_historia({
|
|
208
|
-
historia_id: "US-001-BE",
|
|
209
|
-
modo: "iniciar"
|
|
210
|
-
});
|
|
211
|
-
|
|
212
|
-
// Integração (somente após FE e BE finalizados)
|
|
213
|
-
await mcp_maestro_implementar_historia({
|
|
214
|
-
historia_id: "INT-001",
|
|
215
|
-
modo: "iniciar"
|
|
216
|
-
});
|
|
217
|
-
```
|
|
218
|
-
|
|
219
|
-
---
|
|
220
|
-
|
|
221
|
-
## Exemplos de Uso
|
|
222
|
-
|
|
223
|
-
### Exemplo 1: Feature Simples (Impacto Baixo)
|
|
224
|
-
|
|
225
|
-
```
|
|
226
|
-
User: /mcp-feature Adicionar filtro de data na listagem de pedidos
|
|
227
|
-
|
|
228
|
-
AI: Qual o impacto estimado? (baixo/médio/alto)
|
|
229
|
-
|
|
230
|
-
User: baixo
|
|
231
|
-
|
|
232
|
-
AI: ✅ Fluxo de Feature Iniciado (FEAT-001)
|
|
233
|
-
|
|
234
|
-
🎯 Fase 1/6: Análise de Impacto
|
|
235
|
-
|
|
236
|
-
## Análise Rápida
|
|
237
|
-
|
|
238
|
-
Impacto baixo detectado. Feature simples:
|
|
239
|
-
- Frontend: Adicionar DatePicker component
|
|
240
|
-
- Backend: Adicionar parâmetro `?date_from` e `?date_to` em GET /orders
|
|
241
|
-
- Banco: Sem mudanças (usa índice existente)
|
|
242
|
-
|
|
243
|
-
Correto? Vamos para refinamento?
|
|
244
|
-
|
|
245
|
-
User: Sim
|
|
246
|
-
|
|
247
|
-
AI: [Avança para Fase 2 com /mcp-next]
|
|
248
|
-
```
|
|
249
|
-
|
|
250
|
-
### Exemplo 2: Feature Complexa (Impacto Alto)
|
|
251
|
-
|
|
252
|
-
```
|
|
253
|
-
User: /mcp-feature Sistema de notificações push em tempo real
|
|
254
|
-
|
|
255
|
-
AI: Qual o impacto estimado?
|
|
256
|
-
|
|
257
|
-
User: alto
|
|
258
|
-
|
|
259
|
-
AI: ✅ Fluxo de Feature Iniciado (FEAT-002)
|
|
260
|
-
|
|
261
|
-
🎯 Fase 1/6: Análise de Impacto
|
|
262
|
-
|
|
263
|
-
## Análise Profunda Necessária
|
|
264
|
-
|
|
265
|
-
Impacto alto detectado. Feature complexa:
|
|
266
|
-
|
|
267
|
-
**Modelo de Dados:**
|
|
268
|
-
- Nova tabela: `notifications`
|
|
269
|
-
- Novo relacionamento: `users` ← `notifications`
|
|
270
|
-
|
|
271
|
-
**Arquitetura:**
|
|
272
|
-
- Novo serviço: `NotificationService`
|
|
273
|
-
- Integração: Firebase Cloud Messaging (FCM)
|
|
274
|
-
- Infraestrutura: WebSocket server
|
|
275
|
-
|
|
276
|
-
**Frontend:**
|
|
277
|
-
- Service Worker para push
|
|
278
|
-
- Componente NotificationBell
|
|
279
|
-
- Página de configurações
|
|
280
|
-
|
|
281
|
-
**Backend:**
|
|
282
|
-
- Endpoints: POST /notifications, GET /notifications
|
|
283
|
-
- Job: NotificationDispatcherJob
|
|
284
|
-
|
|
285
|
-
Vamos detalhar cada parte. Começando pelo modelo de dados...
|
|
286
|
-
```
|
|
287
|
-
|
|
288
|
-
---
|
|
289
|
-
|
|
290
|
-
## Comandos Relacionados
|
|
291
|
-
|
|
292
|
-
```
|
|
293
|
-
/mcp-feature [descrição] → Inicia fluxo de feature
|
|
294
|
-
/mcp-next → Avança entre fases
|
|
295
|
-
/mcp-status → Ver status da feature
|
|
296
|
-
/mcp-debug → Se bug aparecer durante feature
|
|
297
|
-
```
|
|
298
|
-
|
|
299
|
-
---
|
|
300
|
-
|
|
301
|
-
## Estrutura de Arquivos Gerados
|
|
302
|
-
|
|
303
|
-
```
|
|
304
|
-
docs/
|
|
305
|
-
├── features/
|
|
306
|
-
│ └── FEAT-001-filtro-data/
|
|
307
|
-
│ ├── 01-impacto.md
|
|
308
|
-
│ ├── 02-requisitos.md
|
|
309
|
-
│ ├── 03-design.md
|
|
310
|
-
│ ├── 04-contrato.yaml
|
|
311
|
-
│ ├── 05-plano-testes.md
|
|
312
|
-
│ └── 06-deploy-plan.md
|
|
313
|
-
```
|
|
314
|
-
|
|
315
|
-
---
|
|
316
|
-
|
|
317
|
-
## Regras Críticas
|
|
318
|
-
|
|
319
|
-
### ✅ SEMPRE:
|
|
320
|
-
|
|
321
|
-
1. Fazer análise de impacto antes de implementar
|
|
322
|
-
2. Gerar contrato de API antes de FE/BE
|
|
323
|
-
3. Testar integração após FE+BE prontos
|
|
324
|
-
4. Documentar mudanças em ADR se impacto alto
|
|
325
|
-
|
|
326
|
-
### ❌ NUNCA:
|
|
327
|
-
|
|
328
|
-
1. Pular análise de impacto (Fase 1)
|
|
329
|
-
2. Implementar FE/BE antes do contrato
|
|
330
|
-
3. Fazer breaking changes sem versionamento de API
|
|
331
|
-
4. Deploy sem testes E2E
|
|
332
|
-
|
|
333
|
-
---
|
|
334
|
-
|
|
335
|
-
## Frontend-First Protocol
|
|
336
|
-
|
|
337
|
-
> [!TIP]
|
|
338
|
-
> **Para features que envolvem Frontend + Backend:**
|
|
339
|
-
>
|
|
340
|
-
> ```
|
|
341
|
-
> 1. CONT (Contrato API)
|
|
342
|
-
> ├── Gera: openapi.yaml
|
|
343
|
-
> ├── Gera: types (FE + BE)
|
|
344
|
-
> └── Gera: Mock Server
|
|
345
|
-
>
|
|
346
|
-
> 2. Paralelo ⚡
|
|
347
|
-
> ├── FE (contra mock)
|
|
348
|
-
> └── BE (implementa contrato)
|
|
349
|
-
>
|
|
350
|
-
> 3. INT (Integração)
|
|
351
|
-
> ├── Remove mocks
|
|
352
|
-
> ├── Conecta FE ↔ BE real
|
|
353
|
-
> └── Testes E2E
|
|
354
|
-
> ```
|
|
355
|
-
|
|
356
|
-
---
|
|
357
|
-
|
|
358
|
-
## Troubleshooting
|
|
359
|
-
|
|
360
|
-
### Feature Muito Grande
|
|
361
|
-
|
|
362
|
-
**Sintoma:** Fase de implementação com 20+ histórias
|
|
363
|
-
|
|
364
|
-
**Solução:** Quebrar em features menores (épicos):
|
|
365
|
-
|
|
366
|
-
```
|
|
367
|
-
FEAT-001: Sistema de Notificações (Épico)
|
|
368
|
-
├─ FEAT-001-A: Backend (API + Jobs)
|
|
369
|
-
├─ FEAT-001-B: Frontend (UI)
|
|
370
|
-
└─ FEAT-001-C: Integração (Push)
|
|
371
|
-
|
|
372
|
-
Implementar um por vez com /mcp-feature
|
|
373
|
-
```
|
|
374
|
-
|
|
375
|
-
### Conflito com Feature em Andamento
|
|
376
|
-
|
|
377
|
-
**Sintoma:** Duas features modificando mesma área
|
|
378
|
-
|
|
379
|
-
**Solução:** Finalizar uma antes de iniciar outra, ou:
|
|
380
|
-
|
|
381
|
-
```
|
|
382
|
-
1. Criar branch separada para cada feature
|
|
383
|
-
2. Definir ordem de merge (feature A → main → feature B merge)
|
|
384
|
-
3. Coordenar com /mcp-status para ver dependências
|
|
385
|
-
```
|