@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
@@ -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}`
@@ -0,0 +1,55 @@
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.
@@ -0,0 +1,56 @@
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 há 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.
@@ -0,0 +1,73 @@
1
+ {
2
+ "projeto": {
3
+ "nome": "[Nome do Projeto]",
4
+ "descricao": "[Resumo do projeto]",
5
+ "tipo": "[poc|script|internal|product]",
6
+ "complexidade": "[simples|medio|complexo]",
7
+ "tier": "[essencial|base|avancado]",
8
+ "usarStitch": false,
9
+ "criadoEm": "[ISO datetime]",
10
+ "atualizadoEm": "[ISO datetime]"
11
+ },
12
+ "faseAtual": {
13
+ "numero": 1,
14
+ "nome": "Produto",
15
+ "status": "in_progress",
16
+ "especialista": "Gestão de Produto",
17
+ "score": null,
18
+ "scoreMinimo": 75,
19
+ "iniciadoEm": "[ISO datetime]",
20
+ "ultimoUpdate": "[ISO datetime]"
21
+ },
22
+ "fases": {
23
+ "1": {
24
+ "numero": 1,
25
+ "nome": "Produto",
26
+ "especialista": "Gestão de Produto",
27
+ "status": "pending",
28
+ "score": null,
29
+ "scoreMinimo": 75,
30
+ "artefatos": ["docs/01-produto/PRD.md"],
31
+ "validacoes": {
32
+ "problema_definido": false,
33
+ "personas": false,
34
+ "mvp_listado": false,
35
+ "metricas": false
36
+ }
37
+ },
38
+ "2": {
39
+ "numero": 2,
40
+ "nome": "Requisitos",
41
+ "especialista": "Engenharia de Requisitos",
42
+ "status": "pending",
43
+ "score": null,
44
+ "scoreMinimo": 70,
45
+ "artefatos": ["docs/02-requisitos/requisitos.md"],
46
+ "validacoes": {
47
+ "requisitos_funcionais": false,
48
+ "requisitos_nao_funcionais": false,
49
+ "criterios_aceite": false,
50
+ "cobertura_mvp": false
51
+ }
52
+ }
53
+ },
54
+ "qualityGates": {
55
+ "1_para_2": {
56
+ "validado": false,
57
+ "score": null,
58
+ "checks": ["mvp_100_coberto"]
59
+ }
60
+ },
61
+ "historico": [
62
+ {
63
+ "acao": "projeto_iniciado",
64
+ "detalhes": "Projeto criado a partir do template",
65
+ "timestamp": "[ISO datetime]"
66
+ }
67
+ ],
68
+ "metrica": {
69
+ "fasesConcluidas": 0,
70
+ "ultimoComando": null,
71
+ "tempoPorFase": {}
72
+ }
73
+ }
@@ -0,0 +1,78 @@
1
+ ---
2
+ description: Workflow universal inteligente que detecta estado e toma a próxima ação
3
+ ---
4
+
5
+ # 🤖 Workflow Universal - /maestro
6
+
7
+ ## Objetivo
8
+
9
+ Detectar automaticamente o estado do projeto Maestro, validar se o estado reflete os fluxos MCP (7/13/17 fases + Stitch) e decidir a ação adequada, respondendo no chat com contexto completo.
10
+
11
+ ## Sincronização com os fluxos MCP
12
+
13
+ Antes de qualquer decisão:
14
+
15
+ 1. Ler `.maestro/estado.json` **e** o template original em `packages/cli/content/templates/estado-template.json` para entender a estrutura completa.
16
+ 2. Ler `src/src/flows/types.ts` para conhecer `FLUXO_SIMPLES`, `FLUXO_MEDIO`, `FLUXO_COMPLEXO` e a inserção opcional de Stitch (`getFluxoComStitch`).
17
+ 3. Verificar se `estado.fases` segue a mesma ordem e quantidade de fases do fluxo correspondente. Se detectar divergências (fase faltando, numeração diferente), listar no resumo e sugerir ao usuário rodar `/iniciar-projeto` ou ajustar manualmente.
18
+
19
+ ## Como funciona
20
+
21
+ 1. **Ler estado** em `.maestro/estado.json` (se não existir, classificar como `novo_projeto`).
22
+ 2. **Validar consistência** comparando `estado.fases` com o fluxo MCP adequado.
23
+ 3. **Classificar estado** usando a função mental abaixo.
24
+ 4. **Mapear ação** (`/01-iniciar-projeto`, `/03-continuar-fase`, `/02-avancar-fase`).
25
+ 5. **Responder** com resumo e próxima ação sugerida.
26
+
27
+ ```javascript
28
+ const estado = lerJson('.maestro/estado.json');
29
+ const fluxo = estado?.projeto
30
+ ? getFluxoComStitch(estado.projeto.complexidade, estado.projeto.usarStitch)
31
+ : null;
32
+
33
+ if (!estado || !estado.projeto?.nome) {
34
+ return { status: 'novo_projeto', proximaAcao: '/01-iniciar-projeto' };
35
+ }
36
+
37
+ const faseAtual = estado.fases[estado.faseAtual];
38
+ if (!faseAtual || faseAtual.status !== 'concluida') {
39
+ return {
40
+ status: 'fase_incompleta',
41
+ proximaAcao: '/03-continuar-fase',
42
+ fase: estado.faseAtual,
43
+ arquivoFoco: faseAtual?.artefatos?.slice(-1)[0] || fluxo?.fases?.find(f => f.numero === estado.faseAtual)?.entregavel_esperado,
44
+ divergenciasFluxo: compararComFluxo(estado.fases, fluxo?.fases)
45
+ };
46
+ }
47
+
48
+ return {
49
+ status: 'pronto_para_avancar',
50
+ proximaAcao: '/02-avancar-fase',
51
+ fase: estado.faseAtual,
52
+ proximaFase: estado.faseAtual + 1,
53
+ divergenciasFluxo: compararComFluxo(estado.fases, fluxo?.fases)
54
+ };
55
+ ```
56
+
57
+ ## Template de resposta
58
+
59
+ ```
60
+ 📋 **Status Detectado:** {status}
61
+ - Projeto: {estado.projeto.nome}
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}
65
+ - Arquivo foco: {arquivoFoco}
66
+
67
+ 🎯 **Próxima ação sugerida:** {proximaAcao}
68
+ ➡️ Execute o comando correspondente ou peça um ajuste específico.
69
+
70
+ {divergenciasFluxo?.length ? `⚠️ Divergências detectadas entre estado e fluxo MCP:
71
+ - ${divergenciasFluxo.join('\n- ')}` : ''}
72
+ ```
73
+
74
+ ## Regras rápidas
75
+
76
+ - Sempre verificar se há bloqueios (`faseAtual.status === 'bloqueado'`) e destacar no resumo.
77
+ - Se detectar `novo_projeto`, **não** tentar gerar estado: apenas orientar o usuário a rodar `/iniciar-projeto`.
78
+ - Se o usuário preferir outra ação, respeitar e registrar no histórico (se aplicável).
@@ -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: Retoma a fase atual exatamente do ponto onde foi interrompida
3
+ ---
4
+
5
+ # 🔄 Workflow de Continuação - /continuar-fase
6
+
7
+ ## 1. Ler estado atual
8
+
9
+ ```javascript
10
+ const estado = lerJson('.maestro/estado.json');
11
+ const faseAtual = estado.fases[estado.faseAtual];
12
+ if (!faseAtual) throw new Error('Fase atual não encontrada');
13
+
14
+ function salvarEstado(state) {
15
+ escreverJson('.maestro/estado.json', state, { spaces: 2 });
16
+ }
17
+ ```
18
+
19
+ ## 2. Identificar último artefato
20
+
21
+ - Use `faseAtual.artefatos` para encontrar o arquivo principal.
22
+ - Se vazio, referencie o template padrão da fase (ex.: `docs/01-produto/PRD.md`).
23
+
24
+ ```javascript
25
+ const arquivo = faseAtual.artefatos?.slice(-1)[0] || faseAtual.entregavel;
26
+ const analise = analisarArquivo(arquivo);
27
+ /* analise = {
28
+ secoesPreenchidas,
29
+ secoesFaltantes,
30
+ percentualCompleto,
31
+ proximaSecao
32
+ } */
33
+ ```
34
+
35
+ ## 3. Mensagem de retomada
36
+
37
+ ```
38
+ 📋 **Retomando Fase {estado.faseAtual}/{estado.totalFases} - {faseAtual.nome}**
39
+ - Especialista: {faseAtual.especialista}
40
+ - Artefato: {arquivo}
41
+ - Progresso: {analise.percentualCompleto}%
42
+ - Última ação: {analise.ultimaSecao}
43
+ - Próxima tarefa: {analise.proximaSecao}
44
+ ```
45
+
46
+ ## 4. Carregar contexto
47
+
48
+ 1. Consulte `content/guides/fases-mapeamento.md` para mapear fase → especialista/prompt/template/skills.
49
+ 2. Abra o especialista e prompt correspondentes. Ex.: fase 2 → `specialists/Especialista em Engenharia de Requisitos com IA.md` + `prompts/requisitos.md`.
50
+ 3. Carregue os templates associados (ver tabela) e compare com o artefato atual para detectar seções faltantes.
51
+ 4. Liste explicitamente na resposta quais arquivos serão atualizados (ex.: `docs/02-requisitos/requisitos.md`, `templates/matriz-rastreabilidade.md`).
52
+
53
+ ## 5. Retomar execução
54
+
55
+ - Perguntar ao usuário se deseja continuar exatamente da próxima seção, revisar algo ou mudar o foco.
56
+ - Ao continuar, seguir checklist da fase (regras em `content/rules/validation-rules.md`).
57
+
58
+ ## 6. Atualização de estado (manual)
59
+
60
+ Quando terminar a sessão:
61
+ - Atualizar `faseAtual.progresso` e `faseAtual.artefatos`.
62
+ - Registrar nota no histórico, se necessário.
63
+ - Atualizar `estado.metrica.ultimoComando = '/continuar-fase'`.
64
+ - Chamar `salvarEstado(estado)` para persistir.
@@ -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`.