@maestro-ai/cli 1.1.0 → 1.2.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 (32) hide show
  1. package/README.md +84 -54
  2. package/content/guides/fases-mapeamento.md +35 -0
  3. package/content/guides/multi-ide.md +32 -0
  4. package/content/guides/playbook-orquestrador.md +45 -0
  5. package/content/rules/quality-gates.md +43 -0
  6. package/content/rules/validation-rules.md +97 -0
  7. package/content/templates/estado-template.json +73 -0
  8. package/content/workflows/avancar-fase.md +84 -0
  9. package/content/workflows/brainstorm.md +22 -8
  10. package/content/workflows/continuar-fase.md +64 -0
  11. package/content/workflows/{mcp-debug.md → corrigir-bug.md} +30 -6
  12. package/content/workflows/iniciar-projeto.md +59 -0
  13. package/content/workflows/maestro.md +77 -0
  14. package/content/workflows/{mcp-feature.md → nova-feature.md} +81 -28
  15. package/content/workflows/{mcp-refactor.md → refatorar-codigo.md} +33 -10
  16. package/content/workflows/status-projeto.md +54 -0
  17. package/dist/commands/init.d.ts +2 -2
  18. package/dist/commands/init.js +86 -74
  19. package/dist/index.js +94 -5
  20. package/package.json +10 -4
  21. package/content/workflows/README-MCP.md +0 -363
  22. package/content/workflows/debug.md +0 -103
  23. package/content/workflows/mcp-next.md +0 -388
  24. package/content/workflows/mcp-start.md +0 -304
  25. package/content/workflows/mcp-status.md +0 -400
  26. package/content/workflows/preview.md +0 -81
  27. package/content/workflows/status.md +0 -86
  28. /package/content/workflows/{create.md → create-app.md} +0 -0
  29. /package/content/workflows/{enhance.md → melhorar-feature.md} +0 -0
  30. /package/content/workflows/{test.md → testar.md} +0 -0
  31. /package/content/workflows/{ui-ux-pro-max.md → ux-avancado.md} +0 -0
  32. /package/content/workflows/{mcp-gate.md → validar-gate.md} +0 -0
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @maestro-ai/cli
2
2
 
3
- CLI para inicializar projetos com Maestro - Desenvolvimento assistido por IA.
3
+ CLI para inicializar projetos **Maestro File System** - Orquestrador chat-first com workflows inteligentes.
4
4
 
5
5
  ## 🚀 Uso Rápido
6
6
 
@@ -8,7 +8,7 @@ CLI para inicializar projetos com Maestro - Desenvolvimento assistido por IA.
8
8
  npx @maestro-ai/cli
9
9
  ```
10
10
 
11
- Só isso! O comando injeta automaticamente todos os arquivos na pasta atual.
11
+ Só isso! O comando injeta automaticamente todos os arquivos do Maestro na pasta atual.
12
12
 
13
13
  ---
14
14
 
@@ -18,25 +18,19 @@ Só isso! O comando injeta automaticamente todos os arquivos na pasta atual.
18
18
  |-------|-----------|
19
19
  | `--force` | Sobrescreve arquivos existentes |
20
20
  | `--minimal` | Instala apenas workflows + rules |
21
- | `--ide <ide>` | IDE alvo: `gemini`, `cursor`, `copilot`, `windsurf`, `all` (default: `all`) |
21
+ | `--ide <ide>` | IDE alvo: `windsurf`, `cursor`, `antigravity`, `all` (default: `windsurf`) |
22
22
 
23
23
  ### Exemplos
24
24
 
25
25
  ```bash
26
- # Instalação completa (todas as IDEs)
26
+ # Instalação completa (Windsurf - padrão)
27
27
  npx @maestro-ai/cli
28
28
 
29
- # Apenas para Gemini/Antigravity
30
- npx @maestro-ai/cli --ide gemini
31
-
32
29
  # Apenas para Cursor
33
30
  npx @maestro-ai/cli --ide cursor
34
31
 
35
- # Apenas para GitHub Copilot
36
- npx @maestro-ai/cli --ide copilot
37
-
38
- # Apenas para Windsurf
39
- npx @maestro-ai/cli --ide windsurf
32
+ # Apenas para Antigravity/Gemini
33
+ npx @maestro-ai/cli --ide antigravity
40
34
 
