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