@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.
Files changed (54) hide show
  1. package/README.md +84 -54
  2. package/content/guides/fases-mapeamento.md +34 -0
  3. package/content/guides/guide-brainstorm.md +38 -0
  4. package/content/guides/guide-orquestracao.md +45 -0
  5. package/content/guides/guide-testes.md +51 -0
  6. package/content/guides/guide-troubleshooting.md +43 -0
  7. package/content/guides/guide-validacao.md +50 -0
  8. package/content/guides/internal/automated-events.md +27 -0
  9. package/content/guides/internal/automated-map.md +56 -0
  10. package/content/guides/internal/automated-stitch.md +51 -0
  11. package/content/guides/internal/automated-system.md +46 -0
  12. package/content/guides/mapa-sistema.md +86 -0
  13. package/content/guides/multi-ide.md +32 -0
  14. package/content/guides/playbook-orquestrador.md +45 -0
  15. package/content/guides/workflows-avancados.md +62 -0
  16. package/content/rules/GEMINI.md +70 -762
  17. package/content/rules/RULES.md +71 -761
  18. package/content/rules/complexity-rules.md +43 -0
  19. package/content/rules/quality-gates.md +55 -0
  20. package/content/rules/security-rules.md +40 -0
  21. package/content/rules/structure-rules.md +63 -0
  22. package/content/rules/validation-rules.md +56 -0
  23. package/content/templates/estado-template.json +73 -0
  24. package/content/workflows/00-maestro.md +78 -0
  25. package/content/workflows/01-iniciar-projeto.md +59 -0
  26. package/content/workflows/02-avancar-fase.md +72 -0
  27. package/content/workflows/03-continuar-fase.md +64 -0
  28. package/content/workflows/04-implementar-historia.md +64 -0
  29. package/content/workflows/05-nova-feature.md +39 -0
  30. package/content/workflows/06-corrigir-bug.md +34 -0
  31. package/content/workflows/07-refatorar-codigo.md +34 -0
  32. package/dist/commands/init.d.ts +2 -2
  33. package/dist/commands/init.js +89 -76
  34. package/dist/index.js +94 -5
  35. package/package.json +10 -4
  36. package/content/workflows/README-MCP.md +0 -363
  37. package/content/workflows/brainstorm.md +0 -113
  38. package/content/workflows/create.md +0 -59
  39. package/content/workflows/debug.md +0 -103
  40. package/content/workflows/enhance.md +0 -63
  41. package/content/workflows/mcp-debug.md +0 -506
  42. package/content/workflows/mcp-feature.md +0 -385
  43. package/content/workflows/mcp-gate.md +0 -413
  44. package/content/workflows/mcp-next.md +0 -388
  45. package/content/workflows/mcp-refactor.md +0 -600
  46. package/content/workflows/mcp-start.md +0 -304
  47. package/content/workflows/mcp-status.md +0 -400
  48. package/content/workflows/orchestrate.md +0 -237
  49. package/content/workflows/plan.md +0 -89
  50. package/content/workflows/preview.md +0 -81
  51. package/content/workflows/status.md +0 -86
  52. package/content/workflows/test.md +0 -144
  53. package/content/workflows/ui-ux-pro-max.md +0 -296
  54. /package/content/workflows/{deploy.md → 08-deploy-projeto.md} +0 -0
