context-first-cli 1.1.0 → 1.1.1

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 +1 @@
1
- {"version":3,"file":"scaffold-orchestrator.d.ts","sourceRoot":"","sources":["../../src/commands/scaffold-orchestrator.ts"],"names":[],"mappings":"AAWA,wBAAsB,2BAA2B,kBA8FhD"}
1
+ {"version":3,"file":"scaffold-orchestrator.d.ts","sourceRoot":"","sources":["../../src/commands/scaffold-orchestrator.ts"],"names":[],"mappings":"AAaA,wBAAsB,2BAA2B,kBAyHhD"}
@@ -8,6 +8,7 @@ const inquirer_1 = __importDefault(require("inquirer"));
8
8
  const chalk_1 = __importDefault(require("chalk"));
9
9
  const promises_1 = __importDefault(require("fs/promises"));
10
10
  const path_1 = __importDefault(require("path"));
11
+ const simple_git_1 = require("simple-git");
11
12
  async function scaffoldOrchestratorCommand() {
12
13
  console.log(chalk_1.default.blue.bold('\n🏗️ Scaffolding a new Orchestrator repository\n'));
13
14
  try {
@@ -44,6 +45,12 @@ async function scaffoldOrchestratorCommand() {
44
45
  ],
45
46
  default: 'jira',
46
47
  },
48
+ {
49
+ type: 'confirm',
50
+ name: 'initGit',
51
+ message: 'Initialize Git repository and create initial commit?',
52
+ default: true,
53
+ },
47
54
  ]);
48
55
  const targetDir = path_1.default.join(process.cwd(), answers.projectName);
49
56
  // Check if directory already exists
