context-first-cli 2.0.3 → 2.0.5

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.
@@ -1,209 +1,211 @@
1
1
  # Refinamento de Requisitos
2
2
 
3
- Este comando refina uma issue coletada, transformando-a em requisitos claros e validados.
3
+ Você é um especialista em produto encarregado de ajudar a refinar requisitos para o projeto.
4
4
 
5
5
  ## ⚠️ IMPORTANTE: Este Comando NÃO Implementa Código
6
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)
7
+ **Este comando é APENAS para planejamento e documentação:**
8
+ - ✅ Validar requisitos contra metaspecs
9
+ - ✅ Criar especificação refinada
10
+ - ✅ Salvar documentação em `.sessions/`
11
+ - ✅ Atualizar issue no task manager
11
12
  - ❌ **NÃO implementar código**
12
13
  - ❌ **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**
14
+ - ❌ **NÃO executar testes ou deploy**
15
15
 
16
- **Próximo passo**: `/spec [ISSUE-ID]` para criar a especificação completa (PRD).
16
+ **Próximo passo**: `/spec [ISSUE-ID]` para criar PRD completo baseado nos requisitos refinados.
17
17
 
18
18
  ---
19
19
 
20
- ## 📋 Pré-requisitos
20
+ ## Objetivo
21
21
 
22
- - Issue coletada via `/collect`
23
- - Contexto do projeto será carregado automaticamente (veja seção "Carregar MetaSpecs" abaixo)
22
+ Transformar um requisito inicial em especificação refinada e validada, pronta para se tornar PRD completo.
24
23
 
25
- ## 🎯 Objetivo
24
+ ## Processo
26
25
 
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
26
+ ### 1. Fase de Esclarecimento
33
27
 
34
- ## 📝 Processo de Refinamento
28
+ Leia o requisito inicial e faça perguntas para alcançar clareza total sobre:
29
+ - **Objetivo**: Por que construir isso?
30
+ - **Valor de Negócio**: Qual métrica/persona impacta?
31
+ - **Escopo**: O que inclui e o que NÃO inclui?
32
+ - **Interações**: Quais features/componentes existentes são afetados?
35
33
 
36
- ### 1. Carregar Issue
34
+ Continue fazendo perguntas até ter entendimento completo.
37
35
 
38
- **PRIORIDADE 1: Usar MCP (Model Context Protocol)**
36
+ ### 2. Validação Contra Metaspecs
39
37
 
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.)
38
+ **IMPORTANTE**: Primeiro leia `ai.properties.md` para obter o `base_path`. Os índices JÁ devem estar em contexto (você rodou `/warm-up`). Consulte os índices e leia APENAS os documentos relevantes para validar o requisito.
46
39
 
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:
40
+ **Processo de Validação**:
103
41
 
