@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.
- package/README.md +84 -54
- package/content/guides/fases-mapeamento.md +34 -0
- package/content/guides/guide-brainstorm.md +38 -0
- package/content/guides/guide-orquestracao.md +45 -0
- package/content/guides/guide-testes.md +51 -0
- package/content/guides/guide-troubleshooting.md +43 -0
- package/content/guides/guide-validacao.md +50 -0
- package/content/guides/internal/automated-events.md +27 -0
- package/content/guides/internal/automated-map.md +56 -0
- package/content/guides/internal/automated-stitch.md +51 -0
- package/content/guides/internal/automated-system.md +46 -0
- package/content/guides/mapa-sistema.md +86 -0
- package/content/guides/multi-ide.md +32 -0
- package/content/guides/playbook-orquestrador.md +45 -0
- package/content/guides/workflows-avancados.md +62 -0
- package/content/rules/GEMINI.md +70 -762
- package/content/rules/RULES.md +71 -761
- package/content/rules/complexity-rules.md +43 -0
- package/content/rules/quality-gates.md +55 -0
- package/content/rules/security-rules.md +40 -0
- package/content/rules/structure-rules.md +63 -0
- package/content/rules/validation-rules.md +56 -0
- package/content/templates/estado-template.json +73 -0
- package/content/workflows/00-maestro.md +78 -0
- package/content/workflows/01-iniciar-projeto.md +59 -0
- package/content/workflows/02-avancar-fase.md +72 -0
- package/content/workflows/03-continuar-fase.md +64 -0
- package/content/workflows/04-implementar-historia.md +64 -0
- package/content/workflows/05-nova-feature.md +39 -0
- package/content/workflows/06-corrigir-bug.md +34 -0
- package/content/workflows/07-refatorar-codigo.md +34 -0
- package/dist/commands/init.d.ts +2 -2
- package/dist/commands/init.js +89 -76
- package/dist/index.js +94 -5
- package/package.json +10 -4
- package/content/workflows/README-MCP.md +0 -363
- package/content/workflows/brainstorm.md +0 -113
- package/content/workflows/create.md +0 -59
- package/content/workflows/debug.md +0 -103
- package/content/workflows/enhance.md +0 -63
- package/content/workflows/mcp-debug.md +0 -506
- package/content/workflows/mcp-feature.md +0 -385
- package/content/workflows/mcp-gate.md +0 -413
- package/content/workflows/mcp-next.md +0 -388
- package/content/workflows/mcp-refactor.md +0 -600
- package/content/workflows/mcp-start.md +0 -304
- package/content/workflows/mcp-status.md +0 -400
- package/content/workflows/orchestrate.md +0 -237
- package/content/workflows/plan.md +0 -89
- package/content/workflows/preview.md +0 -81
- package/content/workflows/status.md +0 -86
- package/content/workflows/test.md +0 -144
- package/content/workflows/ui-ux-pro-max.md +0 -296
- /package/content/workflows/{deploy.md → 08-deploy-projeto.md} +0 -0
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @maestro-ai/cli
|
|
2
2
|
|
|
3
|
-
CLI para inicializar projetos
|
|
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: `
|
|
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 (
|
|
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
|
|
36
|
-
npx @maestro-ai/cli --ide
|
|
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
|
-
├── .
|
|
59
|
-
│ ├── skills/ # Skills
|
|
60
|
-
│ └── workflows/ # Workflows
|
|
61
|
-
└──
|
|
52
|
+
├── .windsurf/
|
|
53
|
+
│ ├── skills/ # Skills especializadas
|
|
54
|
+
│ └── workflows/ # Workflows inteligentes
|
|
55
|
+
└── .windsurfrules # Regras da IA para Windsurf
|
|
62
56
|
```
|
|
63
57
|
|
|
64
|
-
### Arquivos
|
|
58
|
+
### Arquivos por IDE
|
|
65
59
|
|
|
66
|
-
| IDE |
|
|
67
|
-
|
|
68
|
-
|
|
|
69
|
-
| Cursor | `.cursorrules` |
|
|
70
|
-
|
|
|
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
|
-
##
|
|
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[
|
|
80
|
-
B -->|
|
|
81
|
-
B -->|
|
|
82
|
-
|
|
83
|
-
C --> F[
|
|
84
|
-
|
|
85
|
-
|
|
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
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
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
|
-
##
|
|
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
|
-
|
|
138
|
+
```bash
|
|
139
|
+
# 1. Inicializar projeto
|
|
140
|
+
npx @maestro-ai/cli
|
|
132
141
|
|
|
133
|
-
|
|
134
|
-
|
|
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
|
|
175
|
+
npm run dev -- init --ide windsurf # Testar localmente
|
|
146
176
|
```
|
|
147
177
|
|
|
148
178
|
---
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# 🗺️ Mapeamento de Fases e Recursos
|
|
2
|
+
|
|
3
|
+
> Guia para selecionar os Especialistas, Templates e Prompts corretos para cada fase do projeto.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 📋 Tabela Mestra
|
|
8
|
+
|
|
9
|
+
| Fase | Especialista (Persona) | Template (Doc) | Prompts Recomendados |
|
|
10
|
+
| :--- | :--- | :--- | :--- |
|
|
11
|
+
| **1. Produto** | Gestão de Produto | `PRD.md` | `produto/prd-completo`<br>`produto/north-star` |
|
|
12
|
+
| **2. Requisitos** | Engenharia de Requisitos | `requisitos` | `requisitos/analise-requisitos`<br>`requisitos/gherkin` |
|
|
13
|
+
| **3. UX Design** | UX Design | `design-doc` | `ux/design-system` |
|
|
14
|
+
| **4. Prototipagem** | Prototipagem Stitch | `prototipo-stitch` | `ux/stitch-prompts` (se disponível) |
|
|
15
|
+
| **Modelo de Domínio** | Modelagem de Domínio | `modelo-dominio` | `arquitetura/modelo-dominio`<br>`arquitetura/ddd-bounded-contexts` |
|
|
16
|
+
| **Banco de Dados** | Banco de Dados | `design-banco` | `database/modelagem-postgres`<br>`database/otimizacao-queries` |
|
|
17
|
+
| **Arquitetura** | Arquitetura de Software | `arquitetura` | `arquitetura/clean-architecture`<br>`arquitetura/arquitetura-c4-completo` |
|
|
18
|
+
| **Segurança** | Segurança da Informação | `checklist-seguranca` | `seguranca/security-review`<br>`seguranca/auth-patterns` |
|
|
19
|
+
| **Testes** | Análise de Testes | `plano-testes` | `testes/plano-testes`<br>`testes/tdd-workflow` |
|
|
20
|
+
| **Contrato API** | Contrato de API | `contrato-api` | `apis/openapi-design`<br>`apis/rest-best-practices` |
|
|
21
|
+
| **Frontend** | Desenv. Frontend | `historia-usuario` | `desenvolvimento/code-review`<br>`acessibilidade/wcag-checklist` |
|
|
22
|
+
| **Backend** | Desenvolvimento | `historia-usuario` | `desenvolvimento/code-review` |
|
|
23
|
+
| **Integração** | DevOps e Infra | `arquitetura` | `devops/ci-cd-pipeline` |
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## 🔍 Como Usar
|
|
28
|
+
|
|
29
|
+
Ao iniciar uma nova fase (via `/avancar-fase`):
|
|
30
|
+
|
|
31
|
+
1. Identifique a **Fase** na tabela acima.
|
|
32
|
+
2. Carregue o **Especialista**: `read_file('content/specialists/...')`.
|
|
33
|
+
3. Carregue o **Template**: `read_file('content/templates/...')`.
|
|
34
|
+
4. Sugira ao usuário carregar os **Prompts Recomendados**: `read_file('content/prompts/[CATEGORIA]/[NOME].md')`.
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# 🧠 Guia de Brainstorming & Ideação
|
|
2
|
+
|
|
3
|
+
> Use este guia quando o projeto ainda é apenas uma ideia vaga. Este processo ajuda a definir o Escopo Técnico necessário para o `/01-iniciar-projeto`.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 1. O Processo de Discovery
|
|
8
|
+
|
|
9
|
+
Antes de criar arquivos, dialogue com o usuário para preencher estas lacunas:
|
|
10
|
+
|
|
11
|
+
### A. Definição do Core
|
|
12
|
+
* **Problema:** Qual dor estamos resolvendo?
|
|
13
|
+
* **Solução:** Como resolvemos? (App, Site, API, Script?)
|
|
14
|
+
* **Público:** Quem vai usar?
|
|
15
|
+
|
|
16
|
+
### B. Análise Técnica (O "Como")
|
|
17
|
+
* **Dados:** O que precisamos salvar? (Usuários, Pedidos, Logs?)
|
|
18
|
+
* **Interface:** Web? Mobile? CLI?
|
|
19
|
+
* **Integrações:** Precisamos de APIs externas? (Stripe, OpenAI, Google Maps?)
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## 2. Técnicas de Perguntas (Socrático)
|
|
24
|
+
|
|
25
|
+
Não aceite respostas simples. Aprofunde:
|
|
26
|
+
|
|
27
|
+
* *Usuário:* "Quero um clone do Uber."
|
|
28
|
+
* *Agente:* "Para passageiros ou para entregas? Focado em mobile ou web admin também? Qual o diferencial do MVP?"
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## 3. Saída Esperada
|
|
33
|
+
|
|
34
|
+
O objetivo deste brainstorm é gerar um parágrafo de **Objetivo Claro** que alimentará o comando de início:
|
|
35
|
+
|
|
36
|
+
> "Sistema Web (Next.js) para gestão de entregas de petshop, com painel admin para lojistas e app mobile (PWA) para entregadores. MVP foca em agendamento."
|
|
37
|
+
|
|
38
|
+
-> **Agora você está pronto para rodar `/01-iniciar-projeto`.**
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# 🎻 Guia de Orquestração Multi-Agente
|
|
2
|
+
|
|
3
|
+
> Use este guia quando uma tarefa for complexa demais para ser resolvida linearmente.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Quando ativar o "Modo Squad"?
|
|
8
|
+
|
|
9
|
+
Se a Feature ou História envolve:
|
|
10
|
+
1. **Múltiplos Domínios:** (Ex: Banco de Dados + API + Frontend + Segurança).
|
|
11
|
+
2. **Risco Alto:** (Ex: Sistema de Pagamento, Autenticação).
|
|
12
|
+
3. **Refatoração Grande:** (Ex: Migrar de Javascript para Typescript).
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## O Protocolo de 3 Agentes
|
|
17
|
+
|
|
18
|
+
Em vez de tentar fazer tudo sozinho, divida a execução em 3 personas distintas (simuladas sequencialmente ou em paralelo):
|
|
19
|
+
|
|
20
|
+
### 1. O Arquiteto (Planner)
|
|
21
|
+
* **Foco:** Planejamento e Estrutura.
|
|
22
|
+
* **Ação:** Cria um `IMPLEMENTATION_PLAN.md`.
|
|
23
|
+
* **Não faz:** Não escreve código final.
|
|
24
|
+
|
|
25
|
+
### 2. O Desenvolvedor (Builder)
|
|
26
|
+
* **Foco:** Código e Funcionalidade.
|
|
27
|
+
* **Ação:** Implementa o plano.
|
|
28
|
+
* **Não faz:** Não julga a qualidade final (viés de criador).
|
|
29
|
+
|
|
30
|
+
### 3. O Auditor (Tester)
|
|
31
|
+
* **Foco:** Qualidade e Segurança.
|
|
32
|
+
* **Ação:** Roda testes, verifica `security-rules.md`, critica o código.
|
|
33
|
+
* **Output:** Relatório de Bugs/Vulnerabilidades.
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## Como Executar
|
|
38
|
+
|
|
39
|
+
No workflow `/05-nova-feature` ou `/04-implementar-historia`:
|
|
40
|
+
|
|
41
|
+
1. **Diga:** "Detectei complexidade alta. Ativando modo Orquestração."
|
|
42
|
+
2. **Passo 1:** Atue como Arquiteto e gere o Plano. Peça aprovação.
|
|
43
|
+
3. **Passo 2:** Atue como Desenvolvedor e escreva o código.
|
|
44
|
+
4. **Passo 3:** Atue como Auditor e rode os verificadores.
|
|
45
|
+
5. **Só então:** Marque como concluído.
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# 🧪 Guia de Estratégia de Testes
|
|
2
|
+
|
|
3
|
+
> Referência para garantir qualidade em cada entrega.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## A Pirâmide de Testes (Aplicada)
|
|
8
|
+
|
|
9
|
+
Não tente testar tudo igual. Distribua o esforço:
|
|
10
|
+
|
|
11
|
+
### 1. Unitários (70% do esforço)
|
|
12
|
+
* **Onde:** `src/utils/*.ts`, Regras de Negócio, Hooks complexos.
|
|
13
|
+
* **Ferramenta:** Jest / Vitest.
|
|
14
|
+
* **Foco:** Entradas e Saídas de funções isoladas.
|
|
15
|
+
* **Obrigatório para:** Qualquer lógica com `if/else`.
|
|
16
|
+
|
|
17
|
+
### 2. Integração (20% do esforço)
|
|
18
|
+
* **Onde:** API Endpoints (`/api/*`), Componentes Conectados.
|
|
19
|
+
* **Ferramenta:** React Testing Library, Supertest.
|
|
20
|
+
* **Foco:** "O componente renderiza com dados da API?", "O endpoint salva no banco?".
|
|
21
|
+
|
|
22
|
+
### 3. E2E (10% do esforço)
|
|
23
|
+
* **Onde:** Fluxos Críticos (Login, Checkout).
|
|
24
|
+
* **Ferramenta:** Playwright / Cypress.
|
|
25
|
+
* **Foco:** "O usuário consegue completar a tarefa?".
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## Checklist de Qualidade (Quality Gate)
|
|
30
|
+
|
|
31
|
+
Antes de entregar qualquer História (`/04-implementar-historia`):
|
|
32
|
+
|
|
33
|
+
- [ ] **Happy Path:** O fluxo principal funciona?
|
|
34
|
+
- [ ] **Edge Cases:** Testou inputs vazios, nulos ou inválidos?
|
|
35
|
+
- [ ] **Error Handling:** O sistema quebra ou mostra mensagem amigável?
|
|
36
|
+
- [ ] **Segurança:** Dados sensíveis estão protegidos?
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## Comandos Úteis
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
# Rodar todos os testes
|
|
44
|
+
npm test
|
|
45
|
+
|
|
46
|
+
# Rodar com cobertura
|
|
47
|
+
npm test -- --coverage
|
|
48
|
+
|
|
49
|
+
# Rodar apenas testes alterados (Watch mode)
|
|
50
|
+
npm test -- --watch
|
|
51
|
+
```
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# 🔧 Guia de Troubleshooting
|
|
2
|
+
|
|
3
|
+
> Resolva problemas comuns e estados de bloqueio no Maestro FS.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 🛑 Gate Bloqueado (Score < 70)
|
|
8
|
+
|
|
9
|
+
Se o workflow `/02-avancar-fase` te bloqueou, mas você **precisa** avançar (ex: é um projeto legado ou você validou manualmente de outra forma):
|
|
10
|
+
|
|
11
|
+
### A Solução "Limpa"
|
|
12
|
+
1. Leia o relatório de erro.
|
|
13
|
+
2. Corrija os arquivos (ex: adicione os cabeçalhos faltantes).
|
|
14
|
+
3. Tente novamente.
|
|
15
|
+
|
|
16
|
+
### A Solução "Force" (Manual)
|
|
17
|
+
O Maestro FS previne avanços sujos via comando, então você deve editar o estado manualmente:
|
|
18
|
+
|
|
19
|
+
1. Abra `.maestro/estado.json`.
|
|
20
|
+
2. Localize e **remova** os campos de bloqueio:
|
|
21
|
+
* `score_bloqueado`
|
|
22
|
+
* `motivo_bloqueio`
|
|
23
|
+
* `aguardando_aprovacao`
|
|
24
|
+
3. Salve o arquivo.
|
|
25
|
+
4. Execute `/02-avancar-fase` novamente.
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## ⚠️ Estado Dessincronizado
|
|
30
|
+
|
|
31
|
+
Se a IA diz que você está na Fase 3, mas você já terminou a Fase 5:
|
|
32
|
+
|
|
33
|
+
1. Abra `.maestro/estado.json`.
|
|
34
|
+
2. Edite `fase_atual` para o número correto.
|
|
35
|
+
3. Verifique se o array `entregaveis` contém os caminhos dos arquivos das fases anteriores.
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## 📄 Arquivos Faltando
|
|
40
|
+
|
|
41
|
+
Se um comando falhar dizendo `File not found: rules/structure-rules.md`:
|
|
42
|
+
1. Execute `/09-atualizar-mapa` para garantir que o sistema conhece a estrutura.
|
|
43
|
+
2. Se o arquivo realmente sumiu, copie do template original em `packages/cli/content/rules/`.
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# 🛡️ Guia de Validação de Qualidade
|
|
2
|
+
|
|
3
|
+
> Use este guia para verificar se o projeto atende aos requisitos antes de avançar de fase.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## checklist Universal (Baseado no Tier)
|
|
8
|
+
|
|
9
|
+
Verifique os itens definidos em `rules/validation-rules.md`.
|
|
10
|
+
* **Ex (Base):** Testes unitários existem? Lint passa? Documentação existe?
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## Checklist Específico da Transição
|
|
15
|
+
|
|
16
|
+
Consulte a tabela em `rules/quality-gates.md` para a transição `Fase Atual` → `Próxima Fase`.
|
|
17
|
+
* **Ex:** Se está em "Produto", verifique se o "MVP" do PRD.md está refletido nos documentos de Requisitos.
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Como Calcular o Score
|
|
22
|
+
|
|
23
|
+
1. Contabilize os itens validados vs. itens totais.
|
|
24
|
+
2. Calcule a porcentagem: `(Itens OK / Total) * 100`.
|
|
25
|
+
3. Determine o status:
|
|
26
|
+
* **Score 100%**: Aprovado (Verde).
|
|
27
|
+
* **Score >= 70%**: Aprovado com Ressalvas (Amarelo).
|
|
28
|
+
* **Score < 70%**: Bloqueado (Vermelho).
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## Relatório de Validação
|
|
33
|
+
|
|
34
|
+
Ao finalizar a análise, gere um relatório neste formato:
|
|
35
|
+
|
|
36
|
+
```markdown
|
|
37
|
+
🔍 **Relatório de Validação: Fase {numero} - {nome}**
|
|
38
|
+
**Score Calculado**: {score}/100 ({Status})
|
|
39
|
+
**Tier**: {tier}
|
|
40
|
+
|
|
41
|
+
### ✅ Itens Aprovados
|
|
42
|
+
- [Item 1]
|
|
43
|
+
|
|
44
|
+
### ❌ Pendências
|
|
45
|
+
- [Item Pendente]: {Motivo}
|
|
46
|
+
|
|
47
|
+
**Veredito**:
|
|
48
|
+
{Se Bloqueado}: 🛑 **BLOQUEADO**.
|
|
49
|
+
{Se Aprovado}: ✅ **APROVADO**.
|
|
50
|
+
```
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Workflow auxiliar para registrar eventos no histórico do projeto
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# 📜 /registrar-evento - Log de Auditoria
|
|
6
|
+
|
|
7
|
+
> O Maestro FS mantém um histórico sequencial de tudo que acontece no projeto. Use este workflow para adicionar entradas.
|
|
8
|
+
|
|
9
|
+
## 1. Estrutura do Evento
|
|
10
|
+
|
|
11
|
+
* **Arquivo Alvo:** `.maestro/history/events.jsonl`
|
|
12
|
+
* **Formato (JSON Lines):**
|
|
13
|
+
```json
|
|
14
|
+
{"ts": "ISO-DATE", "type": "EVENT_TYPE", "fase": 1, "data": {...}}
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## 2. Tipos de Evento Comuns
|
|
18
|
+
|
|
19
|
+
* `fase_iniciada`: Quando `/iniciar-projeto` ou transição ocorre.
|
|
20
|
+
* `gate_validado`: Resultado do `/avancar-fase`.
|
|
21
|
+
* `entregavel_salvo`: Novo arquivo em `docs/`.
|
|
22
|
+
* `feature_start`: Início de `/nova-feature`.
|
|
23
|
+
|
|
24
|
+
## 3. Ação
|
|
25
|
+
|
|
26
|
+
* **Instrução:** Adicione uma nova linha ao final do arquivo `events.jsonl` com o JSON do evento.
|
|
27
|
+
* **Nota:** Se o diretório `history/` não existir, crie-o.
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Workflow para mapear a estrutura do projeto e manter o Knowledge Graph atualizado
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# 🗺️ Workflow de Mapeamento - /atualizar-mapa
|
|
6
|
+
|
|
7
|
+
> Mantenha o arquivo `.maestro/mapa.md` atualizado para que a IA tenha "consciência situacional" do projeto sem precisar escanear todos os arquivos repetidamente.
|
|
8
|
+
|
|
9
|
+
## 1. Escaneamento do Projeto
|
|
10
|
+
|
|
11
|
+
* **Ação:** Liste arquivos e pastas principais em `src/`, `docs/`, `tests/` (ignore `node_modules`, `dist`).
|
|
12
|
+
* **Ação:** Identifique componentes chave:
|
|
13
|
+
* **Entidades:** Estruturas de dados, Models, Schemas.
|
|
14
|
+
* **Endpoints:** Rotas de API (Controllers, Routes).
|
|
15
|
+
* **Serviços:** Lógica de negócio.
|
|
16
|
+
* **Frontend:** Páginas e Componentes reutilizáveis.
|
|
17
|
+
|
|
18
|
+
## 2. Atualização do Mapa
|
|
19
|
+
|
|
20
|
+
* **Ação:** Crie ou Reescreva `.maestro/mapa.md` com o seguinte formato:
|
|
21
|
+
|
|
22
|
+
```markdown
|
|
23
|
+
# 🗺️ Mapa do Projeto
|
|
24
|
+
|
|
25
|
+
## 🏗️ Estrutura de Pastas
|
|
26
|
+
- `src/`
|
|
27
|
+
- `controllers/` - Controladores da API
|
|
28
|
+
- `models/` - Entidades do Banco
|
|
29
|
+
...
|
|
30
|
+
|
|
31
|
+
## 📦 Entidades de Domínio
|
|
32
|
+
| Entidade | Arquivo Principal | Descrição |
|
|
33
|
+
| :--- | :--- | :--- |
|
|
34
|
+
| `Usuario` | `src/models/User.ts` | Dados de acesso e perfil |
|
|
35
|
+
...
|
|
36
|
+
|
|
37
|
+
## 🔌 Endpoints de API
|
|
38
|
+
| Método | Rota | Controller |
|
|
39
|
+
| :--- | :--- | :--- |
|
|
40
|
+
| `GET` | `/users` | `UserController.list` |
|
|
41
|
+
...
|
|
42
|
+
|
|
43
|
+
## 🧩 Componentes Chave (Frontend)
|
|
44
|
+
- `Button` (`src/components/ui/Button.tsx`)
|
|
45
|
+
...
|
|
46
|
+
|
|
47
|
+
## 📚 Dependências Externas (Principais)
|
|
48
|
+
- `express` (Web Framework)
|
|
49
|
+
- `typeorm` (Database)
|
|
50
|
+
...
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## 3. Conclusão
|
|
54
|
+
|
|
55
|
+
* **Ação:** Informe ao usuário que o mapa foi atualizado.
|
|
56
|
+
* **Dica:** Sugira usar isso antes de grandes refatorações ou onboardings.
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Workflow para habilitar a fase de Prototipagem com Google Stitch
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# 🧵 /habilitar-stitch - Prototipagem com IA
|
|
6
|
+
|
|
7
|
+
> Use este workflow preferencialmente **após concluir a Fase de UX Design**. Isso permite criar protótipos funcionais baseados nos wireframes/jornadas definidos.
|
|
8
|
+
|
|
9
|
+
## 1. Verificação de Pré-requisitos
|
|
10
|
+
|
|
11
|
+
* **Ação:** Verifique se a Fase de UX (geralmente Fase 3) está concluída ou em andamento.
|
|
12
|
+
* *Motivo:* O Stitch precisa de contexto visual (descrições do Design Doc) para gerar bons resultados.
|
|
13
|
+
|
|
14
|
+
## 2. Injeção de Fase (Modificação de Fluxo)
|
|
15
|
+
|
|
16
|
+
* **Ação:** Leia `.maestro/estado.json`.
|
|
17
|
+
* **Lógica de Inserção:**
|
|
18
|
+
1. Identifique a Fase Atual (vamos assumir que é N).
|
|
19
|
+
2. O Stitch será inserido como a **Próxima Fase (N+1)**.
|
|
20
|
+
3. Todas as fases futuras (Arquitetura, Banco, etc.) devem ser **renumeradas (+1)**.
|
|
21
|
+
4. Atualize o `total_fases` (+1).
|
|
22
|
+
|
|
23
|
+
* **Atualização do JSON (`estado.json`):**
|
|
24
|
+
```json
|
|
25
|
+
{
|
|
26
|
+
"usar_stitch": true,
|
|
27
|
+
"total_fases": {TOTAL_ANTERIOR + 1},
|
|
28
|
+
"fases_personalizadas": [
|
|
29
|
+
{
|
|
30
|
+
"numero": 4,
|
|
31
|
+
"nome": "Prototipagem Stitch",
|
|
32
|
+
"especialista": "Prototipagem Rápida",
|
|
33
|
+
"template": "prototipo-stitch",
|
|
34
|
+
"entregavel": "prototipos.md"
|
|
35
|
+
}
|
|
36
|
+
]
|
|
37
|
+
}
|
|
38
|
+
```
|
|
39
|
+
*(Nota: A IA deve manter essa lógica "mentalmente" ou registrar no campo `fases_personalizadas` se o sistema suportar, ou simplesmente saber que agora existe uma fase extra).*
|
|
40
|
+
|
|
41
|
+
## 3. Execução da Fase
|
|
42
|
+
|
|
43
|
+
* **Ação:** Se estiver pronto para começar agora, carregue o template `templates/prototipo-stitch.md`.
|
|
44
|
+
* **Instrução:**
|
|
45
|
+
1. Converta as jornadas de UX em Prompts para o Stitch.
|
|
46
|
+
2. Gere as telas.
|
|
47
|
+
3. Salve o código/assets em `docs/04-prototipagem/`.
|
|
48
|
+
|
|
49
|
+
## 4. Confirmação
|
|
50
|
+
|
|
51
|
+
* **Mensagem:** "Fase de Prototipagem habilitada. O fluxo foi ajustado."
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Workflow para atualizar o arquivo de contexto mestre (SYSTEM.md)
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# 📝 /atualizar-system - Manutenção de Contexto
|
|
6
|
+
|
|
7
|
+
> Este trabalho garante que o arquivo `.maestro/SYSTEM.md` reflita o estado exato do projeto, servindo como "memória rápida" para a IA a cada nova sessão.
|
|
8
|
+
|
|
9
|
+
## 1. Coleta de Dados
|
|
10
|
+
|
|
11
|
+
* **Ação:** Leia `.maestro/estado.json`.
|
|
12
|
+
* **Ação:** Leia `.maestro/resumo.json`.
|
|
13
|
+
|
|
14
|
+
## 2. Geração de SYSTEM.md
|
|
15
|
+
|
|
16
|
+
* **Ação:** Sobrescreva `.maestro/SYSTEM.md` com o seguinte template preenchido:
|
|
17
|
+
|
|
18
|
+
```markdown
|
|
19
|
+
# Sistema: {nome_projeto}
|
|
20
|
+
|
|
21
|
+
> Contexto atualizado automaticamente pelo Maestro FS.
|
|
22
|
+
|
|
23
|
+
## Estado Atual
|
|
24
|
+
|
|
25
|
+
| Campo | Valor |
|
|
26
|
+
|-------|-------|
|
|
27
|
+
| **Fase** | {fase_atual}/{total_fases} - {nome_fase} |
|
|
28
|
+
| **Nível** | {nivel} |
|
|
29
|
+
| **Última Atualização** | {data_atual} |
|
|
30
|
+
|
|
31
|
+
## Objetivo Atual (Contexto)
|
|
32
|
+
{contexto_atual.objetivo}
|
|
33
|
+
|
|
34
|
+
## Especialista Ativo
|
|
35
|
+
🤖 **{especialista_da_fase}**
|
|
36
|
+
|
|
37
|
+
## Artefatos Gerados
|
|
38
|
+
{lista_de_entregaveis_formatada}
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
*Para ver detalhes completos, leia .maestro/resumo.json*
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## 3. Trigger Automático
|
|
45
|
+
|
|
46
|
+
* **Dica:** Este workflow deve ser rodado ao final de cada `/avancar-fase` ou `/iniciar-projeto`.
|