@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
@@ -0,0 +1,43 @@
1
+ # 🧠 Regras de Classificação de Complexidade
2
+
3
+ > Este arquivo define a lógica para analisar o **PRD (Produto)** e calcular automaticamente a complexidade do projeto.
4
+
5
+ ---
6
+
7
+ ## 1. Tabela de Pontuação
8
+
9
+ **Instrução:** Leia o conteúdo do `docs/01-produto/PRD.md` e some os pontos baseados nos critérios abaixo.
10
+
11
+ | Critério | O que buscar (Regex/Keywords) | Pontos |
12
+ | :--- | :--- | :--- |
13
+ | **1. Entidades de Domínio** | Conte substantivos únicos relevantes (ex: Usuário, Pedido, Produto).<br>- `> 15 entidades`: **+3**<br>- `> 8 entidades`: **+2**<br>- `Até 8`: **+1** | `___` |
14
+ | **2. Integrações Externas** | Palavras-chave: `API`, `integração`, `webhook`, `pagamento`, `stripe`, `auth0`, `firebase`.<br>- Se encontrar qualquer uma: **+3** | `___` |
15
+ | **3. Requisitos de Segurança** | Palavras-chave: `LGPD`, `GDPR`, `criptografia`, `JWT`, `permissões`, `roles`.<br>- Se encontrar qualquer uma: **+3** | `___` |
16
+ | **4. Escala e Performance** | Palavras-chave: `milhares`, `milhões`, `alta disponibilidade`, `concorrência`, `cluster`.<br>- Se encontrar qualquer uma: **+3** | `___` |
17
+ | **5. Multi-tenancy / B2B** | Palavras-chave: `multi-tenant`, `workspace`, `organização`, `saas`.<br>- Se encontrar qualquer uma: **+2** | `___` |
18
+ | **6. Cronograma Estimado** | Verifique seções de tempo.<br>- `> 6 meses`: **+3**<br>- `> 2 meses`: **+2**<br>- `Curto prazo`: **+1** | `___` |
19
+ | **7. Regras de Negócio** | Frequência de palavras: `regra`, `validação`, `fluxo`, `condição`.<br>- `Alta densidade`: **+3**<br>- `Média densidade`: **+2** | `___` |
20
+
21
+ ---
22
+
23
+ ## 2. Tabela de Decisão (Nível)
24
+
25
+ **Instrução:** Use a soma total dos pontos para definir o nível e o fluxo do projeto.
26
+
27
+ | Pontuação Total | Nível Definido | Total de Fases do Fluxo |
28
+ | :--- | :--- | :--- |
29
+ | **0 a 8 pontos** | **🥉 Simples** | **7 Fases** (Produto → Requisitos → UX → Arq → Backlog → Front → Back) |
30
+ | **9 a 15 pontos** | **🥈 Médio** | **13 Fases** (Adiciona: Modelo, Banco, Segurança, Contrato, Testes, Integração) |
31
+ | **16+ pontos** | **🥇 Complexo** | **17 Fases** (Adiciona: Arq. Avançada, Performance, Observabilidade, Deploy Final) |
32
+
33
+ ---
34
+
35
+ ## 3. Ação Pós-Classificação (Apenas Fase 1)
36
+
37
+ Se você acabou de concluir a Fase 1 (Produto):
38
+ 1. **Calcule** a pontuação.
39
+ 2. **Determine** o nível.
40
+ 3. **Atualize** o arquivo `.maestro/estado.json` com:
41
+ * `"nivel": "simples" | "medio" | "complexo"`
42
+ * `"total_fases": 7 | 11 | 15`
43
+ * `"pontuacao_complexidade": {numero}`
@@ -1,43 +1,55 @@
1
- # 🔐 Quality Gates por Transição
2
-
3
- | De Para | Checklist Obrigatória | Validadores sugeridos |
4
- |-----------|----------------------|------------------------|
5
- | Produto → Requisitos | MVP 100% coberto nos requisitos; personas refletidas | `validarCoberturaMVP(PRD, requisitos)` |
6
- | Requisitos → UX Design | Fluxos/jornadas definidos; critérios de aceite aprovados | `analisarFluxosUsuarios(requisitos)` |
7
- | UX Design Prototipagem (Stitch) | Wireframes completos; estilo aprovado | `validarWireframes(designDoc)` |
8
- | Prototipagem → Arquitetura | Feedback aplicado; requisitos atualizados | `verificarConsistencia(designDoc, requisitos)` |
9
- | Arquitetura Modelo de Domínio | Stack confirmada; contexto alinhado | `compararModelagem(arquitetura, modeloDominio)` |
10
- | Modelo de Domínio → Banco de Dados | Entidades → tabelas; regras documentadas | `validarModeloDominio(modeloDominio, designBanco)` |
11
- | Banco → Segurança | Dados sensíveis catalogados; políticas definidas | `analisarSensibilidade(designBanco)` |
12
- | Segurança → Testes | Controles críticos definidos; riscos registrados | `validarChecklistSeguranca(checklist)` |
13
- | Testes Backlog | Estratégia de testes aprovada; cobertura planejada | `verificarPlanoTestes(plano)` |
14
- | Backlog → Contrato API | Stories/radar de integrações aprovados | `compararBacklogContrato(backlog, openapi)` |
15
- | Contrato API → Frontend | OpenAPI completo; mocks disponíveis | `validarContrato(openapi)` |
16
- | Frontend → Backend | Componentes integrados a mocks; testes passando | `executarSuite('frontend-tests')` |
17
- | Backend Integração/Deploy | Testes unitários/integração/contrato passando | `executarSuite('backend-tests')` |
18
- | Integração → Observabilidade (fluxo complexo) | Pipelines verdes; monitoração básica configurada | `validarPipeline(ciCdConfig)` |
19
- | Observabilidade Performance | Dashboards + alertas definidos | `validarObservabilidade(config)` |
20
- | Performance → Deploy Final | Testes de carga concluídos; tuning aplicado | `executarLoadTest(plan)` |
21
-
22
- ## Exemplo de validação cruzada (Produto → Requisitos)
23
-
24
- ```javascript
25
- function validarCoberturaMVP(prdPath, requisitosPath) {
26
- const prd = lerArquivo(prdPath);
27
- const requisitos = lerArquivo(requisitosPath);
28
- const mvpItems = extrairItens('MVP', prd);
29
- const faltantes = mvpItems.filter(item => !requisitos.includes(item));
30
-
31
- return {
32
- percentual: ((mvpItems.length - faltantes.length) / mvpItems.length) * 100,
33
- faltantes
34
- };
35
- }
36
- ```
37
-
38
- ## Uso no /avancar-fase
39
-
40
- 1. Determine a transição atual (fase `N` → `N+1`).
41
- 2. Carregue o checklist correspondente na tabela acima.
42
- 3. Execute as funções auxiliares indicadas (ou use lógica equivalente).
43
- 4. permita avanço quando **todos** os itens estiverem `true` e o score da fase atingir o mínimo definido em `validation-rules.md`.
1
+ # 🔐 Quality Gates e Estruturas
2
+
3
+ > Este arquivo é a fonte da verdade para validar a qualidade e estrutura dos entregáveis.
4
+
5
+ ---
6
+
7
+ ## 🏗️ 1. Validação Estrutural (Obrigatória)
8
+
9
+ **Instrução:** Para cada fase, consulte o arquivo `rules/structure-rules.md`. Ele contém a tabela exata de regexes obrigatórias.
10
+
11
+ | Fase | Arquivo Alvo | Referência |
12
+ |------|--------------|------------|
13
+ | **Todas as Fases** | `docs/XX-nome/arquivo.md` | Consulte `rules/structure-rules.md` |
14
+
15
+ ---
16
+
17
+ ## 🧠 2. Validação Lógica (Semântica)
18
+
19
+ **Instrução:** Leia o conteúdo e aplique a lógica de verificação da transição atual.
20
+
21
+ ### Transição: Produto → Requisitos
22
+ * **Contexto:** Comparar `PRD.md` vs `requisitos.md`.
23
+ * **Regra Lógica:**
24
+ * `PARA CADA` funcionalidade no MVP do PRD:
25
+ * `VERIFIQUE SE` existe um requisito funcional correspondente em `requisitos.md`.
26
+ * `SE` cobertura < 100%:
27
+ * ❌ Falha: Cite as funcionalidades faltantes.
28
+
29
+ ### Transição: Requisitos UX Design
30
+ * **Contexto:** Ler `requisitos.md` vs `design-doc.md`.
31
+ * **Regra Lógica:**
32
+ * `PARA CADA` requisito funcional crítico:
33
+ * `VERIFIQUE SE` existe um fluxo de usuário ou tela descrita no Design Doc.
34
+
35
+ ### Transição: Arquitetura → Banco de Dados
36
+ * **Contexto:** Ler `arquitetura.md` e `modelo-dominio.md`.
37
+ * **Regra Lógica:**
38
+ * `VERIFIQUE SE` todas as entidades listadas no Modelo de Domínio possuem tabelas/coleções correspondentes no Design de Banco.
39
+
40
+ ### Transição: Contrato API Implementação (Backend/Frontend)
41
+ * **Contexto:** Ler `openapi.yaml` vs Código.
42
+ * **Regra Lógica:**
43
+ * `VERIFIQUE SE` todos os endpoints definidos no contrato existem no código.
44
+
45
+ ---
46
+
47
+ ## 🚦 3. Tabela de Decisão (Score)
48
+
49
+ Use em conjunto com `validation-rules.md` para determinar o Tier.
50
+
51
+ | Score Calculado | Ação do Agente |
52
+ | :--- | :--- |
53
+ | **100%** | ✅ **APROVAR**: Executar o avanço de fase. |
54
+ | **70% - 99%** | ⚠️ **ALERTA**: Listar pendências, mas permitir avanço (pergunte ao usuário). |
55
+ | **< 70%** | 🛑 **BLOQUEAR**: Não avance. Liste erros e pare. |
@@ -0,0 +1,40 @@
1
+ # 🛡️ Regras de Análise de Segurança (Code Review)
2
+
3
+ > Estas regras devem ser verificadas manualmente pela IA ao ler arquivos de código, especialmente antes de commits ou deploys.
4
+
5
+ Baseado no **OWASP Top 10**.
6
+
7
+ ## 🔴 Crítico (Bloqueante)
8
+
9
+ | ID | Regra | O que buscar (Padrão/Regex) | Correção Sugerida |
10
+ | :--- | :--- | :--- | :--- |
11
+ | **A01-ADMIN** | **Bypass de Admin** | `isAdmin\s*[=!]=\s*(true\|false)` ou check confiavel só no frontend | Verificar roles apenas no Backend/Token. |
12
+ | **A02-SECRET** | **Secret Hardcoded** | `(password\|secret\|key\|token)\s*[:=]\s*['"][^'"]{8,}['"]` | Mover para variáveis de ambiente (`process.env`). |
13
+ | **A03-SQLI** | **SQL Injection** | `query\("SELECT ... " + var` (Concatenação direta) | Usar Prepared Statements ou ORM. |
14
+ | **A03-EVAL** | **Uso de Eval** | `eval\(` | **Remover**. Usar JSON.parse ou alternativas seguras. |
15
+
16
+ ## 🟠 Alto (Requer Correção)
17
+
18
+ | ID | Regra | Padrão Visual | Correção |
19
+ | :--- | :--- | :--- | :--- |
20
+ | **A02-WEAK** | **Criptografia Fraca** | `md5(`, `sha1(` | Usar `bcrypt`, `argon2` ou `SHA-256`. |
21
+ | **A07-XSS** | **XSS (HTML Injection)** | `innerHTML =`, `dangerouslySetInnerHTML` | Usar sanitização (DOMPurify) ou textContent. |
22
+ | **A01-ID-REF** | **Exposição de ID** | URL com ID incremental `/user/123` sem auth check | Implementar verificação de permissão por recurso. |
23
+
24
+ ## 🟡 Médio (Sugestão de Melhoria)
25
+
26
+ | ID | Regra | Padrão Visual | Correção |
27
+ | :--- | :--- | :--- | :--- |
28
+ | **SEC-LOG** | **Log em Produção** | `console.log(` | Remover ou usar `logger.debug()`. |
29
+ | **SEC-TODO** | **TODO de Segurança** | `// TODO: security`, `// TODO: fix auth` | Resolver antes do merge. |
30
+ | **SEC-CORS** | **CORS Permissivo** | `Access-Control-Allow-Origin: *` | Restringir domínios. |
31
+
32
+ ---
33
+
34
+ ## 🚦 Como Usar
35
+
36
+ Durante a fase de **Implementação** ou **Refatoração**:
37
+
38
+ 1. Ao gerar código, faça uma auto-verificação rápida usando esta tabela.
39
+ 2. Se encontrar um padrão **Crítico**, corrija imediatamente.
40
+ 3. Se encontrar um padrão **Alto**, avise o usuário e sugira a correção.
@@ -0,0 +1,63 @@
1
+ # 📏 Regras de Validação Estrutural
2
+
3
+ > Estas regras definem as SEÇÕES OBRIGATÓRIAS (Headers) que devem existir nos documentos para cada fase.
4
+ > A validação deve ser feita via Regex no Header Markdown (`# ...` ou `## ...`).
5
+
6
+ ## 1. Produto (PRD)
7
+
8
+ | Seção Obrigatória | Regex Sugerida |
9
+ | :--- | :--- |
10
+ | **Problema** | `^#{1,2}\s*(problema|problem)` |
11
+ | **MVP/Escopo** | `^#{1,2}\s*(funcionalidade|feature|mvp|escopo)` |
12
+ | **Usuários** (Base+) | `^#{1,2}\s*(usuário|usuario|user|persona)` |
13
+ | **Métricas** (Base+) | `^#{1,2}\s*(métrica|metrica|sucesso|kpi)` |
14
+
15
+ ## 2. Requisitos
16
+
17
+ | Seção Obrigatória | Regex Sugerida |
18
+ | :--- | :--- |
19
+ | **Funcionais** | `^#{1,2}\s*(requisito|requirement|rf\d|funcional)` |
20
+ | **Não-Funcionais** | `^#{1,2}\s*(não.?funcional|nfr|rnf|performance|segurança)` |
21
+
22
+ ## 3. UX Design
23
+
24
+ | Seção Obrigatória | Regex Sugerida |
25
+ | :--- | :--- |
26
+ | **Jornadas** | `^#{1,2}\s*(jornada|journey|fluxo|flow)` |
27
+ | **Wireframes** | `^#{1,2}\s*(wireframe|protótipo|prototipo|tela|screen)` |
28
+
29
+ ## 4. Banco de Dados
30
+
31
+ | Seção Obrigatória | Regex Sugerida |
32
+ | :--- | :--- |
33
+ | **Schema/Tabelas** | `^#{1,2}\s*(tabela|table|schema|modelo)` |
34
+
35
+ ## 5. Arquitetura
36
+
37
+ | Seção Obrigatória | Regex Sugerida |
38
+ | :--- | :--- |
39
+ | **Diagrama (C4)** | `^#{1,2}\s*(c4|diagrama|arquitetura|architecture)` |
40
+ | **Stack** | `^#{1,2}\s*(stack|tecnologia|technology)` |
41
+ | **Decisões** | `^#{1,2}\s*(adr|decisão|decision)` |
42
+
43
+ ## 6. Testes
44
+
45
+ | Seção Obrigatória | Regex Sugerida |
46
+ | :--- | :--- |
47
+ | **Estratégia** | `^#{1,2}\s*(estratégia|strategy|plano)` |
48
+ | **Casos de Teste** | `^#{1,2}\s*(caso|case|cenário|scenario)` |
49
+
50
+ ## 7. Contratos API
51
+
52
+ | Seção Obrigatória | Regex Sugerida |
53
+ | :--- | :--- |
54
+ | **Endpoints** | `^#{1,2}\s*(endpoint|api|openapi|swagger)` |
55
+
56
+ ---
57
+
58
+ ## ⚙️ Instrução de Validação
59
+
60
+ Ao validar um entregável:
61
+ 1. Verifique a fase.
62
+ 2. Busque cada **Header** obrigatório usando a regex (case insensitive).
63
+ 3. Se faltar algum, o Gate falha.
@@ -1,97 +1,56 @@
1
- # 🛡️ Regras de Validação por Fase
2
-
3
- ## Fase 1 - Produto
4
- - Problema central definido
5
- - Público-alvo/personas
6
- - MVP listado e priorizado
7
- - Métricas de sucesso (North Star + KPIs)
8
- - Score mínimo: **75/100**
9
-
10
- ## Fase 2 - Requisitos
11
- - Cobertura 100% do MVP
12
- - Requisitos funcionais em formato testável
13
- - Requisitos não funcionais (performance, segurança)
14
- - Critérios de aceite (Given-When-Then)
15
- - Score mínimo: **70/100**
16
-
17
- ## Fase 3 - UX Design
18
- - Wireframes para todas as telas principais
19
- - Jornadas/fluxos de usuário descritos
20
- - Navegação coerente
21
- - Consistência visual e de componentes
22
- - Score mínimo: **70/100**
23
-
24
- ## Fase 4 - Prototipagem / Stitch (quando aplicável)
25
- - Protótipo navegável validado com stakeholders
26
- - Feedback registrado e aplicado
27
- - Export pronto para handoff ou Stitch output salvo
28
- - Score mínimo: **75/100**
29
-
30
- ## Fase 5 - Arquitetura
31
- - Stack definida
32
- - Diagrama C4 nível 2 ou 3
33
- - ADRs para decisões críticas
34
- - Requisitos não funcionais endereçados
35
- - Score mínimo: **80/100**
36
-
37
- ## Fase 6 - Modelo de Domínio
38
- - Entidades e relacionamentos definidos
39
- - Regras de negócio documentadas
40
- - Eventos e agregados identificados (quando necessário)
41
- - Score mínimo: **75/100**
42
-
43
- ## Fase 7 - Banco de Dados
44
- - Modelo relacional ou NoSQL definido
45
- - Índices/partições planejados
46
- - Estratégia de migração descrita
47
- - Score mínimo: **75/100**
48
-
49
- ## Fase 8 - Segurança
50
- - OWASP Top 10 avaliado
51
- - Autenticação/autorização descritas
52
- - Dados sensíveis mapeados e protegidos
53
- - Score mínimo: **80/100**
54
-
55
- ## Fase 9 - Testes
56
- - Estratégia (pirâmide) definida
57
- - Casos de teste críticos descritos
58
- - Ferramentas e ambientes definidos
59
- - Score mínimo: **75/100**
60
-
61
- ## Fase 10 - Backlog
62
- - Épicos e features priorizados
63
- - Histórias com critérios de aceite claros
64
- - Dependências mapeadas
65
- - Score mínimo: **75/100**
66
-
67
- ## Fase 11 - Contrato de API
68
- - Esquema OpenAPI completo
69
- - Versionamento/documentação definidas
70
- - Mocks ou client SDK disponíveis
71
- - Score mínimo: **80/100**
72
-
73
- ## Fase 12 - Frontend
74
- - Componentes implementados conforme design
75
- - Testes de componente ou integração passando
76
- - Responsividade e acessibilidade verificadas
77
- - Score mínimo: **80/100**
78
-
79
- ## Fase 13 - Backend
80
- - Endpoints implementados conforme contrato
81
- - Testes unitários e de integração passando
82
- - Migrações e jobs documentados
83
- - Score mínimo: **80/100**
84
-
85
- ## Fase 14 - Performance / Observabilidade (fluxo complexo)
86
- - Métricas e alertas configurados
87
- - Estratégia de cache/performance definida
88
- - Testes de carga planejados
89
- - Score mínimo: **80/100**
90
-
91
- ## Fase 15 - Integração / Deploy
92
- - Pipeline CI/CD verde
93
- - Testes E2E executados
94
- - Plano de rollback/documentação de release
95
- - Score mínimo: **85/100**
96
-
97
- > Use essas regras para preencher `fase.validacoes` e justificar o `score` atribuído no estado.
1
+ # 📏 Regras de Classificação e Score
2
+
3
+ > Definição dos critérios de aprovação baseados na complexidade do projeto.
4
+
5
+ ## Tiers de Projeto (Nível de Rigor)
6
+
7
+ Consulte `.maestro/estado.json` para saber o nível do seu projeto.
8
+
9
+ ### 🥉 Tier Essencial (POC, Script)
10
+ * **Foco**: Funciona?
11
+ * **Critérios de Check**:
12
+ 1. Código executa sem erro fatal?
13
+ 2. Objetivo principal foi atingido?
14
+ 3. Existe um README.md básico?
15
+
16
+ ### 🥈 Tier Base (Produto Interno, MVP)
17
+ * **Foco**: Qualidade Mínima
18
+ * **Critérios de Check (acumulativo)**:
19
+ 1. Critérios do Tier Essencial
20
+ 2. Testes unitários existem (mesmo que poucos)?
21
+ 3. Não erros visíveis de Lint/Typescript?
22
+ 4. Documentação técnica existe (`docs/`)?
23
+ 5. Validação de dados (ex: Zod) implementada?
24
+
25
+ ### 🥇 Tier Avançado (SaaS, Fintech, Alta Escala)
26
+ * **Foco**: Robustez e Segurança
27
+ * **Critérios de Check (acumulativo)**:
28
+ 1. Critérios do Tier Base ✅
29
+ 2. Segurança: Tratamento de erros e dados sensíveis?
30
+ 3. Observabilidade: Logs estruturados previstos?
31
+ 4. Testes de Integração/E2E previstos?
32
+ 5. Arquitetura desacoplada (SOLID/Clean Arch)?
33
+
34
+ ---
35
+
36
+ ## 🧮 Como Calcular o Score (Manual)
37
+
38
+ Ao realizar o checklist do Tier correspondente:
39
+
40
+ 1. Conte o número total de perguntas do checklist (ex: 5 critérios).
41
+ 2. Conte quantas foram respondidas com "SIM" (ex: 4).
42
+ 3. Aplique a fórmula:
43
+ ```
44
+ Score = (Itens OK / Total) * 100
45
+ ```
46
+ *Exemplo: (4 / 5) * 100 = 80*
47
+
48
+ ## 🚦 Tabela de Decisão
49
+
50
+ | Score Calculado | Ação Recomendada | Comando |
51
+ | :--- | :--- | :--- |
52
+ | **100** | Aprovado | ✅ Pode executar `/02-avancar-fase` |
53
+ | **70 a 99** | Aprovado com Ressalvas | ⚠️ Pode avançar, mas liste as pendências |
54
+ | **0 a 69** | **BLOQUEADO** | 🛑 NÃO avance. Solicite correções. |
55
+
56
+ > **Nota**: Se houver um bloqueio (Score < 70) mas o usuário EXIGIR avançar, trate como "Aprovação Manual" e peça uma justificativa.
@@ -21,7 +21,7 @@ Antes de qualquer decisão:
21
21
  1. **Ler estado** em `.maestro/estado.json` (se não existir, classificar como `novo_projeto`).