41
35
  # Sobrescrever arquivos existentes
42
36
  npx @maestro-ai/cli --force
@@ -55,45 +49,70 @@ projeto/
55
49
  │ ├── config.json # Configuração do projeto
56
50
  │ ├── history/ # Histórico de conversas
57
51
  │ └── content/ # Especialistas, templates, guides, prompts
58
- ├── .agent/
59
- │ ├── skills/ # Skills para a IA
60
- │ └── workflows/ # Workflows automatizados
61
- └── [Arquivos de regras por IDE]
52
+ ├── .windsurf/
53
+ │ ├── skills/ # Skills especializadas
54
+ │ └── workflows/ # Workflows inteligentes
55
+ └── .windsurfrules # Regras da IA para Windsurf
62
56
  ```
63
57
 
64
- ### Arquivos de Regras por IDE
58
+ ### Arquivos por IDE
65
59
 
66
- | IDE | Arquivo Gerado |
67
- |-----|----------------|
68
- | Gemini/Antigravity | `.gemini/GEMINI.md` |
69
- | Cursor | `.cursorrules` |
70
- | GitHub Copilot | `.github/copilot-instructions.md` |
71
- | Windsurf | `.windsurfrules` |
60
+ | IDE | Estrutura Gerada |
61
+ |-----|------------------|
62
+ | Windsurf | `.windsurf/workflows/` + `.windsurf/skills/` + `.windsurfrules` |
63
+ | Cursor | `.cursor/commands/` + `.cursor/skills/` + `.cursorrules` |
64
+ | Antigravity | `.agent/workflows/` + `.agent/skills/` + `.gemini/GEMINI.md` |
72
65
 
73
66
  ---
74
67
 
75
- ## 🔄 Fluxo Esperado
68
+ ## 🎯 Fluxo de Trabalho
69
+
70
+ O Maestro File System opera 100% localmente com workflows chat-first:
76
71
 
77
72
  ```mermaid
78
73
  graph LR
79
- A[npx @maestro-ai/cli] --> B{Opção --ide?}
80
- B -->|all| C[Gera todos]
81
- B -->|específico| D[Gera um arquivo]
82
- C --> E[.gemini/GEMINI.md]
83
- C --> F[.cursorrules]
84
- C --> G[.github/copilot-instructions.md]
85
- C --> H[.windsurfrules]
86
- D --> I[Arquivo da IDE escolhida]
74
+ A[/maestro] --> B{Estado do projeto}
75
+ B -->|Novo| C[/iniciar-projeto]
76
+ B -->|Em andamento| D[/continuar-fase]
77
+ B -->|Pronto| E[/avancar-fase]
78
+ C --> F[Fase 1: Produto]
79
+ D --> G[Retoma fase atual]
80
+ E --> H[Próxima fase]
87
81
  ```
88
82
 
89
- 1. **Execute o CLI** no diretório do seu projeto
90
- 2. **Escolha a IDE** (ou deixe `all` para suportar todas)
91
- 3. **Configure o MCP** na sua IDE
92
- 4. **Inicie um projeto Maestro** com `iniciar_projeto`
83
+ ### Comandos Principais
84
+
85
+ | Comando | Descrição |
86
+ |---------|-----------|
87
+ | `/maestro` | Workflow universal inteligente que detecta estado |
88
+ | `/iniciar-projeto` | Inicia novo projeto com classificação automática |
89
+ | `/continuar-fase` | Retoma a fase atual do ponto exato |
90
+ | `/avancar-fase` | Valida quality gates e avança para próxima fase |
91
+ | `/status-projeto` | Mostra progresso completo e métricas |
92
+
93
+ ### Workflows de Desenvolvimento
94
+
95
+ | Comando | Descrição |
96
+ |---------|-----------|
97
+ | `/nova-feature` | Adiciona funcionalidades (fluxo 6 fases) |
98
+ | `/corrigir-bug` | Debugging estruturado (fluxo 4 fases) |
99
+ | `/refatorar-codigo` | Refatoração segura com testes |
100
+ | `/brainstorm` | Exploração estruturada de ideias |
101
+ | `/deploy` | Deploy em produção com checklist |
102
+ | `/testar` | Geração e execução de testes |
103
+
104
+ ---
105
+
106
+ ## 🔄 Como Funciona
107
+
108
+ 1. **Estado Centralizado**: `.maestro/estado.json` mantém toda a evolução do projeto
109
+ 2. **Workflows Inteligentes**: Cada workflow carrega especialistas, prompts e templates adequados
110
+ 3. **Quality Gates**: Validações automáticas entre fases com regras específicas
111
+ 4. **Multi-IDE**: Suporte nativo para Windsurf, Cursor e Antigravity
93
112
 
94
113
  ---
95
114
 
96
- ## 📋 Comandos
115
+ ## 📋 Comandos CLI
97
116
 
98
117
  ### `init` (padrão)
99
118
 
@@ -114,24 +133,35 @@ npx @maestro-ai/cli update --force # Sobrescreve arquivos modificados
114
133
 
115
134
  ---
116
135
 
117
- ## Após Inicialização
118
-
119
- Configure o MCP na sua IDE:
120
-
121
- ```json
122
- {
123
- "mcpServers": {
124
- "maestro": {
125
- "serverUrl": "https://maestro.deluna.dev.br/mcp"
126
- }
127
- }
128
- }
129
- ```
136
+ ## 🎨 Exemplo de Uso
130
137
 
131
- Depois inicie um projeto:
138
+ ```bash
139
+ # 1. Inicializar projeto
140
+ npx @maestro-ai/cli
132
141
 