42
+ 1. **Consulte os índices carregados** pelo `/warm-up`:
43
+ - Leia `context-manifest.json` para encontrar o repositório com `role: "metaspecs"`
44
+ - Obtenha o `id` desse repositório (ex: "my-project-metaspecs")
45
+ - Leia `ai.properties.md` para obter o `base_path`
46
+ - O repositório de metaspecs está em: `{base_path}/{metaspecs-id}/`
47
+ - Consulte `{base_path}/{metaspecs-id}/index.md` - Visão geral do projeto
48
+ - Consulte índices específicos (ex: `specs/business/index.md`, `specs/technical/index.md`)
49
+
50
+ 2. **Identifique documentos relevantes** para este requisito específico:
51
+ - Em `specs/business/`: Quais documentos de negócio são relevantes?
52
+ - Em `specs/technical/`: Quais documentos técnicos são relevantes?
53
+
54
+ 3. **Leia APENAS os documentos relevantes** identificados (não leia tudo!)
55
+
56
+ 4. **Valide o requisito** contra as metaspecs lidas:
57
+ - ✅ Alinhamento com estratégia e visão de produto
58
+ - ✅ Atende necessidades das personas corretas
59
+ - ✅ Compatível com stack tecnológica aprovada
60
+ - ✅ Respeita decisões arquiteturais (ADRs)
61
+ - ✅ Segue regras de negócio existentes
62
+ - ⚠️ Identifique conflitos ou violações
63
+
64
+ **Se identificar violações**: 🛑 **PARE** e peça esclarecimento ao usuário antes de prosseguir (Princípio Jidoka).
65
+
66
+ ### 3. Fase de Resumo e Aprovação
67
+
68
+ Uma vez que tenha coletado informações suficientes e validado contra metaspecs, apresente um resumo estruturado com:
69
+ - **Feature**: Nome da funcionalidade
70
+ - **Objetivo**: Por que construir (1-2 frases)
71
+ - **Valor de Negócio**: Métrica, persona, fase do roadmap (consulte metaspecs)
72
+ - **Escopo**: O que INCLUI e o que NÃO INCLUI
73
+ - **Componentes Afetados**: Lista baseada na arquitetura atual (consulte metaspecs técnicas)
74
+ - **Validação contra Metaspecs**: ✅ Aprovado / ⚠️ Atenção necessária
75
+ - **Estimativa de Esforço**: Pequeno (< 1 dia) / Médio (1-3 dias) / Grande (3-5 dias) / Muito Grande (> 5 dias)
76
+
77
+ **Avaliação de Complexidade e Sugestão de Quebra**:
78
+
79
+ **Se a implementação parecer grande** (> 5 dias de esforço estimado):
80
+ - 🚨 **Sugira quebrar em múltiplas issues menores**
81
+ - Explique o racional da quebra (ex: "Esta feature envolve 3 áreas distintas que podem ser implementadas independentemente")
82
+ - Proponha uma quebra **lógica** baseada em:
83
+ - Funcionalidades independentes
84
+ - Repositórios diferentes
85
+ - Camadas da aplicação (backend, frontend, infra)
86
+ - Fases de implementação (MVP, melhorias, otimizações)
87
+ - Exemplo de quebra:
88
+ ```
89
+ Issue Original: "Sistema de notificações multi-canal"
90
+
91
+ Quebra Sugerida:
92
+ - FIN-201: Infraestrutura de filas e workers (backend)
93
+ - FIN-202: Notificações por email (backend + templates)
94
+ - FIN-203: Notificações push (backend + mobile)
95
+ - FIN-204: Preferências de notificação (frontend + backend)
96
+ ```
97
+ - **Importante**: A decisão final é do usuário - ele pode aceitar a quebra ou manter como issue única
98
+
99
+ **Se o usuário aceitar a quebra**:
100
+ - Documente cada issue separadamente
101
+ - Adicione referências cruzadas entre as issues relacionadas
102
+ - Sugira ordem de implementação se houver dependências
103
+ - Cada issue quebrada deve passar pelo mesmo processo de refinamento
104
+
105
+ Peça aprovação do usuário e incorpore feedback se necessário.
106
+
107
+ **Dica**: Você pode pesquisar no código-base ou internet antes de finalizar, se necessário.
108
+
109
+ ### 4. Salvamento dos Requisitos Refinados
110
+
111
+ Uma vez que o usuário aprove, salve os requisitos:
112
+
113
+ **IMPORTANTE**: Sempre crie backup local E atualize o task manager (se configurado).
114
+
115
+ **Processo de Salvamento**:
116
+
117
+ 1. **SEMPRE criar backup local primeiro**:
118
+ - Crie arquivo completo em `./.sessions/<ISSUE-ID>/refined.md` (ex: `./.sessions/FIN-5/refined.md`)
119
+ - Onde `<ISSUE-ID>` é o ID da issue (ex: FIN-5, FIN-123)
120
+ - Inclua TODOS os detalhes do refinamento (backup completo)
121
+
122
+ 2. **Se task manager estiver configurado** (leia `ai.properties.md` para identificar `task_management_system`):
123
+ - Identifique a ferramenta MCP do task manager
124
+ - **Atualize o BODY (description) da issue** com versão CONCISA dos requisitos refinados
125
+ - Para Jira: Use MCP do Jira com campo `description`
126
+ - Para Linear: Use MCP do Linear com campo `description`
127
+ - Para GitHub: Use MCP do GitHub com campo `body`
128
+ - Inclua todo o conteúdo refinado no campo description/body da issue
129
+ - Se o conteúdo for muito extenso e houver erro de API, considere criar versão resumida
130
+ - **SEMPRE sobrescrever** o body existente (não adicionar ao final)
131
+
132
+ **Observação**:
133
+ - O backup local SEMPRE está salvo e completo
134
+ - Se houver erro de API, verifique manualmente se a issue foi atualizada no task manager
135
+
136
+ **Template de Saída**:
137
+
138
+ **IMPORTANTE**: O template padrão para requisitos refinados pode estar documentado no repositório de metaspecs. Consulte `{base_path}/{metaspecs-id}/specs/refined/` ou similar.
139
+
140
+ **Template COMPLETO** (para backup local `.sessions/<ISSUE-ID>/refined.md`):
141
+ - **Metadados**: Issue, ID, Task Manager, Projeto, Data, Sprint, Prioridade
142
+ - **🎯 POR QUE**: Razões, valor de negócio, métrica, persona, alinhamento estratégico
143
+ - **📦 O QUE**: Funcionalidades detalhadas, componentes afetados, integrações, escopo negativo completo
144
+ - **🔧 COMO**: Stack, padrões de código, estrutura de arquivos, dependências, ordem de implementação, failure modes, considerações de performance/custo/UX
145
+ - **✅ Validação contra Metaspecs**: Documentos consultados (business e technical), ADRs verificados, resultado da validação
146
+ - **📊 Métricas de Sucesso**: Técnicas, produto/UX, critérios de aceitação
147
+ - **🔄 Impacto no Produto**: Alinhamento com objetivos, habilitadores, riscos mitigados
148
+ - **⚠️ Limitações Conhecidas**: Limitações do MVP
149
+ - **📝 Checklist de Implementação**: Tarefas por área (backend, frontend, testes, segurança, etc.)
150
+
151
+ **Template para Task Manager**:
104
152
  ```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
153
+ # [Nome Feature] - Requisitos Refinados
130
154
 
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)
155
+ **Sprint X** | **Y dias** | **Prioridade**
136
156
 
137
- ### 8. Perguntas Pendentes
157
+ ## Objetivo
158
+ [1-2 parágrafos: o que é e por que fazer]
138
159
 
139
- Liste perguntas que ainda precisam ser respondidas antes de iniciar a implementação.
140
-
141
- ## 📄 Salvamento do Refinamento
160
+ ## Escopo
142
161
 
143
- **PRIORIDADE 1: Atualizar via MCP**
162
+ ### Principais Funcionalidades
163
+ - Funcionalidade 1: [resumo]
164
+ - Funcionalidade 2: [resumo]
165
+ - Validações/Guards: [resumo]
144
166
 
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"
167
+ ### Componentes Afetados
168
+ - Componente 1: [tipo de mudança]
169
+ - Componente 2: [tipo de mudança]
150
170
 
151
- **FALLBACK: Criar arquivo .md apenas se MCP falhar**
171
+ ### Segurança
172
+ ✅ [item 1] ✅ [item 2] ✅ [item 3]
152
173
 
153
- Se o MCP não estiver disponível ou falhar, crie/atualize `./.sessions/<ISSUE-ID>/refine.md`:
174
+ ## Escopo Negativo
175
+ ❌ [item 1] ❌ [item 2] ❌ [item 3]
154
176
 
155
- ```markdown
156
- # [Título da Issue] - Refinamento
177
+ ## Stack
178
+ [Tech stack resumida por área]
157
179
 