22
22
  2. **Validar consistência** comparando `estado.fases` com o fluxo MCP adequado.
23
23
  3. **Classificar estado** usando a função mental abaixo.
24
- 4. **Mapear ação** (`/iniciar-projeto`, `/continuar-fase`, `/avancar-fase`).
24
+ 4. **Mapear ação** (`/01-iniciar-projeto`, `/03-continuar-fase`, `/02-avancar-fase`).
25
25
  5. **Responder** com resumo e próxima ação sugerida.
26
26
 
27
27
  ```javascript
@@ -31,14 +31,14 @@ const fluxo = estado?.projeto
31
31
  : null;
32
32
 
33
33
  if (!estado || !estado.projeto?.nome) {
34
- return { status: 'novo_projeto', proximaAcao: '/iniciar-projeto' };
34
+ return { status: 'novo_projeto', proximaAcao: '/01-iniciar-projeto' };
35
35
  }
36
36
 
37
37
  const faseAtual = estado.fases[estado.faseAtual];
38
38
  if (!faseAtual || faseAtual.status !== 'concluida') {
39
39
  return {
40
40
  status: 'fase_incompleta',
41
- proximaAcao: '/continuar-fase',
41
+ proximaAcao: '/03-continuar-fase',
42
42
  fase: estado.faseAtual,
43
43
  arquivoFoco: faseAtual?.artefatos?.slice(-1)[0] || fluxo?.fases?.find(f => f.numero === estado.faseAtual)?.entregavel_esperado,
44
44
  divergenciasFluxo: compararComFluxo(estado.fases, fluxo?.fases)
@@ -47,7 +47,7 @@ if (!faseAtual || faseAtual.status !== 'concluida') {
47
47
 
48
48
  return {
49
49
  status: 'pronto_para_avancar',
50
- proximaAcao: '/avancar-fase',
50
+ proximaAcao: '/02-avancar-fase',
51
51
  fase: estado.faseAtual,
52
52
  proximaFase: estado.faseAtual + 1,
53
53
  divergenciasFluxo: compararComFluxo(estado.fases, fluxo?.fases)
@@ -59,8 +59,9 @@ return {
59
59
  ```