133
- ```
134
- @mcp:maestro iniciar_projeto
142
+ # 2. No Windsurf/Cursor, iniciar projeto
143
+ /maestro
144
+ # → Detecta projeto não inicializado
145
+ # → Sugere /iniciar-projeto
146
+
147
+ # 3. Iniciar projeto
148
+ /iniciar-projeto
149
+ # → Coleta informações
150
+ # → Classifica complexidade
151
+ # → Cria estado inicial
152
+ # → Prepara Fase 1
153
+
154
+ # 4. Desenvolver
155
+ /continuar-fase
156
+ # → Carrega especialista de Gestão de Produto
157
+ # → Abre templates PRD.md
158
+ # → Orienta preenchimento
159
+
160
+ # 5. Avançar quando pronto
161
+ /avancar-fase
162
+ # → Valida quality gate
163
+ # → Atualiza estado
164
+ # → Prepara Fase 2
135
165
  ```
136
166
 
137
167
  ---
@@ -142,7 +172,7 @@ Depois inicie um projeto:
142
172
  cd packages/cli
143
173
  npm install
144
174
  npm run build
145
- npm run dev -- init --ide gemini # Testar localmente
175
+ npm run dev -- init --ide windsurf # Testar localmente
146
176
  ```
147
177
 
148
178
  ---
@@ -0,0 +1,35 @@
1
+ ---
2
+ description: Mapeamento fase ↔ especialista, prompts, templates e skills
3
+ ---
4
+
5
+ # 📚 Mapa de Fases MCP → Recursos do Conteúdo
6
+
7
+ | Fase | Especialista | Prompt principal | Template(s) | Skills/Notas |
8
+ |------|--------------|------------------|-------------|--------------|
9
+ | 1. Produto | specialists/Especialista em Gestão de Produto.md | prompts/produto.md | templates/PRD.md | Skills: Produto, Discovery; carregar PRD existente antes de iniciar. |
10
+ | 2. Requisitos | specialists/Especialista em Engenharia de Requisitos com IA.md | prompts/requisitos.md | templates/requisitos.md, templates/matriz-rastreabilidade.md | Skills: Requirements, QA; referenciar MVP da fase 1. |
11
+ | 3. UX Design | specialists/Especialista em UX Design.md | prompts/ux.md | templates/design-doc.md, templates/mapa-navegacao.md | Skills: UX, Acessibilidade. |
12
+ | 4. Modelo de Domínio | specialists/Especialista em Modelagem e Arquitetura de Domínio com IA.md | prompts/modelo-dominio.md | templates/modelo-dominio.md | Skills: Architecture, Domain-driven. |
13
+ | 5. Banco de Dados | specialists/Especialista em Banco de Dados.md | prompts/banco.md | templates/design-banco.md | Skills: Database, Performance. |
14
+ | 6. Arquitetura | specialists/Especialista em Arquitetura de Software.md | prompts/arquitetura.md | templates/arquitetura.md, templates/adr.md | Skills: Architecture, Security. |
15
+ | 7. Segurança | specialists/Especialista em Segurança da Informação.md | prompts/seguranca.md | templates/checklist-seguranca.md | Skills: Security. |
16
+ | 8. Testes | specialists/Especialista em Análise de Testes.md | prompts/testes.md | templates/plano-testes.md, templates/criterios-aceite.md | Skills: Testing. |
17
+ | 9. Backlog | specialists/Especialista em Plano de Execução com IA.md | prompts/backlog.md | templates/backlog.md, templates/historia-usuario.md | Skills: Agile/Execution. |
18
+ | 10. Contrato API | specialists/Especialista em Contrato de API.md | prompts/api.md | templates/contrato-api.md | Skills: API, Integration. |
19
+ | 11. Frontend | specialists/Especialista em Desenvolvimento Frontend.md | prompts/frontend.md | templates/historia-frontend.md | Skills: Frontend, UI. |
20
+ | 12. Backend | specialists/Especialista em Desenvolvimento e Vibe Coding Estruturado.md | prompts/backend.md | templates/historia-backend.md | Skills: Backend, Clean Code. |
21
+ | 13. Integração/Deploy | specialists/Especialista em DevOps e Infraestrutura.md | prompts/devops.md | templates/arquitetura.md, templates/slo-sli.md | Skills: DevOps, Observabilidade. |
22
+
23
+ > Para fluxos simples (7 fases), considere apenas as linhas 1–7. Para fluxos complexos (17 fases), acrescente especialistas adicionais conforme `src/src/flows/types.ts` (Arquitetura Avançada, Performance, Observabilidade, etc.).
24
+
25
+ ## Como usar nos workflows
26
+
27
+ 1. **/continuar-fase**: após identificar a fase, abra o especialista e prompt correspondentes (ver tabela). Mencione explicitamente na resposta quais templates serão atualizados.
28
+ 2. **/avancar-fase**: use `entregavel_esperado` da tabela para verificar arquivos e validações antes de avançar.
29
+ 3. **/status-projeto**: liste os especialistas por fase concluída/parcial para ajudar o usuário a saber quem está ativo.
30
+
31
+ ## Manutenção
32
+
33
+ - Sempre que um novo especialista ou template for adicionado, atualize esta tabela.
34
+ - Se um prompt for renomeado, ajuste o nome aqui e nos workflows.
35
+ - Skills podem ser expandidas mencionando diretórios específicos em `content/skills/`.
@@ -0,0 +1,32 @@
1
+ ---
2
+ description: Como usar o Maestro File System em Windsurf, Cursor e Antigravity
3
+ ---
4
+
5
+ # 🌐 Guia Multi-IDE
6
+
7
+ ## Windsurf
8
+ - Workflows: `.windsurf/workflows/*.md`
9
+ - Skills: `.windsurf/skills/`
10
+ - Regras: `.windsurfrules`
11
+ - Comandos: usar `/maestro`, `/iniciar-projeto`, `/continuar-fase`, `/avancar-fase`, `/status-projeto` direto no chat.
12
+ - Dica: Windsurf expande markdown automaticamente; cite caminhos completos (ex.: `content/guides/fases-mapeamento.md`).
13
+
14
+ ## Cursor
15
+ - Comandos: `.cursor/commands/*.md` (mesmo nome dos workflows)
16
+ - Skills: `.cursor/skills/`
17
+ - Regras: `.cursorrules`
18
+ - Para iniciar, digite `/maestro` no chat do Cursor; os demais comandos funcionam igual.
19
+ - Dica: quando o comando pedir arquivos, use `cursor://` + caminho relativo para abrir.
20
+
21
+ ## Antigravity / Gemini
22
+ - Workflows: `.agent/workflows/`
23
+ - Skills: `.agent/skills/`
24
+ - Regras: `.gemini/GEMINI.md` (contém header com trigger `always_on`)
25
+ - Comandos: igual às outras IDEs; recomenda-se iniciar com `/maestro`.
26
+ - Dica: especifique claramente quando precisar ler/escrever arquivos para evitar passos extras do agente.
27
+
28
+ ## Boas práticas gerais
29
+ 1. Sempre mantenha `.maestro/estado.json` versionado (ou com backup) para permitir retomada entre IDEs.
30
+ 2. Após atualizar conteúdo do CLI, rode novamente `npx @maestro-ai/cli --force --ide <alvo>` conforme necessidade, lembrando que cada IDE possui diretórios próprios.
31
+ 3. Ao criar novos workflows/rules, copie-os para cada IDE ou reexecute o CLI.
32
+ 4. Consulte este guia sempre que precisar lembrar onde vivem os arquivos instalados.
@@ -0,0 +1,45 @@
1
+ ---
2
+ description: Playbook de governança do orquestrador Maestro
3
+ ---
4
+
5
+ # 📘 Playbook do Orquestrador Inteligente
6
+
7
+ ## 1. Fluxo padrão
8
+ 1. `/maestro` → Detecta estado, valida fluxos MCP e aponta próxima ação.
9
+ 2. `/iniciar-projeto` → Classifica, gera estado e prepara fase 1.
10
+ 3. `/continuar-fase` → Carrega especialista/prompt/templates e retoma do ponto exato.
11
+ 4. `/avancar-fase` → Executa quality gates e avança com registro em histórico.
12
+ 5. `/status-projeto` → Consolida progresso, scores, bloqueios e recomendações.
13
+
14
+ ## 2. Governança do estado (`.maestro/estado.json`)
15
+ - Sempre ler antes de executar qualquer workflow.
16
+ - Campos principais: `projeto`, `faseAtual`, `fases`, `qualityGates`, `historico`, `metrica`.
17
+ - Atualizações recomendadas:
18
+ - `/continuar-fase`: atualizar `fases[N].artefatos`, notas, progresso, `metrica.ultimoComando`.
19
+ - `/avancar-fase`: marcar `fases[N].status = 'concluida'`, preencher `dataConclusao`, incrementar `faseAtual`, registrar `historico`.
20
+ - `/status-projeto`: apenas leitura; reporte divergências.
21
+
22
+ ## 3. Métricas e registro
23
+ - `metrica.fasesConcluidas`: incrementado ao avançar.
24
+ - `metrica.tempoPorFase`: registrar timestamps quando iniciar/concluir fase.
25
+ - `metrica.scores`: manter média para relatórios (usado em `/status-projeto`).
26
+ - `metrica.ultimoComando`: útil para retomar contexto entre sessões.
27
+
28
+ ## 4. Troubleshooting
29
+ - **Estado ausente**: `/maestro` deve sugerir `/iniciar-projeto`.
30
+ - **Divergência com fluxo MCP**: `/maestro` lista fases divergentes; ajustar manualmente ou reinicializar.
31
+ - **Quality gate falhou**: `/avancar-fase` explica motivo e indica arquivos a revisar; refaça `/continuar-fase` com foco no ponto pendente.
32
+ - **Mudança de IDE**: consultar `guides/multi-ide.md` para garantir que workflows/skills estejam no local correto.
33
+
34
+ ## 5. Checklist antes de concluir uma fase
35
+ - Entregável existe e segue template.
36
+ - Regras específicas cumpridas (`rules/validation-rules.md`).
37
+ - Quality gate da transição validado (`rules/quality-gates.md`).
38
+ - Estado atualizado (status, score, notas, timestamps).
39
+ - Evento registrado em `historico` com resumo e próximos passos.
40
+
41
+ ## 6. Próximos passos sugeridos
42
+ - Automatizar atualização do estado dentro dos workflows (scripts mentais).
43
+ - Criar smoke tests para cada comando nas IDEs suportadas.
44
+ - Estender métricas para dashboards ou relatórios automáticos.
45
+ - Documentar casos de uso avançados (ex.: projetos multi-tier, Stitch opcional).
@@ -0,0 +1,43 @@
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. Só permita avanço quando **todos** os itens estiverem `true` e o score da fase atingir o mínimo definido em `validation-rules.md`.
@@ -0,0 +1,97 @@
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.
@@ -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,84 @@
1
+ ---
2
+ description: Valida fase atual com quality gates e prepara a próxima fase
3
+ ---
4
+
5
+ # 🔄 Workflow de Avanço - /avancar-fase
6
+
7
+ ## 1. Ler estado e fase 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 existe');
13
+
14
+ function salvarEstado(state) {
15
+ escreverJson('.maestro/estado.json', state, { spaces: 2 });
16
+ }
17
+ ```
18
+
19
+ ## 2. Checklist obrigatório
20
+
21
+ - `faseAtual.status` deve ser `concluida`.
22
+ - `faseAtual.score >= faseAtual.scoreMinimo`.
23
+ - Todos os itens de `faseAtual.validacoes` precisam estar `true`.
24
+ - Verificar bloqueios pendentes.
25
+
26
+ Se algum critério falhar, listar o motivo e encerrar sem avançar.
27
+
28
+ ## 3. Validação cruzada
29
+
30
+ Use regras específicas da transição (ver `content/rules/quality-gates.md`). Exemplo:
31
+
32
+ ```javascript
33
+ if (estado.faseAtual === 1) {
34
+ const prd = lerArquivo('docs/01-produto/PRD.md');
35
+ const requisitos = lerArquivo('docs/02-requisitos/requisitos.md');
36
+ const cobertura = validarCoberturaMVP(prd, requisitos);
37
+ if (cobertura.percentual < 100) throw new Error('MVP não está 100% coberto nos requisitos');
38
+ }
39
+ ```
40
+
41
+ ## 4. Determinar próxima fase
42
+
43
+ ```javascript
44
+ const PROGRESSAO = {
45
+ 1: { numero: 2, nome: 'Requisitos', especialista: 'Engenharia de Requisitos', entregavel: 'docs/02-requisitos/requisitos.md' },
46
+ 2: { numero: 3, nome: 'UX Design', especialista: 'UX Designer', entregavel: 'docs/03-ux/design-doc.md' },
47
+ // ... completar até o tier máximo
48
+ };
49
+
50
+ const proxima = PROGRESSAO[estado.faseAtual];
51
+ if (!proxima) return 'Projeto já está na última fase';
52
+ ```
53
+
54
+ Depois de obter `proxima`, consulte `content/guides/fases-mapeamento.md` para descobrir:
55
+
56
+ - **Especialista** em `content/specialists/` que atuará na próxima fase
57
+ - **Prompt principal** em `content/prompts/`
58
+ - **Templates** que devem ser carregados/atualizados
59
+ - **Skills** sugeridas em `content/skills/`
60
+
61
+ Inclua essas referências na resposta final para orientar o usuário sobre o contexto que será carregado quando `/continuar-fase` for executado.
62
+
63
+ ## 5. Atualizar estado
64
+
65
+ - Marcar `faseAtual.dataConclusao`.
66
+ - Incrementar `estado.faseAtual` para `proxima.numero`.
67
+ - Preparar entrada vazia para a próxima fase (`status: 'in_progress'`).
68
+ - Registrar evento no histórico (`fase_avancada`).
69
+ - Atualizar `estado.metrica.fasesConcluidas` e `estado.metrica.ultimoComando = '/avancar-fase'`.
70
+ - Chamar `salvarEstado(estado)` após todas as alterações.
71
+
72
+ ## 6. Mensagem de saída
73
+
74
+ ```
75
+ ✅ **Fase {faseAtual.numero} - {faseAtual.nome} concluída!**
76
+ 📊 Score: {faseAtual.score}/{faseAtual.scoreMinimo}
77
+ 🔍 Validações: {lista de validações confirmadas}
78
+
79
+ 🎯 **Próxima fase:** {proxima.nome}
80
+ 👤 Especialista: {proxima.especialista}
81
+ 📁 Arquivo inicial: {proxima.entregavel}
82
+
83
+ Execute `/continuar-fase` para começar imediatamente.
84
+ ```