@@ -57,7 +64,7 @@ async function scaffoldOrchestratorCommand() {
57
64
  await promises_1.default.mkdir(path_1.default.join(targetDir, '.claude', 'commands', 'products'), { recursive: true });
58
65
  await promises_1.default.mkdir(path_1.default.join(targetDir, '.claude', 'commands', 'engineer'), { recursive: true });
59
66
  await promises_1.default.mkdir(path_1.default.join(targetDir, '.claude', 'commands', 'quality'), { recursive: true });
60
- await promises_1.default.mkdir(path_1.default.join(targetDir, '.context-sessions'), { recursive: true });
67
+ await promises_1.default.mkdir(path_1.default.join(targetDir, '.sessions'), { recursive: true });
61
68
  await promises_1.default.mkdir(path_1.default.join(targetDir, 'specs', 'business'), { recursive: true });
62
69
  await promises_1.default.mkdir(path_1.default.join(targetDir, 'specs', 'technical'), { recursive: true });
63
70
  // Create README.md
@@ -72,20 +79,41 @@ async function scaffoldOrchestratorCommand() {
72
79
  // Copy command templates
73
80
  await copyCommandTemplates(targetDir);
74
81
  // Create .gitignore
75
- const gitignore = `node_modules/\n.env\n.ia.env\n.context-sessions/*/\n*.log\n`;
82
+ const gitignore = `node_modules/
83
+ .env
84
+ .ia.env
85
+ ai.properties.md
86
+ .sessions/*/
87
+ *.log
88
+ `;
76
89
  await promises_1.default.writeFile(path_1.default.join(targetDir, '.gitignore'), gitignore, 'utf-8');
77
90
  console.log(chalk_1.default.green(`\n✅ Orchestrator scaffolded successfully at: ${targetDir}`));
78
91
  console.log(chalk_1.default.blue('\n📁 Structure created:'));
79
92
  console.log(chalk_1.default.gray(' .claude/commands/ - Command definitions for AI'));
80
- console.log(chalk_1.default.gray(' .context-sessions/ - Feature session data'));
93
+ console.log(chalk_1.default.gray(' .sessions/ - Feature session data'));
81
94
  console.log(chalk_1.default.gray(' specs/ - Business and technical specifications'));
82
- console.log(chalk_1.default.gray(' ai.properties.md - Configuration template'));
95
+ console.log(chalk_1.default.gray(' ai.properties.md - Configuration template (gitignored)'));
83
96
  console.log(chalk_1.default.gray(' context-manifest.json - Repository manifest'));
97
+ // Initialize Git if requested
98
+ if (answers.initGit) {
99
+ console.log(chalk_1.default.blue('\n🔧 Initializing Git repository...'));
100
+ const git = (0, simple_git_1.simpleGit)(targetDir);
101
+ await git.init();
102
+ await git.add('.');
103
+ await git.commit('chore: initial commit - orchestrator scaffolded by context-cli');
104
+ console.log(chalk_1.default.green('✅ Git repository initialized and initial commit created'));
105
+ }
84
106
  console.log(chalk_1.default.blue('\n💡 Next steps:'));
85
107
  console.log(chalk_1.default.gray(` 1. cd ${answers.projectName}`));
86
108
  console.log(chalk_1.default.gray(' 2. Edit ai.properties.md with your project paths'));
87
109
  console.log(chalk_1.default.gray(' 3. Edit context-manifest.json to define your repositories'));
88
- console.log(chalk_1.default.gray(' 4. Initialize as a Git repository and push to remote'));
110
+ if (answers.initGit) {
111
+ console.log(chalk_1.default.gray(' 4. Add remote: git remote add origin <your-repo-url>'));
112
+ console.log(chalk_1.default.gray(' 5. Push to remote: git push -u origin main'));
113
+ }
114
+ else {
115
+ console.log(chalk_1.default.gray(' 4. Initialize as a Git repository and push to remote'));
116
+ }
89
117
  }
90
118
  catch (error) {
91
119
  console.error(chalk_1.default.red('\n❌ Error during scaffolding:'), error);
@@ -107,6 +135,11 @@ async function copyCommandTemplates(targetDir) {
107
135
  for (const cmd of engineerCommands) {
108
136
  await promises_1.default.copyFile(path_1.default.join(templatesDir, 'engineer', cmd), path_1.default.join(targetCommandsDir, 'engineer', cmd));
109
137
  }
138
+ // Copy quality commands
139
+ const qualityCommands = ['observe.md', 'metrics.md'];
140
+ for (const cmd of qualityCommands) {
141
+ await promises_1.default.copyFile(path_1.default.join(templatesDir, 'quality', cmd), path_1.default.join(targetCommandsDir, 'quality', cmd));
142
+ }
110
143
  }
111
144
  function generateReadme(answers) {
112
145
  return `# ${answers.projectName}
@@ -125,23 +158,26 @@ ${answers.projectName}/
125
158
  │ └── commands/ # Command definitions for AI
126
159
  │ ├── products/ # Product commands (collect, refine, spec, check)
127
160
  │ ├── engineer/ # Engineering commands (start, plan, work, pre-pr, pr)
161
+ │ ├── quality/ # Quality commands (observe, metrics)
128
162
  │ └── warm-up.md # Context loading command
129
- ├── .context-sessions/ # Feature session data
163
+ ├── .sessions/ # Feature session data (gitignored)
130
164
  ├── specs/
131
165
  │ ├── business/ # Business specifications
132
166
  │ └── technical/ # Technical specifications
133
- ├── ai.properties.md # Configuration
167
+ ├── ai.properties.md # Configuration (gitignored - each dev has their own)
134
168
  └── context-manifest.json # Repository manifest
135
169
  \`\`\`
136
170
 
137
171
  ## ⚙️ Configuration
138
172
 
139
173
  Edit \`ai.properties.md\` to configure:
140
- - Project paths
174
+ - Project paths (specific to each developer)
141
175
  - Task manager credentials (${answers.taskManager})
142
176
  - Branch conventions
143
177
  - Repository-specific commands
144
178
 
179
+ **Note**: \`ai.properties.md\` is gitignored because it contains local paths and credentials specific to each developer.
180
+
145
181
  ## 🚀 Usage
146
182
 
147
183
  1. Configure \`ai.properties.md\` with your project paths
@@ -1 +1 @@
1
- {"version":3,"file":"scaffold-orchestrator.js","sourceRoot":"","sources":["../../src/commands/scaffold-orchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scaffold-orchestrator.js","sourceRoot":"","sources":["../../src/commands/scaffold-orchestrator.ts"],"names":[],"mappings":"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"}
@@ -219,7 +219,7 @@ src/
219
219
 
220
220
  ## 📄 Salvamento do Plano
221
221
 
222
- Salve em `./.context-sessions/<ISSUE-ID>/plan.md`
222
+ Salve em `./.sessions/<ISSUE-ID>/plan.md`
223
223
 
224
224
  ## 🔍 Revisão
225
225
 
@@ -37,7 +37,7 @@ Para cada repositório, crie um PR usando o GitHub CLI ou interface web:
37
37
  ```bash
38
38
  cd <repositório>
39
39
  gh pr create --title "[ISSUE-ID] Título da Feature" \
40
- --body "$(cat ../.context-sessions/<ISSUE-ID>/pr-description.md)" \
40
+ --body "$(cat ../.sessions/<ISSUE-ID>/pr-description.md)" \
41
41
  --base main
42
42
  ```
43
43
 
@@ -104,7 +104,7 @@ Se task manager estiver configurado:
104
104
 
105
105
  ### 6. Documentação da Sessão
106
106
 
107
- Atualize `./.context-sessions/<ISSUE-ID>/pr.md`:
107
+ Atualize `./.sessions/<ISSUE-ID>/pr.md`:
108
108
 
109
109
  ```markdown
110
110
  # [Título da Feature] - Pull Requests
@@ -168,7 +168,7 @@ Se múltiplos repositórios foram modificados:
168
168
 
169
169
  ## 📄 Preparação da Descrição do PR
170
170
 
171
- Crie `./.context-sessions/<ISSUE-ID>/pr-description.md`:
171
+ Crie `./.sessions/<ISSUE-ID>/pr-description.md`:
172
172
 
173
173
  ```markdown
174
174
  ## 🎯 Objetivo
@@ -212,7 +212,7 @@ Se alguma validação falhar:
212
212
 
213
213
  ## 📊 Relatório de Validação
214
214
 
215
- Crie `./.context-sessions/<ISSUE-ID>/pre-pr-report.md`:
215
+ Crie `./.sessions/<ISSUE-ID>/pre-pr-report.md`:
216
216
 
217
217
  ```markdown
218
218
  # Relatório de Validação Pre-PR
@@ -68,7 +68,7 @@ Após análise inicial, formule **3-5 clarificações mais importantes**:
68
68
 
69
69
  ## 📝 Documentação da Sessão
70
70
 
71
- Crie arquivo `./.context-sessions/<ISSUE-ID>/start.md` com:
71
+ Crie arquivo `./.sessions/<ISSUE-ID>/start.md` com:
72
72
 
73
73
  ```markdown
74
74
  # [Título da Feature] - Início
@@ -8,7 +8,7 @@ Antes de executar, certifique-se de que:
8
8
  - Executou `/warm-up` para carregar o contexto
9
9
  - Executou `/start` e `/plan` para ter o planejamento técnico
10
10
  - Está no workspace correto (verifique `.workspace.json`)
11
- - Tem o arquivo `./.context-sessions/<ISSUE-ID>/plan.md` disponível
11
+ - Tem o arquivo `./.sessions/<ISSUE-ID>/plan.md` disponível
12
12
 
13
13
  ## 🎯 Objetivo
14
14
 
@@ -22,7 +22,7 @@ Implementar uma unidade de trabalho específica do plano, que pode envolver:
22
22
 
23
23
  ### 1. Identificar Unidade de Trabalho
24
24
 
25
- Com base no plano técnico (`./.context-sessions/<ISSUE-ID>/plan.md`), identifique:
25
+ Com base no plano técnico (`./.sessions/<ISSUE-ID>/plan.md`), identifique:
26
26
  - Qual tarefa específica será implementada agora
27
27
  - Em qual(is) repositório(s) do workspace
28
28
  - Quais arquivos serão criados/modificados
@@ -62,7 +62,7 @@ Refs: <ISSUE-ID>"
62
62
 
63
63
  ### 5. Documentação da Sessão
64
64
 
65
- Atualize `./.context-sessions/<ISSUE-ID>/work.md`:
65
+ Atualize `./.sessions/<ISSUE-ID>/work.md`:
66
66
 
67
67
  ```markdown
68
68
  # [Título da Feature] - Trabalho Executado
@@ -142,7 +142,7 @@ Se houver desvios justificados:
142
142
 
143
143
  ## 📄 Relatório de Validação
144
144
 
145
- Crie `./.context-sessions/<ISSUE-ID>/check-report.md`:
145
+ Crie `./.sessions/<ISSUE-ID>/check-report.md`:
146
146
 
147
147
  ```markdown
148
148
  # Relatório de Validação - [ISSUE-ID]
@@ -85,7 +85,7 @@ Apenas certifique-se de que a ideia esteja **adequadamente compreendida**.
85
85
  - Use o MCP apropriado para criar a issue (ex: Linear, Jira)
86
86
  - Todos os dados ficam no task manager
87
87
  - **Se não houver task manager**:
88
- - Crie arquivo em `./.context-sessions/<ISSUE-ID>/collect.md`
88
+ - Crie arquivo em `./.sessions/<ISSUE-ID>/collect.md`
89
89
  - Inclua data, tipo e conteúdo completo
90
90
 
91
91
  ## Perguntas de Esclarecimento
@@ -32,7 +32,7 @@ Refinar a issue coletada, esclarecendo:
32
32
  - Leia a issue usando o MCP apropriado
33
33
 
34
34
  **Senão**:
35
- - Leia `./.context-sessions/<ISSUE-ID>/collect.md`
35
+ - Leia `./.sessions/<ISSUE-ID>/collect.md`
36
36
 
37
37
  ### 2. Análise de Escopo
38
38
 
@@ -112,7 +112,7 @@ Liste perguntas que ainda precisam ser respondidas antes de iniciar a implementa
112
112
 
113
113
  ## 📄 Documentação do Refinamento
114
114
 
115
- Crie/atualize `./.context-sessions/<ISSUE-ID>/refine.md`:
115
+ Crie/atualize `./.sessions/<ISSUE-ID>/refine.md`:
116
116
 
117
117
  ```markdown
118
118
  # [Título da Issue] - Refinamento
@@ -208,7 +208,7 @@ Justificativa: [Por que ficam para depois]
208
208
  - Ou anexe como arquivo
209
209
 
210
210
  **Senão**:
211
- - Salve em `./.context-sessions/<ISSUE-ID>/prd.md`
211
+ - Salve em `./.sessions/<ISSUE-ID>/prd.md`
212
212
 
213
213
  ## 🔍 Revisão e Aprovação
214
214
 
@@ -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
@@ -0,0 +1,168 @@
1
+ # Observabilidade de Decisões
2
+
3
+ Este comando registra decisões importantes tomadas durante o desenvolvimento, criando um log auditável para explicabilidade e rastreabilidade.
4
+
5
+ ## 🎯 Objetivo
6
+
7
+ Criar registro estruturado de decisões técnicas e de produto, garantindo:
8
+ - **Explicabilidade**: Por que cada decisão foi tomada
9
+ - **Rastreabilidade**: Quais fontes (PRD, metaspecs, ADRs) embasaram a decisão
10
+ - **Auditoria**: Histórico completo de escolhas para revisão futura
11
+ - **Aprendizado**: Documentação de trade-offs e alternativas consideradas
12
+
13
+ **IMPORTANTE**: Este comando NÃO gera decisões novas. Ele apenas REGISTRA decisões que já foram tomadas no processo de desenvolvimento.
14
+
15
+ ## 📋 Pré-requisitos
16
+
17
+ - Executou pelo menos um dos comandos que geram decisões:
18
+ - `/spec` - gera PRD com decisões de produto
19
+ - `/plan` - gera plan.md com decisões técnicas
20
+ - `/work` - implementação gera decisões durante desenvolvimento
21
+
22
+ ## 🔍 Processo de Observação
23
+
24
+ ### 1. Identificar Decisões Relevantes
25
+
26
+ Analise os arquivos da sessão (`./.sessions/<ISSUE-ID>/`) para identificar decisões:
27
+
28
+ **Após `/spec`** - Decisões de Produto:
29
+ - Leia `./.sessions/<ISSUE-ID>/prd.md`
30
+ - Identifique decisões em:
31
+ - Escopo (o que entra/não entra na feature)
32
+ - Personas atendidas (quem é o público-alvo)
33
+ - Métricas de sucesso (como medir resultados)
34
+ - Requisitos não-funcionais (performance, acessibilidade)
35
+ - Restrições e trade-offs
36
+
37
+ **Após `/plan`** - Decisões Técnicas:
38
+ - Leia `./.sessions/<ISSUE-ID>/plan.md`
39
+ - Identifique decisões em:
40
+ - Arquitetura de componentes/módulos
41
+ - Escolha de bibliotecas ou ferramentas
42
+ - Padrões de implementação
43
+ - Estrutura de dados
44
+ - Estratégia de testes
45
+
46
+ **Durante `/work`** - Decisões de Implementação:
47
+ - Leia `./.sessions/<ISSUE-ID>/work.md`
48
+ - Identifique decisões em:
49
+ - Refatorações realizadas
50
+ - Mudanças de abordagem
51
+ - Otimizações aplicadas
52
+ - Tratamento de edge cases
53
+
54
+ ### 2. Documentar Cada Decisão
55
+
56
+ Para cada decisão identificada, documente:
57
+
58
+ ```markdown
59
+ ## Decisão: [Título Claro]
60
+
61
+ **Contexto**: [Por que precisamos decidir isso? Qual o problema ou necessidade?]
62
+
63
+ **Opções Consideradas**:
64
+ 1. **Opção A**: [Descrição]
65
+ - Prós: [vantagens]
66
+ - Contras: [desvantagens]
67
+ 2. **Opção B**: [Descrição]
68
+ - Prós: [vantagens]
69
+ - Contras: [desvantagens]
70
+
71
+ **Decisão**: [Opção escolhida]
72
+
73
+ **Justificativa**: [Por que escolhemos esta opção? Quais critérios foram mais importantes?]
74
+
75
+ **Fontes**:
76
+ - [PRD seção X]
77
+ - [Metaspec Y]
78
+ - [ADR-00Z]
79
+
80
+ **Trade-offs Aceitos**: [Quais desvantagens aceitamos conscientemente?]
81
+
82
+ **Reversibilidade**: Fácil / Média / Difícil
83
+
84
+ **Data**: [data da decisão]
85
+ ```
86
+
87
+ ### 3. Criar Log de Decisões
88
+
89
+ Salve em `./.sessions/<ISSUE-ID>/decisions.md`:
90
+
91
+ ```markdown
92
+ # Log de Decisões - [ISSUE-ID]
93
+
94
+ ## Resumo
95
+ [Breve resumo das principais decisões tomadas nesta feature]
96
+
97
+ ## Decisões de Produto
98
+
99
+ ### [Decisão 1]
100
+ [Conforme template acima]
101
+
102
+ ### [Decisão 2]
103
+ [Conforme template acima]
104
+
105
+ ## Decisões Técnicas
106
+
107
+ ### [Decisão 3]
108
+ [Conforme template acima]
109
+
110
+ ### [Decisão 4]
111
+ [Conforme template acima]
112
+
113
+ ## Decisões de Implementação
114
+
115
+ ### [Decisão 5]
116
+ [Conforme template acima]
117
+
118
+ ## Lições Aprendidas
119
+ - [Lição 1]
120
+ - [Lição 2]
121
+
122
+ ## Decisões Pendentes
123
+ - [Decisão que ainda precisa ser tomada]
124
+ ```
125
+
126
+ ## 📊 Análise de Impacto
127
+
128
+ Para decisões críticas, documente o impacto:
129
+
130
+ ```markdown
131
+ ## Análise de Impacto
132
+
133
+ **Repositórios Afetados**: [lista]
134
+
135
+ **Componentes Impactados**: [lista]
136
+
137
+ **Dependências Criadas**: [lista]
138
+
139
+ **Riscos Introduzidos**: [lista]
140
+
141
+ **Mitigações Aplicadas**: [lista]
142
+ ```
143
+
144
+ ## 🔄 Revisão de Decisões
145
+
146
+ Periodicamente, revise as decisões tomadas:
147
+ - Ainda fazem sentido?
148
+ - Os trade-offs se provaram corretos?
149
+ - Há aprendizados para documentar?
150
+ - Alguma decisão precisa ser revertida?
151
+
152
+ ---
153
+
154
+ **Argumentos fornecidos**:
155
+
156
+ ```
157
+ #$ARGUMENTS
158
+ ```
159
+
160
+ ---
161
+
162
+ ## 🎯 Resultado
163
+
164
+ Após executar este comando, você terá:
165
+ - Log completo de decisões em `./.sessions/<ISSUE-ID>/decisions.md`
166
+ - Rastreabilidade de cada escolha feita
167
+ - Documentação para futuras referências
168
+ - Base para ADRs (se decisões forem de arquitetura)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "context-first-cli",
3
- "version": "1.1.0",
3
+ "version": "1.1.1",
4
4
  "description": "A generic CLI to manage the Context-First development methodology across any project.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -219,7 +219,7 @@ src/
219
219
 
220
220
  ## 📄 Salvamento do Plano
221
221
 
222
- Salve em `./.context-sessions/<ISSUE-ID>/plan.md`
222
+ Salve em `./.sessions/<ISSUE-ID>/plan.md`
223
223
 
224
224
  ## 🔍 Revisão
225
225
 
@@ -37,7 +37,7 @@ Para cada repositório, crie um PR usando o GitHub CLI ou interface web:
37
37
  ```bash
38
38
  cd <repositório>
39
39
  gh pr create --title "[ISSUE-ID] Título da Feature" \
40
- --body "$(cat ../.context-sessions/<ISSUE-ID>/pr-description.md)" \
40
+ --body "$(cat ../.sessions/<ISSUE-ID>/pr-description.md)" \
41
41
  --base main
42
42
  ```
43
43
 
@@ -104,7 +104,7 @@ Se task manager estiver configurado:
104
104
 
105
105
  ### 6. Documentação da Sessão
106
106
 
107
- Atualize `./.context-sessions/<ISSUE-ID>/pr.md`:
107
+ Atualize `./.sessions/<ISSUE-ID>/pr.md`:
108
108
 
109
109
  ```markdown
110
110
  # [Título da Feature] - Pull Requests
@@ -168,7 +168,7 @@ Se múltiplos repositórios foram modificados:
168
168
 
169
169
  ## 📄 Preparação da Descrição do PR
170
170
 
171
- Crie `./.context-sessions/<ISSUE-ID>/pr-description.md`:
171
+ Crie `./.sessions/<ISSUE-ID>/pr-description.md`:
172
172
 
173
173
  ```markdown
174
174
  ## 🎯 Objetivo
@@ -212,7 +212,7 @@ Se alguma validação falhar:
212
212
 
213
213
  ## 📊 Relatório de Validação
214
214
 
215
- Crie `./.context-sessions/<ISSUE-ID>/pre-pr-report.md`:
215
+ Crie `./.sessions/<ISSUE-ID>/pre-pr-report.md`:
216
216
 
217
217
  ```markdown
218
218
  # Relatório de Validação Pre-PR
@@ -68,7 +68,7 @@ Após análise inicial, formule **3-5 clarificações mais importantes**:
68
68
 
69
69
  ## 📝 Documentação da Sessão
70
70
 
71
- Crie arquivo `./.context-sessions/<ISSUE-ID>/start.md` com:
71
+ Crie arquivo `./.sessions/<ISSUE-ID>/start.md` com:
72
72
 
73
73
  ```markdown
74
74
  # [Título da Feature] - Início
@@ -8,7 +8,7 @@ Antes de executar, certifique-se de que:
8
8
  - Executou `/warm-up` para carregar o contexto
9
9
  - Executou `/start` e `/plan` para ter o planejamento técnico
10
10
  - Está no workspace correto (verifique `.workspace.json`)
11
- - Tem o arquivo `./.context-sessions/<ISSUE-ID>/plan.md` disponível
11
+ - Tem o arquivo `./.sessions/<ISSUE-ID>/plan.md` disponível
12
12
 
13
13
  ## 🎯 Objetivo
14
14
 
@@ -22,7 +22,7 @@ Implementar uma unidade de trabalho específica do plano, que pode envolver:
22
22
 
23
23
  ### 1. Identificar Unidade de Trabalho
24
24
 
25
- Com base no plano técnico (`./.context-sessions/<ISSUE-ID>/plan.md`), identifique:
25
+ Com base no plano técnico (`./.sessions/<ISSUE-ID>/plan.md`), identifique:
26
26
  - Qual tarefa específica será implementada agora
27
27
  - Em qual(is) repositório(s) do workspace
28
28
  - Quais arquivos serão criados/modificados
@@ -62,7 +62,7 @@ Refs: <ISSUE-ID>"
62
62
 
63
63
  ### 5. Documentação da Sessão
64
64
 
65
- Atualize `./.context-sessions/<ISSUE-ID>/work.md`:
65
+ Atualize `./.sessions/<ISSUE-ID>/work.md`:
66
66
 
67
67
  ```markdown
68
68
  # [Título da Feature] - Trabalho Executado
@@ -142,7 +142,7 @@ Se houver desvios justificados:
142
142
 
143
143
  ## 📄 Relatório de Validação
144
144
 
145
- Crie `./.context-sessions/<ISSUE-ID>/check-report.md`:
145
+ Crie `./.sessions/<ISSUE-ID>/check-report.md`:
146
146
 
147
147
  ```markdown
148
148
  # Relatório de Validação - [ISSUE-ID]
@@ -85,7 +85,7 @@ Apenas certifique-se de que a ideia esteja **adequadamente compreendida**.
85
85
  - Use o MCP apropriado para criar a issue (ex: Linear, Jira)
86
86
  - Todos os dados ficam no task manager
87
87
  - **Se não houver task manager**:
88
- - Crie arquivo em `./.context-sessions/<ISSUE-ID>/collect.md`
88
+ - Crie arquivo em `./.sessions/<ISSUE-ID>/collect.md`
89
89
  - Inclua data, tipo e conteúdo completo
90
90
 
91
91
  ## Perguntas de Esclarecimento
@@ -32,7 +32,7 @@ Refinar a issue coletada, esclarecendo:
32
32
  - Leia a issue usando o MCP apropriado
33
33
 
34
34
  **Senão**:
35
- - Leia `./.context-sessions/<ISSUE-ID>/collect.md`
35
+ - Leia `./.sessions/<ISSUE-ID>/collect.md`
36
36
 
37
37
  ### 2. Análise de Escopo
38
38
 
@@ -112,7 +112,7 @@ Liste perguntas que ainda precisam ser respondidas antes de iniciar a implementa
112
112
 
113
113
  ## 📄 Documentação do Refinamento
114
114
 
115
- Crie/atualize `./.context-sessions/<ISSUE-ID>/refine.md`:
115
+ Crie/atualize `./.sessions/<ISSUE-ID>/refine.md`:
116
116
 
117
117
  ```markdown
118
118
  # [Título da Issue] - Refinamento
@@ -208,7 +208,7 @@ Justificativa: [Por que ficam para depois]
208
208
  - Ou anexe como arquivo
209
209
 
210
210
  **Senão**:
211
- - Salve em `./.context-sessions/<ISSUE-ID>/prd.md`
211
+ - Salve em `./.sessions/<ISSUE-ID>/prd.md`
212
212
 
213
213
  ## 🔍 Revisão e Aprovação
214
214
 
@@ -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
@@ -0,0 +1,168 @@
1
+ # Observabilidade de Decisões
2
+
3
+ Este comando registra decisões importantes tomadas durante o desenvolvimento, criando um log auditável para explicabilidade e rastreabilidade.
4
+
5
+ ## 🎯 Objetivo
6
+
7
+ Criar registro estruturado de decisões técnicas e de produto, garantindo:
8
+ - **Explicabilidade**: Por que cada decisão foi tomada
9
+ - **Rastreabilidade**: Quais fontes (PRD, metaspecs, ADRs) embasaram a decisão
10
+ - **Auditoria**: Histórico completo de escolhas para revisão futura
11
+ - **Aprendizado**: Documentação de trade-offs e alternativas consideradas
12
+
13
+ **IMPORTANTE**: Este comando NÃO gera decisões novas. Ele apenas REGISTRA decisões que já foram tomadas no processo de desenvolvimento.
14
+
15
+ ## 📋 Pré-requisitos
16
+
17
+ - Executou pelo menos um dos comandos que geram decisões:
18
+ - `/spec` - gera PRD com decisões de produto
19
+ - `/plan` - gera plan.md com decisões técnicas
20
+ - `/work` - implementação gera decisões durante desenvolvimento
21
+
22
+ ## 🔍 Processo de Observação
23
+
24
+ ### 1. Identificar Decisões Relevantes
25
+
26
+ Analise os arquivos da sessão (`./.sessions/<ISSUE-ID>/`) para identificar decisões:
27
+
28
+ **Após `/spec`** - Decisões de Produto:
29
+ - Leia `./.sessions/<ISSUE-ID>/prd.md`
30
+ - Identifique decisões em:
31
+ - Escopo (o que entra/não entra na feature)
32
+ - Personas atendidas (quem é o público-alvo)
33
+ - Métricas de sucesso (como medir resultados)
34
+ - Requisitos não-funcionais (performance, acessibilidade)
35
+ - Restrições e trade-offs
36
+
37
+ **Após `/plan`** - Decisões Técnicas:
38
+ - Leia `./.sessions/<ISSUE-ID>/plan.md`
39
+ - Identifique decisões em:
40
+ - Arquitetura de componentes/módulos
41
+ - Escolha de bibliotecas ou ferramentas
42
+ - Padrões de implementação
43
+ - Estrutura de dados
44
+ - Estratégia de testes
45
+
46
+ **Durante `/work`** - Decisões de Implementação:
47
+ - Leia `./.sessions/<ISSUE-ID>/work.md`
48
+ - Identifique decisões em:
49
+ - Refatorações realizadas
50
+ - Mudanças de abordagem
51
+ - Otimizações aplicadas
52
+ - Tratamento de edge cases
53
+
54
+ ### 2. Documentar Cada Decisão
55
+
56
+ Para cada decisão identificada, documente:
57
+
58
+ ```markdown
59
+ ## Decisão: [Título Claro]
60
+
61
+ **Contexto**: [Por que precisamos decidir isso? Qual o problema ou necessidade?]
62
+
63
+ **Opções Consideradas**:
64
+ 1. **Opção A**: [Descrição]
65
+ - Prós: [vantagens]
66
+ - Contras: [desvantagens]
67
+ 2. **Opção B**: [Descrição]
68
+ - Prós: [vantagens]
69
+ - Contras: [desvantagens]
70
+
71
+ **Decisão**: [Opção escolhida]
72
+
73
+ **Justificativa**: [Por que escolhemos esta opção? Quais critérios foram mais importantes?]
74
+
75
+ **Fontes**:
76
+ - [PRD seção X]
77
+ - [Metaspec Y]
78
+ - [ADR-00Z]
79
+
80
+ **Trade-offs Aceitos**: [Quais desvantagens aceitamos conscientemente?]
81
+
82
+ **Reversibilidade**: Fácil / Média / Difícil
83
+
84
+ **Data**: [data da decisão]
85
+ ```
86
+
87
+ ### 3. Criar Log de Decisões
88
+
89
+ Salve em `./.sessions/<ISSUE-ID>/decisions.md`:
90
+
91
+ ```markdown
92
+ # Log de Decisões - [ISSUE-ID]
93
+
94
+ ## Resumo
95
+ [Breve resumo das principais decisões tomadas nesta feature]
96
+
97
+ ## Decisões de Produto
98
+
99
+ ### [Decisão 1]
100
+ [Conforme template acima]
101
+
102
+ ### [Decisão 2]
103
+ [Conforme template acima]
104
+
105
+ ## Decisões Técnicas
106
+
107
+ ### [Decisão 3]
108
+ [Conforme template acima]
109
+
110
+ ### [Decisão 4]
111
+ [Conforme template acima]
112
+
113
+ ## Decisões de Implementação
114
+
115
+ ### [Decisão 5]
116
+ [Conforme template acima]
117
+
118
+ ## Lições Aprendidas
119
+ - [Lição 1]
120
+ - [Lição 2]
121
+
122
+ ## Decisões Pendentes
123
+ - [Decisão que ainda precisa ser tomada]
124
+ ```
125
+
126
+ ## 📊 Análise de Impacto
127
+
128
+ Para decisões críticas, documente o impacto:
129
+
130
+ ```markdown
131
+ ## Análise de Impacto
132
+
133
+ **Repositórios Afetados**: [lista]
134
+
135
+ **Componentes Impactados**: [lista]
136
+
137
+ **Dependências Criadas**: [lista]
138
+
139
+ **Riscos Introduzidos**: [lista]
140
+
141
+ **Mitigações Aplicadas**: [lista]
142
+ ```
143
+
144
+ ## 🔄 Revisão de Decisões
145
+
146
+ Periodicamente, revise as decisões tomadas:
147
+ - Ainda fazem sentido?
148
+ - Os trade-offs se provaram corretos?
149
+ - Há aprendizados para documentar?
150
+ - Alguma decisão precisa ser revertida?
151
+
152
+ ---
153
+
154
+ **Argumentos fornecidos**:
155
+
156
+ ```
157
+ #$ARGUMENTS
158
+ ```
159
+
160
+ ---
161
+
162
+ ## 🎯 Resultado
163
+
164
+ Após executar este comando, você terá:
165
+ - Log completo de decisões em `./.sessions/<ISSUE-ID>/decisions.md`
166
+ - Rastreabilidade de cada escolha feita
167
+ - Documentação para futuras referências
168
+ - Base para ADRs (se decisões forem de arquitetura)