158
- ## Escopo
180
+ ## Estrutura
181
+ [Árvore de arquivos RESUMIDA - principais módulos apenas]
159
182
 
160
- ### Incluído
161
- - [Item 1]
162
- - [Item 2]
163
-
164
- ### Excluído
165
- - [Item 1]
166
- - [Item 2]
183
+ ## Failure Modes (Evitar)
184
+ 🔴 [crítico 1] 🔴 [crítico 2]
185
+ 🟡 [médio 1] 🟡 [médio 2]
167
186
 
168
187
  ## 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]
188
+ - [ ] [item 1]
189
+ - [ ] [item 2]
190
+ - [ ] [item 3]
181
191
 
182
- ## Estimativa
183
- [Pequeno/Médio/Grande/Muito Grande] - [Justificativa]
192
+ ## Validação
193
+ **ADRs**: [lista]
194
+ **Specs**: [principais]
195
+ **Status**: ✅ Aprovado
184
196
 
185
- ## Perguntas Pendentes
186
- 1. [Pergunta 1]
187
- 2. [Pergunta 2]
197
+ **Impacto**: [resumo]
198
+ **Limitações**: [resumo]
188
199
 
189
- ## Riscos Identificados
190
- - [Risco 1 e mitigação]
191
- - [Risco 2 e mitigação]
200
+ ---
201
+ 📄 **Documento completo**: `.sessions/<ISSUE-ID>/refined.md`
192
202
  ```
193
203
 
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
204
+ **Audiência**: Desenvolvedor IA com capacidades similares às suas. Seja conciso mas completo.
203
205
 
204
206
  ---
205
207
 
206
- **Argumentos fornecidos**:
208
+ **Requisito para Refinar**:
207
209
 
208
210
  ```
209
211
  #$ARGUMENTS
@@ -213,10 +215,12 @@ Valide o refinamento contra:
213
215
 
214
216
  ## 🎯 Próximo Passo
215
217
 
216
- Após refinamento aprovado:
218
+ **Após aprovação do usuário e salvamento dos requisitos refinados**, o fluxo natural é:
217
219
 
218
220
  ```bash
219
221
  /spec [ISSUE-ID]
220
222
  ```
221
223
 
222
- Este comando criará a especificação completa (PRD) da feature.
224
+ **Exemplo**: `/spec FIN-3`
225
+
226
+ Este comando irá criar um PRD (Product Requirements Document) completo baseado nos requisitos refinados, detalhando funcionalidades, user stories, critérios de aceitação e validações finais.