@@ -1,600 +0,0 @@
1
- ---
2
- description: Refatoração estruturada de código (Análise → Testes → Refactor → Validação)
3
- ---
4
-
5
- # /mcp-refactor - Refatoração MCP
6
-
7
- $ARGUMENTS
8
-
9
- ---
10
-
11
- ## Objetivo
12
-
13
- Refatorar código de forma segura e estruturada usando fluxo de 5 fases do MCP Maestro, com testes de caracterização e validação contínua.
14
-
15
- ---
16
-
17
- ## Quando Usar
18
-
19
- - Melhorar qualidade de código sem mudar comportamento
20
- - Reduzir complexidade ou débito técnico
21
- - Preparar código para nova feature
22
- - Migrar para novo padrão ou arquitetura
23
-
24
- **NÃO usar para:**
25
- - Adicionar funcionalidade → Use `/mcp-feature`
26
- - Corrigir bugs → Use `/mcp-debug`
27
-
28
- ---
29
-
30
- ## Fluxo de 5 Fases
31
-
32
- ```
33
- 1. Análise de Código Atual
34
-
35
- 2. Testes de Caracterização
36
-
37
- 3. Refatoração Incremental
38
-
39
- 4. Validação
40
-
41
- 5. Deploy
42
- ```
43
-
44
- **Princípio:** Nunca refatorar sem testes!
45
-
46
- ---
47
-
48
- ## Execução
49
-
50
- ### Passo 1: Coleta de Informações
51
-
52
- **Perguntar ao usuário:**
53
-
54
- ```markdown
55
- 🔧 **Refatoração de Código**
56
-
57
- 1. Qual área deseja refatorar?
58
- [Exemplo: Serviço de autenticação, Controllers de API, etc]
59
-
60
- 2. Qual o motivo da refatoração?
61
- - **complexidade**: Código difícil de entender
62
- - **duplicacao**: Código repetido
63
- - **performance**: Lento ou ineficiente
64
- - **manutencao**: Difícil de manter/estender
65
- - **migracao**: Mudança de padrão/arquitetura
66
-
67
- Escolha: [complexidade/duplicacao/performance/manutencao/migracao]
68
-
69
- 3. (Opcional) Arquivos principais:
70
- [Lista de arquivos a refatorar]
71
- ```
72
-
73
- ---
74
-
75
- ### Passo 2: Iniciar Fluxo de Refatoração
76
-
77
- ```typescript
78
- await mcp_maestro_refatorar({
79
- area: "[área fornecida]",
80
- motivo: "[motivo]"
81
- });
82
- ```
83
-
84
- **MCP cria contexto e retorna:**
85
-
86
- ```json
87
- {
88
- "refactor_id": "REF-001",
89
- "fases": [
90
- "Análise",
91
- "Testes de Caracterização",
92
- "Refatoração",
93
- "Validação",
94
- "Deploy"
95
- ],
96
- "fase_atual": 1,
97
- "estrategia": "[incremental/big-bang]"
98
- }
99
- ```
100
-
101
- ---
102
-
103
- ### Passo 3: Fase 1 - Análise de Código Atual
104
-
105
- **Apresentar:**
106
-
107
- ```markdown
108
- ✅ **Fluxo de Refatoração Iniciado** (REF-001)
109
-
110
- ---
111
-
112
- 🎯 **Fase 1/5: Análise de Código Atual**
113
- 🤖 **Especialista:** Exploração de Codebase
114
-
115
- ## Mapeamento da Área
116
-
117
- **Arquivos Identificados:**
118
- - `[arquivo1.ts]` - [responsabilidade]
119
- - `[arquivo2.ts]` - [responsabilidade]
120
- - `[arquivo3.ts]` - [responsabilidade]
121
-
122
- **Métricas de Código:**
123
- - Complexidade Ciclomática: [valor]
124
- - Linhas de código: [count]
125
- - Duplicação: [percentual]%
126
- - Cobertura de testes: [percentual]%
127
-
128
- ---
129
-
130
- ## Problemas Identificados
131
-
132
- 1. **[Problema 1]**
133
- - Arquivo: `[caminho]`
134
- - Evidência: [trecho de código]
135
- - Impacto: [alto/médio/baixo]
136
-
137
- 2. **[Problema 2]**
138
- - ...
139
-
140
- ---
141
-
142
- ## Estratégia Recomendada
143
-
144
- ${estrategia === 'incremental' ? `
145
- ✅ **Refatoração Incremental** (Recomendado)
146
-
147
- Motivo: [área grande/crítica, fazer passo a passo]
148
-
149
- Etapas:
150
- 1. [Passo 1]
151
- 2. [Passo 2]
152
- 3. [Passo 3]
153
- ` : `
154
- ⚡ **Big Bang Refactor**
155
-
156
- Motivo: [área pequena, pode fazer de uma vez]
157
-
158
- Refatorar tudo e validar.
159
- `}
160
-
161
- Prosseguir? (S/N)
162
- ```
163
-
164
- ---
165
-
166
- ### Passo 4: Fase 2 - Testes de Caracterização
167
-
168
- > [!IMPORTANT]
169
- > **REGRA DE OURO:** Nunca refatorar sem testes!
170
-
171
- ```markdown
172
- 🎯 **Fase 2/5: Testes de Caracterização**
173
-
174
- ## O que são Testes de Caracterização?
175
-
176
- Testes que capturam o **comportamento atual** do código.
177
- Não testam se está "correto", mas sim "preservam" o comportamento.
178
-
179
- ---
180
-
181
- ## Testes Criados
182
-
183
- ### 1. Teste de comportamento principal
184
-
185
- ```[linguagem]
186
- describe('[ComponenteAtual]', () => {
187
- it('should preserve current behavior for [scenario]', () => {
188
- // Arrange
189
- const input = [value];
190
-
191
- // Act
192
- const result = funcaoAtual(input);
193
-
194
- // Assert
195
- expect(result).toEqual([valor_atual]);
196
- });
197
- });
198
- ```
199
-
200
- ### 2. Teste de edge cases
201
-
202
- [Mais testes...]
203
-
204
- ---
205
-
206
- ## Cobertura
207
-
208
- - **Antes:** [percentual]%
209
- - **Depois dos testes de caracterização:** [percentual]%
210
- - **Meta:** 80%+ antes de refatorar
211
-
212
- ✅ Todos os testes passando
213
-
214
- Pronto para refatorar com segurança!
215
- ```
216
-
217
- ---
218
-
219
- ### Passo 5: Fase 3 - Refatoração Incremental
220
-
221
- ```markdown
222
- 🎯 **Fase 3/5: Refatoração Incremental**
223
-
224
- ## Estratégia: Passos Pequenos
225
-
226
- ${estrategia === 'incremental' ? `
227
- ### Passo 1 de 3: [Nome do passo]
228
-
229
- **Antes:**
230
- ```[linguagem]
231
- [código antigo]
232
- ```
233
-
234
- **Depois:**
235
- ```[linguagem]
236
- [código refatorado]
237
- ```
238
-
239
- **Mudanças:**
240
- - [O que mudou]
241
- - [Por que melhorou]
242
-
243
- **Validação:**
244
- - ✅ Todos os testes passam
245
- - ✅ Comportamento preservado
246
- - ✅ Lint OK
247
-
248
- ---
249
-
250
- ### Passo 2 de 3: [Nome do passo]
251
-
252
- [...]
253
-
254
- ` : `
255
- ### Refatoração Completa
256
-
257
- **Antes:**
258
- [código antigo]
259
-
260
- **Depois:**
261
- [código refatorado]
262
-
263
- **Mudanças:**
264
- - [lista de mudanças]
265
- `}
266
-
267
- ---
268
-
269
- ## Padrões Aplicados
270
-
271
- ${motivo === 'complexidade' ? `
272
- - Extract Method
273
- - Replace Conditional with Polymorphism
274
- - Simplify Complex Expressions
275
- ` : motivo === 'duplicacao' ? `
276
- - Extract Function
277
- - Extract Class
278
- - Pull Up Method
279
- ` : motivo === 'performance' ? `
280
- - Memoization
281
- - Lazy Loading
282
- - Algorithm Optimization
283
- ` : `
284
- - [Padrões específicos]
285
- `}
286
-
287
- ---
288
-
289
- ## Validação Contínua
290
-
291
- Após cada passo:
292
- ```bash
293
- npm test # Testes passam?
294
- npm run lint # Lint OK?
295
- git commit -m "..." # Commit pequeno
296
- ```
297
-
298
- ---
299
-
300
- **Status:** [X/Y] passos completados
301
-
302
- Continuar para próximo passo? (S/N)
303
- ```
304
-
305
- ---
306
-
307
- ### Passo 6: Fase 4 - Validação
308
-
309
- ```markdown
310
- 🎯 **Fase 4/5: Validação**
311
-
312
- ## Checklist de Qualidade
313
-
314
- ### Funcional
315
- - [x] Todos os testes passam ✅
316
- - [x] Comportamento preservado ✅
317
- - [x] Edge cases cobertos ✅
318
-
319
- ### Qualidade de Código
320
- - [x] Complexidade reduzida: [antes] → [depois] ✅
321
- - [x] Duplicação removida: [%antes] → [%depois] ✅
322
- - [x] Lint sem warnings ✅
323
- - [x] Code review aprovado ✅
324
-
325
- ### Performance (se aplicável)
326
- - [x] Benchmarks: [antes] → [depois] ✅
327
- - [x] Sem regressão de performance ✅
328
-
329
- ---
330
-
331
- ## Comparação Antes/Depois
332
-
333
- | Métrica | Antes | Depois | Melhoria |
334
- |---------|-------|--------|----------|
335
- | Linhas de código | [N] | [M] | [%] |
336
- | Complexidade | [N] | [M] | [%] |
337
- | Duplicação | [N]% | [M]% | [%] |
338
- | Cobertura | [N]% | [M]% | [%] |
339
-
340
- ---
341
-
342
- ✅ **Refatoração Validada**
343
-
344
- Pronto para deploy!
345
- ```
346
-
347
- ---
348
-
349
- ### Passo 7: Fase 5 - Deploy
350
-
351
- ```markdown
352
- 🎯 **Fase 5/5: Deploy**
353
-
354
- ## Estratégia de Deploy
355
-
356
- ${estrategia === 'incremental' ? `
357
- ✅ **Deploy Incremental** (Recomendado)
358
-
359
- 1. Deploy de cada passo separadamente
360
- 2. Monitorar métricas após cada deploy
361
- 3. Rollback fácil se necessário
362
-
363
- Deploys:
364
- - ✅ Passo 1 → Prod (2026-01-20)
365
- - ✅ Passo 2 → Prod (2026-01-21)
366
- - 🔄 Passo 3 → Staging (testando)
367
- ` : `
368
- ⚡ **Deploy Único**
369
-
370
- Refatoração completa em um deploy.
371
-
372
- Checklist:
373
- - [ ] Testes passando em staging
374
- - [ ] Performance validada
375
- - [ ] Rollback plan pronto
376
- `}
377
-
378
- ---
379
-
380
- ## Monitoramento Pós-Deploy
381
-
382
- Métricas a observar por 24-48h:
383
- - Error rate
384
- - Response time
385
- - CPU/Memory usage
386
- - User behavior (se frontend)
387
-
388
- ---
389
-
390
- Use: `/deploy production`
391
- ```
392
-
393
- ---
394
-
395
- ## Exemplos de Uso
396
-
397
- ### Exemplo 1: Refatorar Serviço Complexo
398
-
399
- ```
400
- User: /mcp-refactor
401
-
402
- AI: Qual área deseja refatorar?
403
-
404
- User: Serviço de autenticação
405
-
406
- AI: Qual o motivo?
407
-
408
- User: complexidade
409
-
410
- AI: ✅ Fluxo iniciado (REF-001)
411
-
412
- 🎯 Fase 1: Análise
413
-
414
- Arquivos:
415
- - services/auth.service.ts (250 linhas, complexidade 15)
416
- - utils/token.ts
417
-
418
- Problemas:
419
- 1. Método login() com 80 linhas (muito grande)
420
- 2. Lógica de validação duplicada 3x
421
- 3. Sem separação de responsabilidades
422
-
423
- Estratégia: Incremental (3 passos)
424
- 1. Extract validation logic
425
- 2. Split login method
426
- 3. Create TokenService
427
-
428
- Continuar?
429
-
430
- User: S
431
-
432
- AI: [Fase 2: Cria testes de caracterização]
433
-
434
- ✅ 12 testes criados (cobertura: 85%)
435
-
436
- Todos passando. Pronto para refatorar!
437
-
438
- User: /mcp-next
439
-
440
- AI: [Fase 3: Refatoração]
441
-
442
- Passo 1/3: Extract validation logic
443
-
444
- Antes:
445
- ```ts
446
- if (!email || !password) { ... }
447
- if (!isValidEmail(email)) { ... }
448
- ```
449
-
450
- Depois:
451
- ```ts
452
- const validator = new AuthValidator();
453
- validator.validate({ email, password });
454
- ```
455
-
456
- ✅ Testes passam
457
-
458
- Commit: "refactor: extract auth validation"
459
-
460
- Continuar passo 2? (S/N)
461
- ```
462
-
463
- ### Exemplo 2: Migração de Padrão
464
-
465
- ```
466
- User: /mcp-refactor Migrar de callback para async/await
467
-
468
- AI: Motivo?
469
-
470
- User: migracao
471
-
472
- AI: ✅ Refactor initiated
473
-
474
- Detectei 15 funções com callbacks
475
-
476
- Estratégia:
477
- - Criar versões async em paralelo
478
- - Deprecar callbacks gradualmente
479
- - Remover após migração completa
480
-
481
- Fase 1: Análise
482
- [lista de funções]
483
-
484
- Fase 2: Testes
485
- [testa callbacks atuais]
486
-
487
- Fase 3: Implementação async
488
- [cria novas versões]
489
-
490
- Fase 4: Migração gradual
491
- [troca chamadas uma por uma]
492
- ```
493
-
494
- ---
495
-
496
- ## Comandos Relacionados
497
-
498
- ```
499
- /mcp-refactor [área] → Inicia refatoração
500
- /mcp-next → Avança entre fases/passos
501
- /mcp-status → Ver progresso da refatoração
502
- ```
503
-
504
- ---
505
-
506
- ## Estratégias de Refatoração
507
-
508
- ### Incremental (Recomendado)
509
-
510
- **Quando:** Código crítico, área grande, equipe grande
511
-
512
- **Vantagens:**
513
- - Risco menor
514
- - Rollback fácil
515
- - Review mais simples
516
- - Deploy contínuo
517
-
518
- ### Big Bang
519
-
520
- **Quando:** Código isolado, área pequena, MVP
521
-
522
- **Vantagens:**
523
- - Mais rápido
524
- - Contexto único
525
-
526
- ### Strangler Fig
527
-
528
- **Quando:** Migrar sistema legado
529
-
530
- **Passos:**
531
- 1. Criar interface nova ao lado da antiga
532
- 2. Redirecionar tráfego gradualmente
533
- 3. Remover código antigo quando 100% migrado
534
-
535
- ---
536
-
537
- ## Padrões Comuns
538
-
539
- ### Extract Method
540
- ``` Função grande → Várias funções pequenas```
541
-
542
- ### Extract Class
543
- ```Classe god object → Várias classes especializadas```
544
-
545
- ### Replace Conditional with Polymorphism
546
- ```if/else gigante → Herança/interfaces```
547
-
548
- ### Introduce Parameter Object
549
- ```Muitos parâmetros → Objeto de configuração```
550
-
551
- ---
552
-
553
- ## Regras Críticas
554
-
555
- ### ✅ SEMPRE:
556
-
557
- 1. Criar testes ANTES de refatorar
558
- 2. Commits pequenos e frequentes
559
- 3. Validar após cada passo
560
- 4. Preservar comportamento (sem features novas)
561
- 5. Code review antes de merge
562
-
563
- ### ❌ NUNCA:
564
-
565
- 1. Refatorar sem testes
566
- 2. Misturar refactor com nova feature
567
- 3. Refatorar código que não entende
568
- 4. Fazer mudanças grandes de uma vez
569
- 5. Deploy sem validação
570
-
571
- ---
572
-
573
- ## Troubleshooting
574
-
575
- ### Testes Quebram Durante Refatoração
576
-
577
- **Causa:** Comportamento mudou acidentalmente
578
-
579
- **Solução:**
580
-
581
- ```
582
- 1. Reverter último commit: git reset --hard HEAD~1
583
- 2. Fazer mudança menor
584
- 3. Validar testes
585
-
586
-
587
- 4. Continuar
588
- ```
589
-
590
- ### Refatoração Muito Grande
591
-
592
- **Causa:** Scope creep
593
-
594
- **Solução:**
595
-
596
- ```
597
- 1. Parar refatoração atual
598
- 2. Quebrar em múltiplos REF-XXX
599
- 3. Fazer um por vez
600
- ```