@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,530 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Correção de bugs com fluxo estruturado (Reprodução → Análise → Fix → Regressão)
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
# /corrigir-bug - Correção de Bug Maestro
|
|
6
|
-
|
|
7
|
-
$ARGUMENTS
|
|
8
|
-
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
## Integração com o Maestro
|
|
12
|
-
|
|
13
|
-
1. Execute `/maestro` antes para garantir que o estado está sincronizado e detectar bloqueios ativos.
|
|
14
|
-
2. Crie helpers mentais para ler e salvar estado:
|
|
15
|
-
```javascript
|
|
16
|
-
const estado = lerJson('.maestro/estado.json');
|
|
17
|
-
function salvarEstado(next) {
|
|
18
|
-
escreverJson('.maestro/estado.json', next, { spaces: 2 });
|
|
19
|
-
}
|
|
20
|
-
```
|
|
21
|
-
3. Sempre passe `estado_json` para qualquer tool MCP que for invocado e registre eventos no `estado.historico` (`acao: "bug_iniciado"`, `bug_id`, `severidade`).
|
|
22
|
-
4. Use `content/guides/fases-mapeamento.md` para carregar especialistas, prompts e templates de apoio (Debugging, DevOps, Testes, etc.).
|
|
23
|
-
|
|
24
|
-
---
|
|
25
|
-
|
|
26
|
-
## Objetivo
|
|
27
|
-
|
|
28
|
-
Corrigir bugs de forma estruturada usando fluxo de 4 fases do MCP Maestro, com análise de causa raiz e testes de regressão.
|
|
29
|
-
|
|
30
|
-
---
|
|
31
|
-
|
|
32
|
-
## Quando Usar
|
|
33
|
-
|
|
34
|
-
- Bug reportado em produção ou desenvolvimento
|
|
35
|
-
- Comportamento inesperado que precisa investigação
|
|
36
|
-
- Erro que requer análise sistemática
|
|
37
|
-
|
|
38
|
-
**NÃO usar para:**
|
|
39
|
-
- Nova funcionalidade → Use `/nova-feature`
|
|
40
|
-
- Refatoração de código → Use `/refatorar-codigo`
|
|
41
|
-
|
|
42
|
-
---
|
|
43
|
-
|
|
44
|
-
## Fluxo de 4 Fases
|
|
45
|
-
|
|
46
|
-
```
|
|
47
|
-
1. Reprodução do Bug
|
|
48
|
-
↓
|
|
49
|
-
2. Análise de Causa Raiz
|
|
50
|
-
↓
|
|
51
|
-
3. Fix + Testes de Regressão
|
|
52
|
-
↓
|
|
53
|
-
4. Deploy
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
---
|
|
57
|
-
|
|
58
|
-
## Execução
|
|
59
|
-
|
|
60
|
-
### Passo 1: Coleta de Informações
|
|
61
|
-
|
|
62
|
-
**Perguntar ao usuário:**
|
|
63
|
-
|
|
64
|
-
```markdown
|
|
65
|
-
🐛 **Correção de Bug**
|
|
66
|
-
|
|
67
|
-
1. Descreva o bug:
|
|
68
|
-
[Exemplo: Pedido duplicado ao clicar rapidamente no botão "Finalizar"]
|
|
69
|
-
|
|
70
|
-
2. Severidade do bug:
|
|
71
|
-
- **critica**: Sistema inoperante, perda de dados
|
|
72
|
-
- **alta**: Feature principal não funciona
|
|
73
|
-
- **media**: Feature secundária afetada
|
|
74
|
-
- **baixa**: Cosmético, sem impacto funcional
|
|
75
|
-
|
|
76
|
-
Escolha: [critica/alta/media/baixa]
|
|
77
|
-
|
|
78
|
-
3. (Opcional) Como reproduzir:
|
|
79
|
-
[Passos para reproduzir o bug]
|
|
80
|
-
|
|
81
|
-
4. (Opcional) Stack trace ou logs:
|
|
82
|
-
[Cole aqui se disponível]
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
---
|
|
86
|
-
|
|
87
|
-
### Passo 2: Iniciar Fluxo de Debugging
|
|
88
|
-
|
|
89
|
-
> [!IMPORTANT]
|
|
90
|
-
> **Protocolo stateless:** carregar `.maestro/estado.json` do disco antes de qualquer chamada.
|
|
91
|
-
|
|
92
|
-
```typescript
|
|
93
|
-
const estadoJson = lerArquivo('.maestro/estado.json');
|
|
94
|
-
|
|
95
|
-
await mcp_maestro_corrigir_bug({
|
|
96
|
-
descricao: "[descrição fornecida]",
|
|
97
|
-
severidade: "[critica/alta/media/baixa]",
|
|
98
|
-
ticket_id: "[opcional: JIRA-123]",
|
|
99
|
-
estado_json: estadoJson,
|
|
100
|
-
diretorio: process.cwd()
|
|
101
|
-
});
|
|
102
|
-
|
|
103
|
-
salvarEstado(registrarHistorico(estado, { acao: 'bug_iniciado', severidade }));
|
|
104
|
-
```
|
|
105
|
-
|
|
106
|
-
**MCP cria contexto de bug e retorna:**
|
|
107
|
-
|
|
108
|
-
```json
|
|
109
|
-
{
|
|
110
|
-
"bug_id": "BUG-001",
|
|
111
|
-
"fases": [
|
|
112
|
-
"Reprodução",
|
|
113
|
-
"Análise de Causa Raiz",
|
|
114
|
-
"Fix + Regressão",
|
|
115
|
-
"Deploy"
|
|
116
|
-
],
|
|
117
|
-
"fase_atual": 1,
|
|
118
|
-
"prioridade": "[baseada na severidade]"
|
|
119
|
-
}
|
|
120
|
-
```
|
|
121
|
-
|
|
122
|
-
---
|
|
123
|
-
|
|
124
|
-
### Passo 3: Fase 1 - Reprodução do Bug
|
|
125
|
-
|
|
126
|
-
**Apresentar:**
|
|
127
|
-
|
|
128
|
-
```markdown
|
|
129
|
-
✅ **Fluxo de Debugging Iniciado** (BUG-001)
|
|
130
|
-
🚨 **Severidade:** [critica/alta/media/baixa]
|
|
131
|
-
|
|
132
|
-
---
|
|
133
|
-
|
|
134
|
-
🎯 **Fase 1/4: Reprodução do Bug**
|
|
135
|
-
🤖 **Especialista:** Debugging e Troubleshooting
|
|
136
|
-
|
|
137
|
-
## Reprodução Sistemática
|
|
138
|
-
|
|
139
|
-
Vamos reproduzir o bug de forma controlada:
|
|
140
|
-
|
|
141
|
-
1. **Ambiente**
|
|
142
|
-
- Onde ocorre: [dev/staging/prod]
|
|
143
|
-
- Versão: [commit/tag]
|
|
144
|
-
- Browser/Device: [se aplicável]
|
|
145
|
-
|
|
146
|
-
2. **Passos para Reproduzir**
|
|
147
|
-
1. [Passo 1]
|
|
148
|
-
2. [Passo 2]
|
|
149
|
-
3. [Passo 3]
|
|
150
|
-
|
|
151
|
-
3. **Comportamento Esperado**
|
|
152
|
-
- [O que deveria acontecer]
|
|
153
|
-
|
|
154
|
-
4. **Comportamento Atual**
|
|
155
|
-
- [O que está acontecendo]
|
|
156
|
-
|
|
157
|
-
5. **Evidências**
|
|
158
|
-
- Screenshots: [urls se disponível]
|
|
159
|
-
- Logs: [trechos relevantes]
|
|
160
|
-
- Network: [requests falhando]
|
|
161
|
-
|
|
162
|
-
Conseguiu reproduzir o bug? (S/N)
|
|
163
|
-
```
|
|
164
|
-
|
|
165
|
-
---
|
|
166
|
-
|
|
167
|
-
### Passo 4: Fase 2 - Análise de Causa Raiz
|
|
168
|
-
|
|
169
|
-
**Carregar especialista de Debugging:**
|
|
170
|
-
|
|
171
|
-
```typescript
|
|
172
|
-
const especialista = await fetch('maestro://especialista/debugging-troubleshooting');
|
|
173
|
-
```
|
|
174
|
-
|
|
175
|
-
**Apresentar:**
|
|
176
|
-
|
|
177
|
-
```markdown
|
|
178
|
-
🎯 **Fase 2/4: Análise de Causa Raiz**
|
|
179
|
-
|
|
180
|
-
## Investigação Sistemática
|
|
181
|
-
|
|
182
|
-
### Hipóteses Possíveis
|
|
183
|
-
|
|
184
|
-
Baseado nos sintomas, lista de causas prováveis:
|
|
185
|
-
|
|
186
|
-
1. ❓ **[Hipótese 1 - Mais provável]**
|
|
187
|
-
- Evidência: [log/código que apoia]
|
|
188
|
-
- Como testar: [validação]
|
|
189
|
-
|
|
190
|
-
2. ❓ **[Hipótese 2]**
|
|
191
|
-
- Evidência: [...]
|
|
192
|
-
- Como testar: [...]
|
|
193
|
-
|
|
194
|
-
3. ❓ **[Hipótese 3 - Menos provável]**
|
|
195
|
-
- Evidência: [...]
|
|
196
|
-
- Como testar: [...]
|
|
197
|
-
|
|
198
|
-
### Análise de Código
|
|
199
|
-
|
|
200
|
-
Arquivos suspeitos:
|
|
201
|
-
- `[arquivo1.ts]` - [motivo]
|
|
202
|
-
- `[arquivo2.ts]` - [motivo]
|
|
203
|
-
|
|
204
|
-
Vamos investigar a hipótese 1. [Análise detalhada do código]
|
|
205
|
-
```
|
|
206
|
-
|
|
207
|
-
**Processo de eliminação:**
|
|
208
|
-
|
|
209
|
-
```markdown
|
|
210
|
-
**Testando Hipótese 1:** [descrição]
|
|
211
|
-
|
|
212
|
-
[Análise do código/logs]
|
|
213
|
-
|
|
214
|
-
**Resultado:** ✅ Confirmada / ❌ Descartada
|
|
215
|
-
|
|
216
|
-
---
|
|
217
|
-
|
|
218
|
-
🎯 **Causa Raiz Identificada:**
|
|
219
|
-
|
|
220
|
-
[Explicação detalhada do problema]
|
|
221
|
-
|
|
222
|
-
**Por que aconteceu:**
|
|
223
|
-
- [Motivo 1]
|
|
224
|
-
- [Motivo 2]
|
|
225
|
-
|
|
226
|
-
**Onde está o bug:**
|
|
227
|
-
- Arquivo: `[caminho/arquivo.ts]`
|
|
228
|
-
- Linha: [numero]
|
|
229
|
-
- Função: `[nomeFuncao]`
|
|
230
|
-
```
|
|
231
|
-
|
|
232
|
-
---
|
|
233
|
-
|
|
234
|
-
### Passo 5: Fase 3 - Fix + Testes de Regressão
|
|
235
|
-
|
|
236
|
-
**Apresentar:**
|
|
237
|
-
|
|
238
|
-
```markdown
|
|
239
|
-
🎯 **Fase 3/4: Fix + Testes de Regressão**
|
|
240
|
-
|
|
241
|
-
## Correção Proposta
|
|
242
|
-
|
|
243
|
-
```[linguagem]
|
|
244
|
-
// ❌ ANTES (com bug)
|
|
245
|
-
[código com problema]
|
|
246
|
-
|
|
247
|
-
// ✅ DEPOIS (corrigido)
|
|
248
|
-
[código corrigido]
|
|
249
|
-
```
|
|
250
|
-
|
|
251
|
-
**Explicação da correção:**
|
|
252
|
-
[Por que isso resolve o problema]
|
|
253
|
-
|
|
254
|
-
---
|
|
255
|
-
|
|
256
|
-
## Testes de Regressão
|
|
257
|
-
|
|
258
|
-
Para garantir que o fix funciona E não quebra nada:
|
|
259
|
-
|
|
260
|
-
### 1. Teste Unitário (Novo)
|
|
261
|
-
|
|
262
|
-
```[linguagem]
|
|
263
|
-
describe('[NomeDaFuncao]', () => {
|
|
264
|
-
it('should [comportamento esperado]', () => {
|
|
265
|
-
// Arrange
|
|
266
|
-
[setup]
|
|
267
|
-
|
|
268
|
-
// Act
|
|
269
|
-
[execução]
|
|
270
|
-
|
|
271
|
-
// Assert
|
|
272
|
-
[validação]
|
|
273
|
-
});
|
|
274
|
-
|
|
275
|
-
it('should not [regressão possível]', () => {
|
|
276
|
-
// Testa efeito colateral
|
|
277
|
-
});
|
|
278
|
-
});
|
|
279
|
-
```
|
|
280
|
-
|
|
281
|
-
### 2. Teste de Integração
|
|
282
|
-
|
|
283
|
-
[Cenário E2E que valida o fix]
|
|
284
|
-
|
|
285
|
-
### 3. Validação Manual
|
|
286
|
-
|
|
287
|
-
Passos para testar manualmente:
|
|
288
|
-
1. [Passo 1]
|
|
289
|
-
2. [Passo 2]
|
|
290
|
-
3. ✅ [Resultado esperado]
|
|
291
|
-
|
|
292
|
-
---
|
|
293
|
-
|
|
294
|
-
Implementar correção e rodar testes? (S/N)
|
|
295
|
-
```
|
|
296
|
-
|
|
297
|
-
---
|
|
298
|
-
|
|
299
|
-
### Passo 6: Fase 4 - Deploy
|
|
300
|
-
|
|
301
|
-
**Coordenar com `/deploy`:**
|
|
302
|
-
|
|
303
|
-
```markdown
|
|
304
|
-
🎯 **Fase 4/4: Deploy**
|
|
305
|
-
|
|
306
|
-
## Estratégia de Deploy
|
|
307
|
-
|
|
308
|
-
**Severidade: [critica/alta/media/baixa]**
|
|
309
|
-
|
|
310
|
-
### Se Crítica:
|
|
311
|
-
- 🚨 Hotfix imediato
|
|
312
|
-
- Deploy direto em prod após validação em staging
|
|
313
|
-
- Rollback plan pronto
|
|
314
|
-
|
|
315
|
-
### Se Alta:
|
|
316
|
-
- Deploy em staging → validação → prod
|
|
317
|
-
- Comunicar stakeholders
|
|
318
|
-
|
|
319
|
-
### Se Média/Baixa:
|
|
320
|
-
- Incluir no próximo release
|
|
321
|
-
- Documentar no CHANGELOG
|
|
322
|
-
|
|
323
|
-
---
|
|
324
|
-
|
|
325
|
-
**Checklist Pré-Deploy:**
|
|
326
|
-
- [ ] Fix implementado
|
|
327
|
-
- [ ] Testes unitários passando
|
|
328
|
-
- [ ] Testes de regressão passando
|
|
329
|
-
- [ ] Code review aprovado
|
|
330
|
-
- [ ] Validado em staging
|
|
331
|
-
|
|
332
|
-
Executar deploy? Use `/deploy [ambiente]`
|
|
333
|
-
```
|
|
334
|
-
|
|
335
|
-
---
|
|
336
|
-
|
|
337
|
-
## Exemplos de Uso
|
|
338
|
-
|
|
339
|
-
### Exemplo 1: Bug Crítico (Duplicação de Pedido)
|
|
340
|
-
|
|
341
|
-
```
|
|
342
|
-
User: /corrigir-bug
|
|
343
|
-
|
|
344
|
-
AI: Descreva o bug:
|
|
345
|
-
|
|
346
|
-
User: Pedido duplicado ao clicar rapidamente no botão Finalizar
|
|
347
|
-
|
|
348
|
-
AI: Severidade?
|
|
349
|
-
|
|
350
|
-
User: critica
|
|
351
|
-
|
|
352
|
-
AI: ✅ Fluxo iniciado (BUG-001) - Severidade CRÍTICA
|
|
353
|
-
|
|
354
|
-
🎯 Fase 1: Reprodução
|
|
355
|
-
|
|
356
|
-
Vamos reproduzir de forma controlada:
|
|
357
|
-
1. Criar pedido
|
|
358
|
-
2. Clicar rapidamente 2x em "Finalizar"
|
|
359
|
-
3. Verificar banco de dados
|
|
360
|
-
|
|
361
|
-
Reproduzido ✅
|
|
362
|
-
|
|
363
|
-
[Avança para Fase 2]
|
|
364
|
-
|
|
365
|
-
🎯 Fase 2: Análise de Causa Raiz
|
|
366
|
-
|
|
367
|
-
Hipóteses:
|
|
368
|
-
1. ❓ Falta de debounce no botão (MAIS PROVÁVEL)
|
|
369
|
-
2. ❓ Falta de idempotência no endpoint
|
|
370
|
-
3. ❓ Race condition no banco
|
|
371
|
-
|
|
372
|
-
Analisando código de `CheckoutButton.tsx`...
|
|
373
|
-
|
|
374
|
-
🎯 Causa Raiz: Botão sem debounce + endpoint não idempotente
|
|
375
|
-
|
|
376
|
-
[Avança para Fase 3]
|
|
377
|
-
|
|
378
|
-
🎯 Fase 3: Fix
|
|
379
|
-
|
|
380
|
-
```typescript
|
|
381
|
-
// ❌ ANTES
|
|
382
|
-
<button onClick={handleCheckout}>Finalizar</button>
|
|
383
|
-
|
|
384
|
-
// ✅ DEPOIS
|
|
385
|
-
<button
|
|
386
|
-
onClick={debounce(handleCheckout, 300)}
|
|
387
|
-
disabled={isProcessing}
|
|
388
|
-
>
|
|
389
|
-
Finalizar
|
|
390
|
-
</button>
|
|
391
|
-
```
|
|
392
|
-
|
|
393
|
-
+ Adicionar idempotency key no backend
|
|
394
|
-
|
|
395
|
-
Testes criados ✅
|
|
396
|
-
|
|
397
|
-
[Avança para Fase 4]
|
|
398
|
-
|
|
399
|
-
🎯 Fase 4: Deploy
|
|
400
|
-
|
|
401
|
-
Severidade CRÍTICA → Hotfix imediato
|
|
402
|
-
|
|
403
|
-
Use: /deploy production --hotfix
|
|
404
|
-
```
|
|
405
|
-
|
|
406
|
-
### Exemplo 2: Bug de UI (Baixa Severidade)
|
|
407
|
-
|
|
408
|
-
```
|
|
409
|
-
User: /corrigir-bug Botão de logout desalinhado no mobile
|
|
410
|
-
|
|
411
|
-
AI: Severidade?
|
|
412
|
-
|
|
413
|
-
User: baixa
|
|
414
|
-
|
|
415
|
-
AI: ✅ Fluxo iniciado (BUG-002) - Severidade BAIXA
|
|
416
|
-
|
|
417
|
-
Bug cosmético. Incluir no próximo release.
|
|
418
|
-
|
|
419
|
-
Fase 1: Reprodução ✅
|
|
420
|
-
Fase 2: CSS incorreto identificado
|
|
421
|
-
Fase 3: Fix aplicado
|
|
422
|
-
Fase 4: Agendar para próximo deploy
|
|
423
|
-
```
|
|
424
|
-
|
|
425
|
-
---
|
|
426
|
-
|
|
427
|
-
## Comandos Relacionados
|
|
428
|
-
|
|
429
|
-
```
|
|
430
|
-
/mcp-debug [descrição] → Inicia fluxo de debugging
|
|
431
|
-
/mcp-next → Avança entre fases
|
|
432
|
-
/deploy --hotfix → Deploy emergencial (bugs críticos)
|
|
433
|
-
```
|
|
434
|
-
|
|
435
|
-
---
|
|
436
|
-
|
|
437
|
-
## Estrutura de Arquivos Gerados
|
|
438
|
-
|
|
439
|
-
```
|
|
440
|
-
docs/
|
|
441
|
-
├── bugs/
|
|
442
|
-
│ └── BUG-001-pedido-duplicado/
|
|
443
|
-
│ ├── 01-reproducao.md
|
|
444
|
-
│ ├── 02-causa-raiz.md
|
|
445
|
-
│ ├── 03-fix-e-testes.md
|
|
446
|
-
│ └── 04-deploy-log.md
|
|
447
|
-
```
|
|
448
|
-
|
|
449
|
-
---
|
|
450
|
-
|
|
451
|
-
## Regras Críticas (Root Cause Analysis)
|
|
452
|
-
|
|
453
|
-
### ✅ SEMPRE:
|
|
454
|
-
|
|
455
|
-
1. Reproduzir bug ANTES de tentar corrigir
|
|
456
|
-
2. Fazer análise de causa raiz (não apenas sintomas)
|
|
457
|
-
3. Adicionar testes que capturam o bug
|
|
458
|
-
4. Validar em staging antes de prod (exceto hotfixes)
|
|
459
|
-
5. Documentar causa raiz para aprendizado
|
|
460
|
-
|
|
461
|
-
### ❌ NUNCA:
|
|
462
|
-
|
|
463
|
-
1. "Corrigir" sem entender a causa
|
|
464
|
-
2. Deploy de fix crítico sem testes
|
|
465
|
-
3. Assumir causa raiz sem evidências
|
|
466
|
-
4. Esquecer de testar efeitos colaterais
|
|
467
|
-
5. Deixar bug sem teste de regressão
|
|
468
|
-
|
|
469
|
-
---
|
|
470
|
-
|
|
471
|
-
## Matriz de Severidade → Ação
|
|
472
|
-
|
|
473
|
-
| Severidade | SLA | Deploy | Comunicação |
|
|
474
|
-
|------------|-----|--------|-------------|
|
|
475
|
-
| **Crítica** | 1h | Hotfix imediato | Stakeholders + usuários |
|
|
476
|
-
| **Alta** | 4h | Próximo deploy | Stakeholders |
|
|
477
|
-
| **Média** | 1-2 dias | Release agendado | Interno |
|
|
478
|
-
| **Baixa** | 1 semana | Quando conveniente | Changelog |
|
|
479
|
-
|
|
480
|
-
---
|
|
481
|
-
|
|
482
|
-
## Protocolo de Hotfix (Bugs Críticos)
|
|
483
|
-
|
|
484
|
-
```
|
|
485
|
-
1. Criar branch: hotfix/BUG-001-pedido-duplicado
|
|
486
|
-
2. Fix + testes
|
|
487
|
-
3. Deploy staging → validar
|
|
488
|
-
4. Deploy prod
|
|
489
|
-
5. Merge back to main
|
|
490
|
-
6. Post-mortem (se necessário)
|
|
491
|
-
```
|
|
492
|
-
|
|
493
|
-
---
|
|
494
|
-
|
|
495
|
-
## Troubleshooting
|
|
496
|
-
|
|
497
|
-
### Não Consigo Reproduzir
|
|
498
|
-
|
|
499
|
-
**Ação:**
|
|
500
|
-
|
|
501
|
-
```markdown
|
|
502
|
-
Se não conseguiu reproduzir:
|
|
503
|
-
|
|
504
|
-
1. **Coletar mais informações**
|
|
505
|
-
- Logs mais detalhados
|
|
506
|
-
- Request/Response headers
|
|
507
|
-
- Estado do banco no momento
|
|
508
|
-
|
|
509
|
-
2. **Testar em ambiente idêntico**
|
|
510
|
-
- Mesma versão
|
|
511
|
-
- Mesmos dados
|
|
512
|
-
- Mesmo browser/device
|
|
513
|
-
|
|
514
|
-
3. **Race condition?**
|
|
515
|
-
- Tentar com diferentes timings
|
|
516
|
-
- Usar ferramentas de slow-motion (Network throttling)
|
|
517
|
-
```
|
|
518
|
-
|
|
519
|
-
### Múltiplas Causas Possíveis
|
|
520
|
-
|
|
521
|
-
**Ação:**
|
|
522
|
-
|
|
523
|
-
```markdown
|
|
524
|
-
Se várias hipóteses igualmente prováveis:
|
|
525
|
-
|
|
526
|
-
1. Testar todas sistematicamente
|
|
527
|
-
2. Usar método de bisseção (git bisect)
|
|
528
|
-
3. Adicionar logs temporários
|
|
529
|
-
4. Pair programming com colega
|
|
530
|
-
```
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Create new application command. Triggers App Builder skill and starts interactive dialogue with user.
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
# /create - Create Application
|
|
6
|
-
|
|
7
|
-
$ARGUMENTS
|
|
8
|
-
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
## Task
|
|
12
|
-
|
|
13
|
-
This command starts a new application creation process.
|
|
14
|
-
|
|
15
|
-
### Steps:
|
|
16
|
-
|
|
17
|
-
1. **Request Analysis**
|
|
18
|
-
- Understand what the user wants
|
|
19
|
-
- If information is missing, use `conversation-manager` skill to ask
|
|
20
|
-
|
|
21
|
-
2. **Project Planning**
|
|
22
|
-
- Use `project-planner` agent for task breakdown
|
|
23
|
-
- Determine tech stack
|
|
24
|
-
- Plan file structure
|
|
25
|
-
- Create plan file and proceed to building
|
|
26
|
-
|
|
27
|
-
3. **Application Building (After Approval)**
|
|
28
|
-
- Orchestrate with `app-builder` skill
|
|
29
|
-
- Coordinate expert agents:
|
|
30
|
-
- `database-architect` → Schema
|
|
31
|
-
- `backend-specialist` → API
|
|
32
|
-
- `frontend-specialist` → UI
|
|
33
|
-
|
|
34
|
-
4. **Preview**
|
|
35
|
-
- Start with `auto_preview.py` when complete
|
|
36
|
-
- Present URL to user
|
|
37
|
-
|
|
38
|
-
---
|
|
39
|
-
|
|
40
|
-
## Usage Examples
|
|
41
|
-
|
|
42
|
-
```
|
|
43
|
-
/create blog site
|
|
44
|
-
/create e-commerce app with product listing and cart
|
|
45
|
-
/create todo app
|
|
46
|
-
/create Instagram clone
|
|
47
|
-
/create crm system with customer management
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
---
|
|
51
|
-
|
|
52
|
-
## Before Starting
|
|
53
|
-
|
|
54
|
-
If request is unclear, ask these questions:
|
|
55
|
-
- What type of application?
|
|
56
|
-
- What are the basic features?
|
|
57
|
-
- Who will use it?
|
|
58
|
-
|
|
59
|
-
Use defaults, add details later.
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Inicia novo projeto Maestro com classificação automática e setup inteligente
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
# 🚀 Workflow de Iniciação - /iniciar-projeto
|
|
6
|
-
|
|
7
|
-
## 1. Coleta de informações
|
|
8
|
-
|
|
9
|
-
Pergunte ao usuário (ou utilize argumentos) para obter:
|
|
10
|
-
- Nome do projeto
|
|
11
|
-
- Descrição curta (problema, público, solução)
|
|
12
|
-
|
|
13
|
-
## 2. Classificação automática
|
|
14
|
-
|
|
15
|
-
1. Carregue o template em `templates/estado-template.json` e os fluxos definidos em `src/src/flows/types.ts` (funções `getFluxo`, `getFluxoComStitch`).
|
|
16
|
-
2. Use a função mental abaixo para sugerir configuração:
|
|
17
|
-
|
|
18
|
-
```javascript
|
|
19
|
-
const analise = classificarProjeto({ nome, descricao });
|
|
20
|
-
const fluxo = getFluxoComStitch(analise.complexidade, analise.usarStitch);
|
|
21
|
-
/* Retorna:
|
|
22
|
-
* - complexidade (simples/medio/complexo)
|
|
23
|
-
* - tier (7/13/17 fases)
|
|
24
|
-
* - especialistaInicial (fase 1 do fluxo escolhido)
|
|
25
|
-
*/
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
Mostre a classificação e peça confirmação. Permita ajustes manuais caso o usuário solicite (ex.: "reclassificar para médio").
|
|
29
|
-
|
|
30
|
-
## 3. Geração do estado inicial
|
|
31
|
-
|
|
32
|
-
- Copie o template de estado e popule as fases com base em `fluxo.fases`.
|
|
33
|
-
- Garanta que cada fase traga `especialista`, `entregavel_esperado`, `scoreMinimo` e `gate_checklist` do fluxo MCP.
|
|
34
|
-
- Registre em `historico` o evento `projeto_iniciado` com justificativa da classificação.
|
|
35
|
-
- Defina helpers mentais para leitura/escrita:
|
|
36
|
-
```javascript
|
|
37
|
-
const estado = preencherTemplate(...);
|
|
38
|
-
function salvarEstado(state) {
|
|
39
|
-
escreverJson('.maestro/estado.json', state, { spaces: 2 });
|
|
40
|
-
}
|
|
41
|
-
salvarEstado(estado);
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
## 4. Setup do contexto
|
|
45
|
-
|
|
46
|
-
- Copiar templates necessários para `docs/<fase>/...`
|
|
47
|
-
- Registrar especialista inicial (`Gestão de Produto` para fase 1)
|
|
48
|
-
- Preparar prompts e skills relevantes
|
|
49
|
-
|
|
50
|
-
## 5. Mensagem de saída
|
|
51
|
-
|
|
52
|
-
```
|
|
53
|
-
✅ Projeto iniciado!
|
|
54
|
-
- Fase 1/ {totalFases}: Produto
|
|
55
|
-
- Especialista: Gestão de Produto
|
|
56
|
-
- Entregável: docs/01-produto/PRD.md
|
|
57
|
-
|
|
58
|
-
Próximo passo: responda às perguntas do especialista para preencher o PRD.
|
|
59
|
-
```
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Add or update features in existing application. Used for iterative development.
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
# /enhance - Update Application
|
|
6
|
-
|
|
7
|
-
$ARGUMENTS
|
|
8
|
-
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
## Task
|
|
12
|
-
|
|
13
|
-
This command adds features or makes updates to existing application.
|
|
14
|
-
|
|
15
|
-
### Steps:
|
|
16
|
-
|
|
17
|
-
1. **Understand Current State**
|
|
18
|
-
- Load project state with `python .agent/scripts/session_manager.py info`
|
|
19
|
-
- Understand existing features, tech stack
|
|
20
|
-
|
|
21
|
-
2. **Plan Changes**
|
|
22
|
-
- Determine what will be added/changed
|
|
23
|
-
- Detect affected files
|
|
24
|
-
- Check dependencies
|
|
25
|
-
|
|
26
|
-
3. **Present Plan to User** (for major changes)
|
|
27
|
-
```
|
|
28
|
-
"To add admin panel:
|
|
29
|
-
- I'll create 15 new files
|
|
30
|
-
- Update 8 files
|
|
31
|
-
- Takes ~10 minutes
|
|
32
|
-
|
|
33
|
-
Should I start?"
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
4. **Apply**
|
|
37
|
-
- Call relevant agents
|
|
38
|
-
- Make changes
|
|
39
|
-
- Test
|
|
40
|
-
|
|
41
|
-
5. **Update Preview**
|
|
42
|
-
- Hot reload or restart
|
|
43
|
-
|
|
44
|
-
---
|
|
45
|
-
|
|
46
|
-
## Usage Examples
|
|
47
|
-
|
|
48
|
-
```
|
|
49
|
-
/enhance add dark mode
|
|
50
|
-
/enhance build admin panel
|
|
51
|
-
/enhance integrate payment system
|
|
52
|
-
/enhance add search feature
|
|
53
|
-
/enhance edit profile page
|
|
54
|
-
/enhance make responsive
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
---
|
|
58
|
-
|
|
59
|
-
## Caution
|
|
60
|
-
|
|
61
|
-
- Get approval for major changes
|
|
62
|
-
- Warn on conflicting requests (e.g., "use Firebase" when project uses PostgreSQL)
|
|
63
|
-
- Commit each change with git
|