60
60
  📋 **Status Detectado:** {status}
61
61
  - Projeto: {estado.projeto.nome}
62
- - Fase atual: {estado.faseAtual}/{totalFases} - {faseAtual.nome}
63
- - Especialista: {faseAtual.especialista}
62
+ - Fase atual: {estado.faseAtual}/{totalFases} - {faseAtual.nome} (Status: {faseAtual.status})
63
+ - Tier: {estado.projeto.tier} | Nível: {estado.projeto.nivel}
64
+ - Última atualização: {estado.updated_at}
64
65
  - Arquivo foco: {arquivoFoco}
65
66
 
66
67
  🎯 **Próxima ação sugerida:** {proximaAcao}
@@ -0,0 +1,59 @@
1
+ ---
2
+ description: Workflow para inicializar um novo projeto Maestro com estrutura completa
3
+ ---
4
+
5
+ # 🚀 Workflow de Inicialização - /iniciar-projeto
6
+
7
+ ## 0. Fase Zero: Brainstorming (Opcional)
8
+
9
+ * **Condição:** Se o usuário não tem um escopo claro ou objetivo definido.
10
+ * **Ação:** Consulte `guides/guide-brainstorm.md` para conduzir uma sessão de ideação antes de iniciar.
11
+
12
+ ## 1. Coleta de Informações
13
+
14
+ * **Ação:** Pergunte ao usuário o nome do projeto (se não fornecido).
15
+ * **Ação:** Pergunte qual o objetivo principal (use a saída do Brainstorm).
16
+
17
+ ## 2. Setup de Diretórios
18
+
19
+ * **Ação:** Crie a estrutura de pastas usando `run_command` (mkdir) ou `write_to_file`.
20
+ * `.maestro/`
21
+ * `.maestro/history/`
22
+ * `docs/01-produto/`
23
+
24
+ ## 3. Inicialização de Estado (JSON)
25
+
26
+ * **Ação:** Crie ` .maestro/estado.json` (Estado Base):
27
+ ```json
28
+ {
29
+ "nome_projeto": "{NOME}",
30
+ "fase_atual": 1,
31
+ "fase_nome": "Produto",
32
+ "tier": "base",
33
+ "nivel": "a_definir",
34
+ "created_at": "{DATA}",
35
+ "updated_at": "{DATA}",
36
+ "entregaveis": {}
37
+ }
38
+ ```
39
+
40
+ * **Ação:** Crie ` .maestro/resumo.json` (Cache de Memória):
41
+ ```json
42
+ {
43
+ "resumo_executivo": "Projeto {NOME}: {OBJETIVO}",
44
+ "entregaveis": [],
45
+ "contexto_atual": {
46
+ "fase": "Produto",
47
+ "objetivo": "Definir o MVP e criar o PRD"
48
+ }
49
+ }
50
+ ```
51
+
52
+ ## 4. Boot da Fase 1
53
+
54
+ * **Ação:** Identifique o especialista da fase 1 ("Gestão de Produto").
55
+ * **Ação:** Identifique o template da fase 1 (`templates/PRD.md`).
56
+ * **Resposta ao Usuário:**
57
+ * Confirme que a "Infraestrutura Maestro" foi criada.
58
+ * Assuma a persona de **Gerente de Produto**.
59
+ * Inicie o Discovery do Produto.
@@ -0,0 +1,72 @@
1
+ ---
2
+ description: Workflow MESTRE para avançar fases com validação, classificação e persistência robusta
3
+ ---
4
+
5
+ # 🔄 Workflow de Avanço - /avancar-fase
6
+
7
+ ## 1. Leitura de Estado
8
+
9
+ * **Ação:** Leia o arquivo `.maestro/estado.json`.
10
+ * **Dados:** Identifique `fase_atual`, `tier`, `nome_projeto`.
11
+ * **Ação:** Identifique o arquivo entregável da fase atual (ex: `docs/01-produto/PRD.md`).
12
+
13
+ ## 2. Validação de Gate (Checklist Mestre)
14
+
15
+ * **Referência:** `.maestro/content/rules/quality-gates.md`
16
+ * **Passo 2.1: Estrutura**: Verifique se o entregável tem tamanho > 200 chars e possui as seções obrigatórias.
17
+ * **Passo 2.2: Semântica**: Verifique a lógica da transição específica.
18
+ * **Decisão**:
19
+ * `SE` falhar em qualquer validação crítica: **PARE**. Retorne erro ao usuário.
20
+
21
+ ## 2.5 Orquestração de Review (Momentum)
22
+
23
+ * **Condição:** Se o projeto for **Tier Avançado** ou a fase for crítica (ex: Arquitetura).
24
+ * **Ação:** Ative o **Modo Squad** (via `guides/guide-orquestracao.md`) para simular uma banca examinadora:
25
+ 1. **Persona Produto:** "Isso atende o usuário?"
26
+ 2. **Persona Tech:** "Isso escala? É seguro?"
27
+ 3. **Persona QA:** "Está testável?"
28
+ * **Decisão:** Só aprove o gate se as 3 personas concordarem.
29
+
30
+ ## 3. Gestão Inteligente (Condicional)
31
+
32
+ ### Apenas se Fase Atual == 1 (Produto)
33
+ * **Ação:** Leia o arquivo `.maestro/content/rules/complexity-rules.md`.
34
+ * **Execução:**
35
+ 1. Analise o `PRD.md` buscando as keywords da tabela de pontuação.
36
+ 2. Some os pontos (Entidades + Integrações + Segurança + etc).
37
+ 3. Defina o **Nível** (Simples/Médio/Complexo).
38
+ * **Persistência**: Atualize `.maestro/estado.json` com o novo `nivel` e `total_fases`.
39
+
40
+ ## 4. Persistência de Resumo (Memória)
41
+
42
+ * **Ação:** Leia (ou crie) `.maestro/resumo.json`.
43
+ * **Execução**:
44
+ 1. Crie uma entrada na lista `entregaveis` com um resumo de 1 linha do que foi feito nesta fase.
45
+ 2. Atualize o campo `contexto_atual` com o objetivo da próxima fase.
46
+ * **Persistência**: Salve o arquivo atualizado.
47
+
48
+ ## 5. Atualização de Estado e Transição
49
+
50
+ * **Ação:** Atualize `.maestro/estado.json`:
51
+ * `fase_atual`: incremente +1.
52
+ * `status`: "in_progress".
53
+ * `updated_at`: data/hora atual.
54
+ * `entregaveis`: adicione o path do arquivo aprovado.
55
+
56
+ ## 6. Carregamento da Próxima Fase
57
+
58
+
59
+
60
+ * **Ação:** Identifique o próximo especialista usando `guides/fases-mapeamento.md`.
61
+ * **Ação:** Liste os **Prompts Recomendados** encontrados na tabela para o usuário.
62
+ * **Ação (Automática):** Se estiver concluindo a **Fase de UX (3)** e o projeto for visual:
63
+ * Execute `guides/internal/automated-stitch.md` para verificar e ativar a prototipagem.
64
+ * **Ação Final:** Execute a automação `guides/internal/automated-system.md` para persistir o contexto global.
65
+ * **Ação Final:** Registre o evento usando `guides/internal/automated-events.md`.
66
+
67
+ * **Resposta ao Usuário:**
68
+ * ✅ **Confirmação**: "Fase X concluída (Score: Y%)."
69
+ * 📊 **Classificação** (Se Fase 1): "Projeto classificado como **[NÍVEL]** ([PONTOS] pts)."
70
+ * 🚀 **Próximo Passo**: "Iniciando Fase [N+1]: [NOME]. Especialista carregado."
71
+ * 📚 **Prompts Sugeridos**: [Liste os prompts aqui]
72
+ * **Imediatamente**: Assuma a persona e peça o primeiro input da nova fase.
@@ -0,0 +1,64 @@
1
+ ---
2
+ description: Guia de implementação "Frontend-First" para Histórias de Usuário
3
+ ---
4
+
5
+ # 🔨 Workflow de Implementação - /implementar-historia
6
+
7
+ > Este workflow deve ser invocado durante a **Fase de Implementação** (seja em um projeto novo ou feature). Ele garante que uma História de Usuário (User Story) seja entregue com qualidade e testabilidade.
8
+
9
+ ## 0. Contexto
10
+
11
+ * **Entrada:** ID da História (ex: `US-01`, `FEAT-A`)
12
+ * **Pré-requisito:** Contrato de Interface definido (se houver API envolvida).
13
+ * **Estratégia:** Se a história for muito complexa, considere usar **`/05-nova-feature`** ou consulte `guides/guide-orquestracao.md` para dividir o trabalho entre "Persona Backend" e "Persona Frontend".
14
+
15
+ ## 1. 📜 Etapa 1: Definição de Contratos
16
+
17
+ Antes de escrever código de produto, defina as interfaces.
18
+
19
+ 1. **Schema OpenAPI (se Backend envolvido):**
20
+ * Crie/atualize `docs/api/openapi.yaml` com o endpoint.
21
+ 2. **Types TypeScript (Compartilhado):**
22
+ * Gere interfacesTS que representam a entrada e saída do endpoint.
23
+ * Salve em `src/types/` (ex: `src/types/pedido.ts`).
24
+
25
+ ## 2. 🎭 Etapa 2: Mocking
26
+
27
+ Crie a infraestrutura para que o Frontend possa trabalhar independente do Backend.
28
+
29
+ 1. **Mock Data:**
30
+ * Crie um objeto JSON estático representando uma resposta de sucesso e casos de erro.
31
+
32
+ ## 3. 🎨 Etapa 3: Frontend (Componentes)
33
+
34
+ Comece a UI usando os Mocks.
35
+
36
+ 1. **Componentes Visuais:**
37
+ * Implemente os componentes de UI (botões, formulários, listas).
38
+ 2. **Hooks/Services:**
39
+ * Crie a camada de serviço que consome o mock (e futuramente a API).
40
+ 3. **Teste de Componente:**
41
+ * Verifique se a tela renderiza corretamente com os dados do Mock.
42
+
43
+ ## 4. ⚙️ Etapa 4: Backend
44
+
45
+ Implemente a lógica real.
46
+
47
+ 1. **DTOs:** Validação de entrada.
48
+ 2. **Controller/Service:** Lógica de negócio.
49
+ 3. **Repository:** Persistência.
50
+ 4. **Testes Unitários:** Garanta que a regra de negócio funcione isolada.
51
+
52
+ ## 5. 🔗 Etapa 5: Integração e Limpeza
53
+
54
+ A hora da verdade.
55
+
56
+ 1. **Troca de Chave:** Aponte o serviço do Frontend para a API real (remova/desabilite o Mock).
57
+ 2. **Teste Integrado:** Siga o `guides/guide-testes.md` para validar casos de borda e happy path.
58
+ 3. **Teste E2E Manual:** Navegue pelo fluxo completo.
59
+ 4. **Validação de Segurança:** Consulte `rules/security-rules.md` e verifique seu código.
60
+
61
+ > ✅ **Conclusão:** Quando o fluxo funcionar ponta-a-ponta:
62
+ 1. Faça o `commit`.
63
+ 2. Execute `guides/internal/automated-map.md` para atualizar a estrutura.
64
+ 3. Registre o evento com `guides/internal/automated-events.md`.