context-first-cli 1.8.2 → 2.0.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/dist/commands/create-orchestrator.d.ts.map +1 -1
- package/dist/commands/create-orchestrator.js +15 -3
- package/dist/commands/create-orchestrator.js.map +1 -1
- package/dist/commands/feature.d.ts.map +1 -1
- package/dist/commands/feature.js +33 -2
- package/dist/commands/feature.js.map +1 -1
- package/dist/commands/update-commands.d.ts.map +1 -1
- package/dist/commands/update-commands.js +42 -2
- package/dist/commands/update-commands.js.map +1 -1
- package/dist/templates/commands/en/engineer/plan.md +297 -0
- package/dist/templates/commands/en/engineer/pr.md +167 -0
- package/dist/templates/commands/en/engineer/pre-pr.md +262 -0
- package/dist/templates/commands/en/engineer/start.md +281 -0
- package/dist/templates/commands/en/engineer/work.md +197 -0
- package/dist/templates/commands/en/products/check.md +233 -0
- package/dist/templates/commands/en/products/collect.md +156 -0
- package/dist/templates/commands/en/products/refine.md +222 -0
- package/dist/templates/commands/en/products/spec.md +267 -0
- package/dist/templates/commands/en/quality/metrics.md +240 -0
- package/dist/templates/commands/en/quality/observe.md +168 -0
- package/dist/templates/commands/en/warm-up.md +78 -0
- package/dist/templates/commands/es/engineer/plan.md +297 -0
- package/dist/templates/commands/es/engineer/pr.md +167 -0
- package/dist/templates/commands/es/engineer/pre-pr.md +262 -0
- package/dist/templates/commands/es/engineer/start.md +281 -0
- package/dist/templates/commands/es/engineer/work.md +197 -0
- package/dist/templates/commands/es/products/check.md +233 -0
- package/dist/templates/commands/es/products/collect.md +156 -0
- package/dist/templates/commands/es/products/refine.md +222 -0
- package/dist/templates/commands/es/products/spec.md +267 -0
- package/dist/templates/commands/es/quality/metrics.md +240 -0
- package/dist/templates/commands/es/quality/observe.md +168 -0
- package/dist/templates/commands/es/warm-up.md +78 -0
- package/dist/utils/config.d.ts +1 -0
- package/dist/utils/config.d.ts.map +1 -1
- package/dist/utils/config.js.map +1 -1
- package/package.json +1 -1
- package/templates/commands/en/engineer/plan.md +297 -0
- package/templates/commands/en/engineer/pr.md +167 -0
- package/templates/commands/en/engineer/pre-pr.md +262 -0
- package/templates/commands/en/engineer/start.md +281 -0
- package/templates/commands/en/engineer/work.md +197 -0
- package/templates/commands/en/products/check.md +233 -0
- package/templates/commands/en/products/collect.md +156 -0
- package/templates/commands/en/products/refine.md +222 -0
- package/templates/commands/en/products/spec.md +267 -0
- package/templates/commands/en/quality/metrics.md +240 -0
- package/templates/commands/en/quality/observe.md +168 -0
- package/templates/commands/en/warm-up.md +78 -0
- package/templates/commands/es/engineer/plan.md +297 -0
- package/templates/commands/es/engineer/pr.md +167 -0
- package/templates/commands/es/engineer/pre-pr.md +262 -0
- package/templates/commands/es/engineer/start.md +281 -0
- package/templates/commands/es/engineer/work.md +197 -0
- package/templates/commands/es/products/check.md +233 -0
- package/templates/commands/es/products/collect.md +156 -0
- package/templates/commands/es/products/refine.md +222 -0
- package/templates/commands/es/products/spec.md +267 -0
- package/templates/commands/es/quality/metrics.md +240 -0
- package/templates/commands/es/quality/observe.md +168 -0
- package/templates/commands/es/warm-up.md +78 -0
- package/templates/commands/pt-BR/engineer/plan.md +297 -0
- package/templates/commands/pt-BR/engineer/pr.md +167 -0
- package/templates/commands/pt-BR/engineer/pre-pr.md +262 -0
- package/templates/commands/pt-BR/engineer/start.md +281 -0
- package/templates/commands/pt-BR/engineer/work.md +197 -0
- package/templates/commands/pt-BR/products/check.md +233 -0
- package/templates/commands/pt-BR/products/collect.md +156 -0
- package/templates/commands/pt-BR/products/refine.md +222 -0
- package/templates/commands/pt-BR/products/spec.md +267 -0
- package/templates/commands/pt-BR/quality/metrics.md +240 -0
- package/templates/commands/pt-BR/quality/observe.md +168 -0
- package/templates/commands/pt-BR/warm-up.md +78 -0
- /package/{templates/commands → dist/templates/commands/pt-BR}/engineer/plan.md +0 -0
- /package/{templates/commands → dist/templates/commands/pt-BR}/engineer/pr.md +0 -0
- /package/{templates/commands → dist/templates/commands/pt-BR}/engineer/pre-pr.md +0 -0
- /package/{templates/commands → dist/templates/commands/pt-BR}/engineer/start.md +0 -0
- /package/{templates/commands → dist/templates/commands/pt-BR}/engineer/work.md +0 -0
- /package/{templates/commands → dist/templates/commands/pt-BR}/products/check.md +0 -0
- /package/{templates/commands → dist/templates/commands/pt-BR}/products/collect.md +0 -0
- /package/{templates/commands → dist/templates/commands/pt-BR}/products/refine.md +0 -0
- /package/{templates/commands → dist/templates/commands/pt-BR}/products/spec.md +0 -0
- /package/{templates/commands → dist/templates/commands/pt-BR}/quality/metrics.md +0 -0
- /package/{templates/commands → dist/templates/commands/pt-BR}/quality/observe.md +0 -0
- /package/{templates/commands → dist/templates/commands/pt-BR}/warm-up.md +0 -0
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
# Refinamento de Requisitos
|
|
2
|
+
|
|
3
|
+
Este comando refina uma issue coletada, transformando-a em requisitos claros e validados.
|
|
4
|
+
|
|
5
|
+
## ⚠️ IMPORTANTE: Este Comando NÃO Implementa Código
|
|
6
|
+
|
|
7
|
+
**Este comando é APENAS para refinamento de requisitos:**
|
|
8
|
+
- ✅ Refinar e validar requisitos
|
|
9
|
+
- ✅ Atualizar issue no task manager via MCP
|
|
10
|
+
- ✅ **LER** arquivos dos repositórios principais (read-only)
|
|
11
|
+
- ❌ **NÃO implementar código**
|
|
12
|
+
- ❌ **NÃO fazer edits em arquivos de código**
|
|
13
|
+
- ❌ **NÃO fazer checkout de branches nos repositórios principais**
|
|
14
|
+
- ❌ **NÃO fazer commits**
|
|
15
|
+
|
|
16
|
+
**Próximo passo**: `/spec [ISSUE-ID]` para criar a especificação completa (PRD).
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## 📋 Pré-requisitos
|
|
21
|
+
|
|
22
|
+
- Issue já coletada via `/collect`
|
|
23
|
+
- Contexto do projeto será carregado automaticamente (veja seção "Carregar MetaSpecs" abaixo)
|
|
24
|
+
|
|
25
|
+
## 🎯 Objetivo
|
|
26
|
+
|
|
27
|
+
Refinar a issue coletada, esclarecendo:
|
|
28
|
+
- Escopo exato (o que entra e o que não entra)
|
|
29
|
+
- Critérios de aceitação claros
|
|
30
|
+
- Impacto em cada repositório
|
|
31
|
+
- Dependências técnicas
|
|
32
|
+
- Riscos e restrições
|
|
33
|
+
|
|
34
|
+
## 📝 Processo de Refinamento
|
|
35
|
+
|
|
36
|
+
### 1. Carregar Issue
|
|
37
|
+
|
|
38
|
+
**PRIORIDADE 1: Usar MCP (Model Context Protocol)**
|
|
39
|
+
|
|
40
|
+
- Leia `ai.properties.md` do orchestrator para identificar o `task_management_system`
|
|
41
|
+
- Use o MCP apropriado para buscar a issue:
|
|
42
|
+
- `task_management_system=jira`: Use MCP do Jira
|
|
43
|
+
- `task_management_system=linear`: Use MCP do Linear
|
|
44
|
+
- `task_management_system=github`: Use MCP do GitHub
|
|
45
|
+
- Carregue todos os dados da issue (título, descrição, labels, etc.)
|
|
46
|
+
|
|
47
|
+
**FALLBACK: Se MCP não estiver disponível ou falhar**
|
|
48
|
+
|
|
49
|
+
- Leia `./.sessions/<ISSUE-ID>/collect.md`
|
|
50
|
+
- Se o arquivo não existir, informe o erro ao usuário
|
|
51
|
+
|
|
52
|
+
### 2. Carregar MetaSpecs
|
|
53
|
+
|
|
54
|
+
**Localizar MetaSpecs automaticamente**:
|
|
55
|
+
1. Leia `context-manifest.json` do orchestrator
|
|
56
|
+
2. Encontre o repositório com `"role": "metaspecs"`
|
|
57
|
+
3. Leia `ai.properties.md` para obter o `base_path`
|
|
58
|
+
4. O metaspecs está em: `{base_path}/{metaspecs-repo-id}/`
|
|
59
|
+
5. Leia os arquivos `index.md` relevantes para entender:
|
|
60
|
+
- Arquitetura do sistema
|
|
61
|
+
- Padrões de design
|
|
62
|
+
- Restrições técnicas
|
|
63
|
+
- Convenções do projeto
|
|
64
|
+
|
|
65
|
+
### 3. Análise de Escopo
|
|
66
|
+
|
|
67
|
+
Defina claramente:
|
|
68
|
+
|
|
69
|
+
**O que ESTÁ no escopo**:
|
|
70
|
+
- Funcionalidades específicas a serem implementadas
|
|
71
|
+
- Repositórios que serão modificados
|
|
72
|
+
- Integrações necessárias
|
|
73
|
+
|
|
74
|
+
**O que NÃO ESTÁ no escopo**:
|
|
75
|
+
- Funcionalidades relacionadas mas que ficam para depois
|
|
76
|
+
- Otimizações futuras
|
|
77
|
+
- Features "nice to have"
|
|
78
|
+
|
|
79
|
+
### 4. Critérios de Aceitação
|
|
80
|
+
|
|
81
|
+
Defina critérios mensuráveis e testáveis:
|
|
82
|
+
|
|
83
|
+
```markdown
|
|
84
|
+
## Critérios de Aceitação
|
|
85
|
+
|
|
86
|
+
### Funcional
|
|
87
|
+
- [ ] [Critério 1 - específico e testável]
|
|
88
|
+
- [ ] [Critério 2 - específico e testável]
|
|
89
|
+
|
|
90
|
+
### Técnico
|
|
91
|
+
- [ ] [Critério técnico 1]
|
|
92
|
+
- [ ] [Critério técnico 2]
|
|
93
|
+
|
|
94
|
+
### Qualidade
|
|
95
|
+
- [ ] Testes unitários implementados
|
|
96
|
+
- [ ] Testes de integração implementados
|
|
97
|
+
- [ ] Documentação atualizada
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### 5. Análise de Impacto
|
|
101
|
+
|
|
102
|
+
Para cada repositório afetado:
|
|
103
|
+
|
|
104
|
+
```markdown
|
|
105
|
+
## Impacto por Repositório
|
|
106
|
+
|
|
107
|
+
### <repo-1>
|
|
108
|
+
- **Componentes afetados**: [lista]
|
|
109
|
+
- **Tipo de mudança**: Nova feature / Modificação / Refatoração
|
|
110
|
+
- **Complexidade estimada**: Baixa / Média / Alta
|
|
111
|
+
- **Riscos**: [riscos específicos]
|
|
112
|
+
|
|
113
|
+
### <repo-2>
|
|
114
|
+
- **Componentes afetados**: [lista]
|
|
115
|
+
- **Tipo de mudança**: Nova feature / Modificação / Refatoração
|
|
116
|
+
- **Complexidade estimada**: Baixa / Média / Alta
|
|
117
|
+
- **Riscos**: [riscos específicos]
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
### 6. Dependências e Restrições
|
|
121
|
+
|
|
122
|
+
Identifique:
|
|
123
|
+
- Dependências entre repositórios
|
|
124
|
+
- Dependências de outras features/issues
|
|
125
|
+
- Restrições técnicas
|
|
126
|
+
- Restrições de negócio
|
|
127
|
+
- Bloqueadores conhecidos
|
|
128
|
+
|
|
129
|
+
### 7. Estimativa Inicial
|
|
130
|
+
|
|
131
|
+
Forneça estimativa de esforço:
|
|
132
|
+
- **Pequeno**: < 1 dia
|
|
133
|
+
- **Médio**: 1-3 dias
|
|
134
|
+
- **Grande**: 3-5 dias
|
|
135
|
+
- **Muito Grande**: > 5 dias (considere quebrar em issues menores)
|
|
136
|
+
|
|
137
|
+
### 8. Perguntas Pendentes
|
|
138
|
+
|
|
139
|
+
Liste perguntas que ainda precisam ser respondidas antes de iniciar a implementação.
|
|
140
|
+
|
|
141
|
+
## 📄 Salvamento do Refinamento
|
|
142
|
+
|
|
143
|
+
**PRIORIDADE 1: Atualizar via MCP**
|
|
144
|
+
|
|
145
|
+
- Use o MCP do task manager para atualizar a issue
|
|
146
|
+
- Adicione os critérios de aceitação como comentário ou campo customizado
|
|
147
|
+
- Atualize labels/tags se necessário (ex: "refined", "ready-for-spec")
|
|
148
|
+
- Adicione estimativa se o task manager suportar
|
|
149
|
+
- Informe ao usuário: "✅ Issue [ID] atualizada com refinamento"
|
|
150
|
+
|
|
151
|
+
**FALLBACK: Criar arquivo .md apenas se MCP falhar**
|
|
152
|
+
|
|
153
|
+
Se o MCP não estiver disponível ou falhar, crie/atualize `./.sessions/<ISSUE-ID>/refine.md`:
|
|
154
|
+
|
|
155
|
+
```markdown
|
|
156
|
+
# [Título da Issue] - Refinamento
|
|
157
|
+
|
|
158
|
+
## Escopo
|
|
159
|
+
|
|
160
|
+
### Incluído
|
|
161
|
+
- [Item 1]
|
|
162
|
+
- [Item 2]
|
|
163
|
+
|
|
164
|
+
### Excluído
|
|
165
|
+
- [Item 1]
|
|
166
|
+
- [Item 2]
|
|
167
|
+
|
|
168
|
+
## Critérios de Aceitação
|
|
169
|
+
[Conforme seção 3 acima]
|
|
170
|
+
|
|
171
|
+
## Impacto por Repositório
|
|
172
|
+
[Conforme seção 4 acima]
|
|
173
|
+
|
|
174
|
+
## Dependências
|
|
175
|
+
- [Dependência 1]
|
|
176
|
+
- [Dependência 2]
|
|
177
|
+
|
|
178
|
+
## Restrições
|
|
179
|
+
- [Restrição 1]
|
|
180
|
+
- [Restrição 2]
|
|
181
|
+
|
|
182
|
+
## Estimativa
|
|
183
|
+
[Pequeno/Médio/Grande/Muito Grande] - [Justificativa]
|
|
184
|
+
|
|
185
|
+
## Perguntas Pendentes
|
|
186
|
+
1. [Pergunta 1]
|
|
187
|
+
2. [Pergunta 2]
|
|
188
|
+
|
|
189
|
+
## Riscos Identificados
|
|
190
|
+
- [Risco 1 e mitigação]
|
|
191
|
+
- [Risco 2 e mitigação]
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
Informe ao usuário: "⚠️ Refinamento salvo localmente em .sessions/ (task manager não disponível)"
|
|
195
|
+
|
|
196
|
+
## 🔍 Validação
|
|
197
|
+
|
|
198
|
+
Valide o refinamento contra:
|
|
199
|
+
- Estratégia do produto (se documentada)
|
|
200
|
+
- Arquitetura técnica (se documentada)
|
|
201
|
+
- Capacidade do time
|
|
202
|
+
- Prioridades do roadmap
|
|
203
|
+
|
|
204
|
+
---
|
|
205
|
+
|
|
206
|
+
**Argumentos fornecidos**:
|
|
207
|
+
|
|
208
|
+
```
|
|
209
|
+
#$ARGUMENTS
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
---
|
|
213
|
+
|
|
214
|
+
## 🎯 Próximo Passo
|
|
215
|
+
|
|
216
|
+
Após refinamento aprovado:
|
|
217
|
+
|
|
218
|
+
```bash
|
|
219
|
+
/spec [ISSUE-ID]
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
Este comando criará a especificação completa (PRD) da feature.
|
|
@@ -0,0 +1,267 @@
|
|
|
1
|
+
# Criação de Especificação (PRD)
|
|
2
|
+
|
|
3
|
+
Este comando cria a especificação completa (Product Requirements Document) da feature.
|
|
4
|
+
|
|
5
|
+
## ⚠️ IMPORTANTE: Este Comando NÃO Implementa Código
|
|
6
|
+
|
|
7
|
+
**Este comando é APENAS para documentação de requisitos:**
|
|
8
|
+
- ✅ Criar PRD (Product Requirements Document)
|
|
9
|
+
- ✅ Atualizar issue no task manager via MCP
|
|
10
|
+
- ✅ **LER** arquivos dos repositórios principais (read-only)
|
|
11
|
+
- ❌ **NÃO implementar código**
|
|
12
|
+
- ❌ **NÃO fazer edits em arquivos de código**
|
|
13
|
+
- ❌ **NÃO fazer checkout de branches nos repositórios principais**
|
|
14
|
+
- ❌ **NÃO fazer commits**
|
|
15
|
+
|
|
16
|
+
**Próximo passo**: `/start` para iniciar o desenvolvimento.
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## 📋 Pré-requisitos
|
|
21
|
+
|
|
22
|
+
- Issue refinada via `/refine`
|
|
23
|
+
- Aprovação para prosseguir com a feature
|
|
24
|
+
|
|
25
|
+
## 📚 Carregar MetaSpecs
|
|
26
|
+
|
|
27
|
+
**Localizar MetaSpecs automaticamente**:
|
|
28
|
+
1. Leia `context-manifest.json` do orchestrator
|
|
29
|
+
2. Encontre o repositório com `"role": "metaspecs"`
|
|
30
|
+
3. Leia `ai.properties.md` para obter o `base_path`
|
|
31
|
+
4. O metaspecs está em: `{base_path}/{metaspecs-repo-id}/`
|
|
32
|
+
5. Leia os arquivos `index.md` relevantes para garantir conformidade com:
|
|
33
|
+
- Arquitetura do sistema
|
|
34
|
+
- Padrões de design
|
|
35
|
+
- Restrições técnicas
|
|
36
|
+
- Convenções do projeto
|
|
37
|
+
|
|
38
|
+
## 🎯 Objetivo
|
|
39
|
+
|
|
40
|
+
Criar um PRD completo que servirá como fonte única de verdade para a implementação.
|
|
41
|
+
|
|
42
|
+
## 📝 Estrutura do PRD
|
|
43
|
+
|
|
44
|
+
### 1. Visão Geral
|
|
45
|
+
|
|
46
|
+
```markdown
|
|
47
|
+
# [Título da Feature]
|
|
48
|
+
|
|
49
|
+
## Contexto
|
|
50
|
+
[Por que estamos construindo isso? Qual problema resolve?]
|
|
51
|
+
|
|
52
|
+
## Objetivo
|
|
53
|
+
[O que queremos alcançar com esta feature?]
|
|
54
|
+
|
|
55
|
+
## Métricas de Sucesso
|
|
56
|
+
- [Métrica 1]: [Como medir]
|
|
57
|
+
- [Métrica 2]: [Como medir]
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### 2. Requisitos Funcionais
|
|
61
|
+
|
|
62
|
+
```markdown
|
|
63
|
+
## Requisitos Funcionais
|
|
64
|
+
|
|
65
|
+
### RF-01: [Nome do Requisito]
|
|
66
|
+
**Descrição**: [Descrição detalhada]
|
|
67
|
+
**Prioridade**: Must Have / Should Have / Could Have
|
|
68
|
+
**Repositórios**: [repos afetados]
|
|
69
|
+
|
|
70
|
+
### RF-02: [Nome do Requisito]
|
|
71
|
+
**Descrição**: [Descrição detalhada]
|
|
72
|
+
**Prioridade**: Must Have / Should Have / Could Have
|
|
73
|
+
**Repositórios**: [repos afetados]
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### 3. Requisitos Não-Funcionais
|
|
77
|
+
|
|
78
|
+
```markdown
|
|
79
|
+
## Requisitos Não-Funcionais
|
|
80
|
+
|
|
81
|
+
### Performance
|
|
82
|
+
- [Requisito de performance]
|
|
83
|
+
|
|
84
|
+
### Segurança
|
|
85
|
+
- [Requisito de segurança]
|
|
86
|
+
|
|
87
|
+
### Acessibilidade
|
|
88
|
+
- [Requisito de acessibilidade]
|
|
89
|
+
|
|
90
|
+
### Escalabilidade
|
|
91
|
+
- [Requisito de escalabilidade]
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
### 4. Fluxos de Usuário
|
|
95
|
+
|
|
96
|
+
```markdown
|
|
97
|
+
## Fluxos de Usuário
|
|
98
|
+
|
|
99
|
+
### Fluxo Principal
|
|
100
|
+
1. [Passo 1]
|
|
101
|
+
2. [Passo 2]
|
|
102
|
+
3. [Passo 3]
|
|
103
|
+
|
|
104
|
+
### Fluxos Alternativos
|
|
105
|
+
**Cenário**: [Nome do cenário]
|
|
106
|
+
1. [Passo 1]
|
|
107
|
+
2. [Passo 2]
|
|
108
|
+
|
|
109
|
+
### Tratamento de Erros
|
|
110
|
+
**Erro**: [Tipo de erro]
|
|
111
|
+
**Comportamento**: [Como o sistema deve reagir]
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
### 5. Especificação Técnica
|
|
115
|
+
|
|
116
|
+
```markdown
|
|
117
|
+
## Especificação Técnica
|
|
118
|
+
|
|
119
|
+
### Arquitetura
|
|
120
|
+
|
|
121
|
+
#### <repo-1>
|
|
122
|
+
- **Componentes novos**: [lista]
|
|
123
|
+
- **Componentes modificados**: [lista]
|
|
124
|
+
- **APIs**: [endpoints novos/modificados]
|
|
125
|
+
|
|
126
|
+
#### <repo-2>
|
|
127
|
+
- **Componentes novos**: [lista]
|
|
128
|
+
- **Componentes modificados**: [lista]
|
|
129
|
+
- **APIs**: [endpoints novos/modificados]
|
|
130
|
+
|
|
131
|
+
### Integrações
|
|
132
|
+
- **Entre repos**: [como os repos se comunicam]
|
|
133
|
+
- **Externas**: [APIs externas, se houver]
|
|
134
|
+
|
|
135
|
+
### Modelo de Dados
|
|
136
|
+
[Descreva mudanças no modelo de dados, se houver]
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
### 6. Critérios de Aceitação
|
|
140
|
+
|
|
141
|
+
```markdown
|
|
142
|
+
## Critérios de Aceitação
|
|
143
|
+
|
|
144
|
+
### Funcional
|
|
145
|
+
- [ ] [Critério específico e testável]
|
|
146
|
+
- [ ] [Critério específico e testável]
|
|
147
|
+
|
|
148
|
+
### Técnico
|
|
149
|
+
- [ ] Testes unitários com cobertura >= X%
|
|
150
|
+
- [ ] Testes de integração implementados
|
|
151
|
+
- [ ] Performance dentro dos requisitos
|
|
152
|
+
- [ ] Documentação atualizada
|
|
153
|
+
|
|
154
|
+
### Qualidade
|
|
155
|
+
- [ ] Code review aprovado
|
|
156
|
+
- [ ] Sem regressões
|
|
157
|
+
- [ ] Acessibilidade validada
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
### 7. Fora do Escopo
|
|
161
|
+
|
|
162
|
+
```markdown
|
|
163
|
+
## Fora do Escopo
|
|
164
|
+
|
|
165
|
+
Funcionalidades que NÃO serão implementadas nesta versão:
|
|
166
|
+
- [Item 1]
|
|
167
|
+
- [Item 2]
|
|
168
|
+
|
|
169
|
+
Justificativa: [Por que ficam para depois]
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
### 8. Riscos e Mitigações
|
|
173
|
+
|
|
174
|
+
```markdown
|
|
175
|
+
## Riscos e Mitigações
|
|
176
|
+
|
|
177
|
+
### Risco 1: [Descrição]
|
|
178
|
+
- **Probabilidade**: Alta / Média / Baixa
|
|
179
|
+
- **Impacto**: Alto / Médio / Baixo
|
|
180
|
+
- **Mitigação**: [Como mitigar]
|
|
181
|
+
|
|
182
|
+
### Risco 2: [Descrição]
|
|
183
|
+
- **Probabilidade**: Alta / Média / Baixa
|
|
184
|
+
- **Impacto**: Alto / Médio / Baixo
|
|
185
|
+
- **Mitigação**: [Como mitigar]
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
### 9. Dependências
|
|
189
|
+
|
|
190
|
+
```markdown
|
|
191
|
+
## Dependências
|
|
192
|
+
|
|
193
|
+
### Técnicas
|
|
194
|
+
- [Dependência técnica 1]
|
|
195
|
+
- [Dependência técnica 2]
|
|
196
|
+
|
|
197
|
+
### De Negócio
|
|
198
|
+
- [Dependência de negócio 1]
|
|
199
|
+
- [Dependência de negócio 2]
|
|
200
|
+
|
|
201
|
+
### Bloqueadores
|
|
202
|
+
- [Bloqueador 1 e plano para resolver]
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
### 10. Plano de Testes
|
|
206
|
+
|
|
207
|
+
```markdown
|
|
208
|
+
## Plano de Testes
|
|
209
|
+
|
|
210
|
+
### Testes Unitários
|
|
211
|
+
- [Área 1 a ser testada]
|
|
212
|
+
- [Área 2 a ser testada]
|
|
213
|
+
|
|
214
|
+
### Testes de Integração
|
|
215
|
+
- [Cenário 1]
|
|
216
|
+
- [Cenário 2]
|
|
217
|
+
|
|
218
|
+
### Testes Manuais
|
|
219
|
+
- [Cenário 1]
|
|
220
|
+
- [Cenário 2]
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
## 📄 Salvamento do PRD
|
|
224
|
+
|
|
225
|
+
**PRIORIDADE 1: Usar MCP (Model Context Protocol)**
|
|
226
|
+
|
|
227
|
+
- Leia `ai.properties.md` do orchestrator para identificar o `task_management_system`
|
|
228
|
+
- Use o MCP apropriado para atualizar a issue com o PRD:
|
|
229
|
+
- Adicione o PRD completo como comentário na issue
|
|
230
|
+
- Ou anexe como arquivo (se o task manager suportar)
|
|
231
|
+
- Atualize status/labels (ex: "spec-ready", "ready-for-dev")
|
|
232
|
+
- Informe ao usuário: "✅ PRD adicionado à issue [ID]"
|
|
233
|
+
|
|
234
|
+
**FALLBACK: Criar arquivo .md apenas se MCP falhar**
|
|
235
|
+
|
|
236
|
+
Se o MCP não estiver disponível ou falhar:
|
|
237
|
+
- Salve em `./.sessions/<ISSUE-ID>/prd.md`
|
|
238
|
+
- Informe ao usuário: "⚠️ PRD salvo localmente em .sessions/ (task manager não disponível)"
|
|
239
|
+
|
|
240
|
+
## 🔍 Revisão e Aprovação
|
|
241
|
+
|
|
242
|
+
Antes de finalizar:
|
|
243
|
+
1. Revise o PRD com stakeholders
|
|
244
|
+
2. Valide contra metaspecs (se disponíveis)
|
|
245
|
+
3. Obtenha aprovação para iniciar implementação
|
|
246
|
+
4. **Via MCP**: Atualize a issue no task manager com status "Pronto para Desenvolvimento"
|
|
247
|
+
5. **Fallback**: Documente aprovação em `./.sessions/<ISSUE-ID>/prd.md`
|
|
248
|
+
|
|
249
|
+
---
|
|
250
|
+
|
|
251
|
+
**Argumentos fornecidos**:
|
|
252
|
+
|
|
253
|
+
```
|
|
254
|
+
#$ARGUMENTS
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
---
|
|
258
|
+
|
|
259
|
+
## 🎯 Próximo Passo
|
|
260
|
+
|
|
261
|
+
Após aprovação do PRD:
|
|
262
|
+
|
|
263
|
+
```bash
|
|
264
|
+
/start
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
Este comando iniciará o desenvolvimento da feature.
|
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
# Métricas de Qualidade
|
|
2
|
+
|
|
3
|
+
Este comando coleta e analisa métricas de qualidade do código e do processo de desenvolvimento.
|
|
4
|
+
|
|
5
|
+
## 🎯 Objetivo
|
|
6
|
+
|
|
7
|
+
Medir e documentar a qualidade da implementação através de métricas objetivas:
|
|
8
|
+
- Cobertura de testes
|
|
9
|
+
- Complexidade do código
|
|
10
|
+
- Dívida técnica
|
|
11
|
+
- Performance
|
|
12
|
+
- Conformidade com padrões
|
|
13
|
+
|
|
14
|
+
## 📋 Pré-requisitos
|
|
15
|
+
|
|
16
|
+
- Implementação concluída (após `/work`)
|
|
17
|
+
- Testes implementados
|
|
18
|
+
- Build funcionando
|
|
19
|
+
|
|
20
|
+
## 📊 Métricas a Coletar
|
|
21
|
+
|
|
22
|
+
### 1. Cobertura de Testes
|
|
23
|
+
|
|
24
|
+
Para cada repositório modificado:
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
cd <repositório>
|
|
28
|
+
|
|
29
|
+
# Executar testes com cobertura
|
|
30
|
+
npm run test:coverage # ou comando equivalente
|
|
31
|
+
|
|
32
|
+
# Capturar resultados
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Documente:
|
|
36
|
+
```markdown
|
|
37
|
+
## Cobertura de Testes
|
|
38
|
+
|
|
39
|
+
### <repo-1>
|
|
40
|
+
- **Cobertura Total**: X%
|
|
41
|
+
- **Statements**: X%
|
|
42
|
+
- **Branches**: X%
|
|
43
|
+
- **Functions**: X%
|
|
44
|
+
- **Lines**: X%
|
|
45
|
+
- **Arquivos não cobertos**: [lista]
|
|
46
|
+
|
|
47
|
+
### <repo-2>
|
|
48
|
+
[Mesmo formato]
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### 2. Complexidade do Código
|
|
52
|
+
|
|
53
|
+
Analise a complexidade ciclomática dos arquivos modificados:
|
|
54
|
+
|
|
55
|
+
```markdown
|
|
56
|
+
## Complexidade do Código
|
|
57
|
+
|
|
58
|
+
### Arquivos com Alta Complexidade
|
|
59
|
+
- **arquivo1.ts**: Complexidade 15 (recomendado: < 10)
|
|
60
|
+
- **arquivo2.ts**: Complexidade 12
|
|
61
|
+
|
|
62
|
+
### Recomendações
|
|
63
|
+
- [Sugestão de refatoração 1]
|
|
64
|
+
- [Sugestão de refatoração 2]
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### 3. Qualidade do Código
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
# Executar linting
|
|
71
|
+
npm run lint
|
|
72
|
+
|
|
73
|
+
# Verificar formatação
|
|
74
|
+
npm run format:check
|
|
75
|
+
|
|
76
|
+
# Análise estática (se disponível)
|
|
77
|
+
npm run analyze
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
Documente:
|
|
81
|
+
```markdown
|
|
82
|
+
## Qualidade do Código
|
|
83
|
+
|
|
84
|
+
### Linting
|
|
85
|
+
- **Erros**: 0
|
|
86
|
+
- **Warnings**: X
|
|
87
|
+
- **Warnings Justificados**: [lista com justificativas]
|
|
88
|
+
|
|
89
|
+
### Formatação
|
|
90
|
+
- **Status**: ✅ Conforme / ⚠️ Ajustes necessários
|
|
91
|
+
|
|
92
|
+
### Análise Estática
|
|
93
|
+
- **Problemas Críticos**: 0
|
|
94
|
+
- **Problemas Médios**: X
|
|
95
|
+
- **Problemas Baixos**: Y
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### 4. Performance
|
|
99
|
+
|
|
100
|
+
Se aplicável, meça performance:
|
|
101
|
+
|
|
102
|
+
```markdown
|
|
103
|
+
## Performance
|
|
104
|
+
|
|
105
|
+
### Benchmarks
|
|
106
|
+
- **Operação X**: Yms (baseline: Zms)
|
|
107
|
+
- **Operação Y**: Yms (baseline: Zms)
|
|
108
|
+
|
|
109
|
+
### Otimizações Aplicadas
|
|
110
|
+
- [Otimização 1 e impacto]
|
|
111
|
+
- [Otimização 2 e impacto]
|
|
112
|
+
|
|
113
|
+
### Gargalos Identificados
|
|
114
|
+
- [Gargalo 1 e plano de mitigação]
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
### 5. Tamanho e Impacto
|
|
118
|
+
|
|
119
|
+
```markdown
|
|
120
|
+
## Tamanho e Impacto
|
|
121
|
+
|
|
122
|
+
### Linhas de Código
|
|
123
|
+
- **Adicionadas**: +X linhas
|
|
124
|
+
- **Removidas**: -Y linhas
|
|
125
|
+
- **Modificadas**: Z linhas
|
|
126
|
+
|
|
127
|
+
### Arquivos
|
|
128
|
+
- **Novos**: X arquivos
|
|
129
|
+
- **Modificados**: Y arquivos
|
|
130
|
+
- **Removidos**: Z arquivos
|
|
131
|
+
|
|
132
|
+
### Dependências
|
|
133
|
+
- **Novas dependências**: [lista]
|
|
134
|
+
- **Tamanho do bundle**: +X KB
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
### 6. Dívida Técnica
|
|
138
|
+
|
|
139
|
+
Identifique dívida técnica introduzida ou resolvida:
|
|
140
|
+
|
|
141
|
+
```markdown
|
|
142
|
+
## Dívida Técnica
|
|
143
|
+
|
|
144
|
+
### Dívida Introduzida
|
|
145
|
+
- **Item 1**: [Descrição e justificativa]
|
|
146
|
+
- Severidade: Alta / Média / Baixa
|
|
147
|
+
- Plano de resolução: [quando e como resolver]
|
|
148
|
+
|
|
149
|
+
### Dívida Resolvida
|
|
150
|
+
- **Item 1**: [O que foi resolvido]
|
|
151
|
+
- Impacto: [melhoria obtida]
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
## 📄 Relatório de Métricas
|
|
155
|
+
|
|
156
|
+
Crie `./.sessions/<ISSUE-ID>/metrics.md`:
|
|
157
|
+
|
|
158
|
+
```markdown
|
|
159
|
+
# Relatório de Métricas - [ISSUE-ID]
|
|
160
|
+
|
|
161
|
+
**Data**: [data/hora]
|
|
162
|
+
**Repositórios**: [lista]
|
|
163
|
+
|
|
164
|
+
## Resumo Executivo
|
|
165
|
+
|
|
166
|
+
- **Cobertura de Testes**: X% (meta: Y%)
|
|
167
|
+
- **Qualidade do Código**: ✅ / ⚠️ / ❌
|
|
168
|
+
- **Performance**: ✅ / ⚠️ / ❌
|
|
169
|
+
- **Dívida Técnica**: Baixa / Média / Alta
|
|
170
|
+
|
|
171
|
+
## Métricas Detalhadas
|
|
172
|
+
|
|
173
|
+
[Incluir todas as seções acima]
|
|
174
|
+
|
|
175
|
+
## Comparação com Baseline
|
|
176
|
+
|
|
177
|
+
| Métrica | Antes | Depois | Variação |
|
|
178
|
+
|---------|-------|--------|----------|
|
|
179
|
+
| Cobertura | X% | Y% | +Z% |
|
|
180
|
+
| Complexidade Média | X | Y | +Z |
|
|
181
|
+
| Bundle Size | X KB | Y KB | +Z KB |
|
|
182
|
+
|
|
183
|
+
## Ações Recomendadas
|
|
184
|
+
|
|
185
|
+
1. [Ação 1 - prioridade alta]
|
|
186
|
+
2. [Ação 2 - prioridade média]
|
|
187
|
+
3. [Ação 3 - prioridade baixa]
|
|
188
|
+
|
|
189
|
+
## Aprovação para Merge
|
|
190
|
+
|
|
191
|
+
- [ ] Cobertura de testes >= meta
|
|
192
|
+
- [ ] Sem problemas críticos de qualidade
|
|
193
|
+
- [ ] Performance dentro dos requisitos
|
|
194
|
+
- [ ] Dívida técnica documentada e aprovada
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
## 🎯 Metas de Qualidade
|
|
198
|
+
|
|
199
|
+
Se o projeto tiver metas definidas nas metaspecs, valide:
|
|
200
|
+
|
|
201
|
+
```markdown
|
|
202
|
+
## Validação contra Metas
|
|
203
|
+
|
|
204
|
+
### Metas do Projeto
|
|
205
|
+
- **Cobertura mínima**: 80%
|
|
206
|
+
- **Complexidade máxima**: 10
|
|
207
|
+
- **Performance**: < 100ms
|
|
208
|
+
|
|
209
|
+
### Status
|
|
210
|
+
- Cobertura: ✅ 85% (meta: 80%)
|
|
211
|
+
- Complexidade: ⚠️ 12 (meta: 10) - Justificado
|
|
212
|
+
- Performance: ✅ 85ms (meta: 100ms)
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
## 🚨 Alertas
|
|
216
|
+
|
|
217
|
+
Se alguma métrica estiver fora do aceitável:
|
|
218
|
+
1. 🛑 **DOCUMENTE** o problema
|
|
219
|
+
2. 💬 **ALERTE** o usuário
|
|
220
|
+
3. 🔧 **PROPONHA** ações corretivas
|
|
221
|
+
4. ⏸️ **CONSIDERE** bloquear o merge até resolução
|
|
222
|
+
|
|
223
|
+
---
|
|
224
|
+
|
|
225
|
+
**Argumentos fornecidos**:
|
|
226
|
+
|
|
227
|
+
```
|
|
228
|
+
#$ARGUMENTS
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
---
|
|
232
|
+
|
|
233
|
+
## 🎯 Resultado
|
|
234
|
+
|
|
235
|
+
Após executar este comando, você terá:
|
|
236
|
+
- Relatório completo de métricas
|
|
237
|
+
- Comparação com baseline e metas
|
|
238
|
+
- Identificação de problemas de qualidade
|
|
239
|
+
- Recomendações de ações
|
|
240
|
+
- Base objetiva para aprovação de merge
|