context-first-cli 2.3.2 → 2.3.4

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 CHANGED
@@ -17,6 +17,7 @@ Orchestrate multi-repository workflows, create isolated feature workspaces, and
17
17
  - [Installation](#installation)
18
18
  - [Commands](#commands)
19
19
  - [Workflow Guide](#workflow-guide)
20
+ - [AI Commands Workflow](#ai-commands-workflow)
20
21
  - [Docker Support](#docker-support)
21
22
  - [Architecture](#architecture)
22
23
  - [Examples](#examples)
@@ -174,6 +175,106 @@ npx context-first-cli@latest <command>
174
175
 
175
176
  ## Workflow Guide
176
177
 
178
+ ### AI Commands Workflow
179
+
180
+ Context-First CLI includes **markdown-based AI commands** that guide AI assistants through a structured development workflow. These commands are installed in your orchestrator and can be invoked in AI assistants like Claude, Cursor, or Windsurf.
181
+
182
+ #### Complete Workflow Diagram
183
+
184
+ ```
185
+ ┌─────────────────────────────────────────────────────────────────────────────┐
186
+ │ CONTEXT-FIRST WORKFLOW │
187
+ ├─────────────────────────────────────────────────────────────────────────────┤
188
+ │ │
189
+ │ ┌──────────┐ │
190
+ │ │ warm-up │ Load project context, metaspecs, and configuration │
191
+ │ └────┬─────┘ │
192
+ │ │ │
193
+ │ ▼ │
194
+ │ ┌─────────────────────────────────────────────────────────────────────┐ │
195
+ │ │ PRODUCT DISCOVERY │ │
196
+ │ │ │ │
197
+ │ │ ┌─────────┐ ┌────────┐ ┌──────┐ ┌───────┐ │ │
198
+ │ │ │ collect │ -> │ refine │ -> │ spec │ -> │ check │ │ │
199
+ │ │ └─────────┘ └────────┘ └──────┘ └───────┘ │ │
200
+ │ │ Gather Refine & Create Validate │ │
201
+ │ │ requirements prioritize specs alignment │ │
202
+ │ │ │ │
203
+ │ └─────────────────────────────────────────────────────────────────────┘ │
204
+ │ │ │
205
+ │ ▼ │
206
+ │ ┌─────────────────────────────────────────────────────────────────────┐ │
207
+ │ │ ENGINEERING │ │
208
+ │ │ │ │
209
+ │ │ ┌───────┐ ┌──────┐ ┌──────┐ ┌────────┐ ┌────┐ │ │
210
+ │ │ │ start │ -> │ plan │ -> │ work │ -> │ pre-pr │ -> │ pr │ │ │
211
+ │ │ └───────┘ └──────┘ └──────┘ └────────┘ └────┘ │ │
212
+ │ │ Create Plan Implement Review & Create │ │
213
+ │ │ workspace approach feature validate PR │ │
214
+ │ │ │ │
215
+ │ └─────────────────────────────────────────────────────────────────────┘ │
216
+ │ │
217
+ └─────────────────────────────────────────────────────────────────────────────┘
218
+ ```
219
+
220
+ #### Command Reference
221
+
222
+ | Phase | Command | Description |
223
+ |-------|---------|-------------|
224
+ | **Context** | `/warm-up` | Load project context, metaspecs, and configuration files |
225
+ | **Products** | `/products/collect` | Gather requirements from stakeholders and documentation |
226
+ | | `/products/refine` | Refine and prioritize collected requirements |
227
+ | | `/products/spec` | Create detailed technical specifications |
228
+ | | `/products/check` | Validate alignment between specs and implementation |
229
+ | **Engineer** | `/engineer/start` | Create workspace, branches, and initial context |
230
+ | | `/engineer/plan` | Create implementation plan with architecture decisions |
231
+ | | `/engineer/work` | Implement the feature following the plan |
232
+ | | `/engineer/pre-pr` | Run validations, tests, and pre-PR checklist |
233
+ | | `/engineer/pr` | Create Pull Request with proper documentation |
234
+ | **Quality** | `/quality/observe` | Monitor and analyze code quality |
235
+ | | `/quality/metrics` | Collect and report quality metrics |
236
+
237
+ #### Using the Commands
238
+
239
+ 1. **Start your session** with `/warm-up` to load the project context
240
+ 2. **For new features**, follow the product discovery flow: `collect` → `refine` → `spec` → `check`
241
+ 3. **For implementation**, follow the engineering flow: `start` → `plan` → `work` → `pre-pr` → `pr`
242
+
243
+ **Example session:**
244
+
245
+ ```bash
246
+ # In your AI assistant (Claude, Cursor, etc.)
247
+
248
+ /warm-up
249
+ # AI loads project context and metaspecs
250
+
251
+ /engineer/start FIN-123
252
+ # AI creates workspace and initial documentation
253
+
254
+ /engineer/plan
255
+ # AI creates implementation plan
256
+
257
+ /engineer/work
258
+ # AI implements the feature
259
+
260
+ /engineer/pre-pr
261
+ # AI runs tests and validations
262
+
263
+ /engineer/pr
264
+ # AI creates the Pull Request
265
+ ```
266
+
267
+ #### Available Languages
268
+
269
+ Commands are available in:
270
+ - 🇺🇸 **English** (`en`)
271
+ - 🇪🇸 **Español** (`es`)
272
+ - 🇧🇷 **Português** (`pt-BR`)
273
+
274
+ Select your language when running `create:orchestrator` or `update:commands`.
275
+
276
+ ---
277
+
177
278
  ### Initial Setup (Once Per Project)
178
279
 
179
280
  #### Step 1: Create Orchestrator
@@ -301,12 +402,13 @@ $ npx context-first-cli@latest feature add-repo FIN-123
301
402
  # Open in editor
302
403
  code .
303
404
 
304
- # Use AI commands (if configured)
305
- /start # Create context.md and architecture.md
306
- /plan # Create plan.md
307
- /work # Implement feature
308
- /pre-pr # Review before PR
309
- /pr # Create pull request
405
+ # Use AI commands (in your AI assistant)
406
+ /warm-up # Load project context
407
+ /engineer/start # Create context.md and architecture.md
408
+ /engineer/plan # Create implementation plan
409
+ /engineer/work # Implement feature
410
+ /engineer/pre-pr # Review and validate before PR
411
+ /engineer/pr # Create pull request
310
412
  ```
311
413
 
312
414
  #### Stop Services
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "context-first-cli",
3
- "version": "2.3.2",
3
+ "version": "2.3.4",
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",
@@ -1,301 +0,0 @@
1
- # Planejamento Técnico
2
-
3
- Este comando cria o plano técnico detalhado para implementação da feature.
4
-
5
- ## 📋 Pré-requisitos
6
-
7
- - PRD criado via `/spec`
8
- - Análise inicial feita via `/start`
9
- - Arquivos `context.md` e `architecture.md` criados e aprovados
10
-
11
- ## Configuração
12
-
13
- Leia `context-manifest.json` e `ai.properties.md` do orchestrator para obter repositórios, base_path e task_management_system.
14
-
15
- ## 📍 IMPORTANTE: Entenda a Estrutura
16
-
17
- **Workspace**:
18
- ```
19
- <orchestrator>/.sessions/<ISSUE-ID>/
20
- ├── repo-1/ # worktree (será usado no /work)
21
- ├── repo-2/ # worktree (será usado no /work)
22
- ├── context.md # contexto (imutável - LER)
23
- ├── architecture.md # arquitetura (imutável - LER)
24
- └── plan.md # plano (mutável - CRIAR)
25
- ```
26
-
27
- **Repositórios principais** (apenas leitura):
28
- ```
29
- {base_path}/repo-1/ # repo principal (branch main/master)
30
- {base_path}/repo-2/ # repo principal (branch main/master)
31
- ```
32
-
33
- **REGRA DE OURO**:
34
- - ✅ Leia `context.md` e `architecture.md` (imutáveis)
35
- - ✅ Crie `plan.md` em `.sessions/<ISSUE-ID>/`
36
- - ✅ Leia código dos repositórios principais (read-only)
37
- - ❌ NUNCA faça checkout nos repositórios principais
38
- - ❌ NUNCA modifique `context.md` ou `architecture.md`
39
-
40
- ## ⚠️ IMPORTANTE: Arquivos Imutáveis
41
-
42
- **Este comando deve LER mas NÃO MODIFICAR:**
43
- - ✅ **LER** `.sessions/<ISSUE-ID>/context.md` (imutável)
44
- - ✅ **LER** `.sessions/<ISSUE-ID>/architecture.md` (imutável)
45
- - ✅ **CRIAR** `.sessions/<ISSUE-ID>/plan.md` (mutável - será atualizado durante `/work`)
46
- - ❌ **NÃO modificar `context.md` ou `architecture.md`**
47
-
48
- ## 📚 Carregar MetaSpecs
49
-
50
- **Localizar MetaSpecs automaticamente**:
51
- 1. Leia `context-manifest.json` do orchestrator
52
- 2. Encontre o repositório com `"role": "metaspecs"`
53
- 3. Leia `ai.properties.md` para obter o `base_path`
54
- 4. O metaspecs está em: `{base_path}/{metaspecs-repo-id}/`
55
- 5. Leia os arquivos `index.md` relevantes para garantir conformidade com:
56
- - Arquitetura do sistema
57
- - Padrões de design e código
58
- - Estrutura de pastas e arquivos
59
- - Convenções de nomenclatura
60
-
61
- ## 🎯 Objetivo
62
-
63
- Criar um plano técnico detalhado que guiará a implementação, dividindo o trabalho em unidades menores e sequenciais.
64
-
65
- ## 📝 Estrutura do Plano
66
-
67
- ### 1. Visão Geral Técnica
68
-
69
- ```markdown
70
- # Plano Técnico - [Título da Feature]
71
-
72
- ## Resumo
73
- [Breve descrição técnica do que será implementado]
74
-
75
- ## Repositórios Envolvidos
76
- - **<repo-1>**: [Papel nesta feature]
77
- - **<repo-2>**: [Papel nesta feature]
78
-
79
- ## Abordagem Técnica
80
- [Estratégia geral de implementação]
81
- ```
82
-
83
- ### 2. Arquitetura da Solução
84
-
85
- ```markdown
86
- ## Arquitetura
87
-
88
- ### Diagrama de Componentes
89
- [Descrição textual ou ASCII art dos componentes e suas relações]
90
-
91
- ### Fluxo de Dados
92
- 1. [Passo 1 do fluxo]
93
- 2. [Passo 2 do fluxo]
94
- 3. [Passo 3 do fluxo]
95
-
96
- ### Integrações
97
- - **<repo-1> → <repo-2>**: [Como se comunicam]
98
- - **Sistema → API Externa**: [Se houver]
99
- ```
100
-
101
- ### 3. Decisões Técnicas
102
-
103
- ```markdown
104
- ## Decisões Técnicas
105
-
106
- ### Decisão 1: [Título]
107
- **Contexto**: [Por que precisamos decidir isso]
108
- **Opções consideradas**:
109
- - Opção A: [Prós e contras]
110
- - Opção B: [Prós e contras]
111
- **Decisão**: [Opção escolhida]
112
- **Justificativa**: [Por que escolhemos esta opção]
113
-
114
- ### Decisão 2: [Título]
115
- [Mesmo formato acima]
116
- ```
117
-
118
- ### 4. Plano de Implementação
119
-
120
- Divida o trabalho em unidades pequenas e sequenciais:
121
-
122
- ```markdown
123
- ## Plano de Implementação
124
-
125
- ### Fase 1: [Nome da Fase]
126
- **Objetivo**: [O que será alcançado nesta fase]
127
- **Repositórios**: [repos afetados]
128
-
129
- #### Tarefa 1.1: [Descrição]
130
- - **Repo**: <repo-1>
131
- - **Arquivos**: [arquivos a criar/modificar]
132
- - **Descrição**: [O que fazer]
133
- - **Testes**: [Testes a implementar]
134
- - **Estimativa**: [tempo estimado]
135
-
136
- #### Tarefa 1.2: [Descrição]
137
- - **Repo**: <repo-2>
138
- - **Arquivos**: [arquivos a criar/modificar]
139
- - **Descrição**: [O que fazer]
140
- - **Testes**: [Testes a implementar]
141
- - **Estimativa**: [tempo estimado]
142
-
143
- ### Fase 2: [Nome da Fase]
144
- [Mesmo formato acima]
145
-
146
- ### Fase 3: [Nome da Fase]
147
- [Mesmo formato acima]
148
- ```
149
-
150
- ### 5. Estrutura de Arquivos
151
-
152
- Para cada repositório, defina a estrutura:
153
-
154
- ```markdown
155
- ## Estrutura de Arquivos
156
-
157
- ### <repo-1>
158
- ```
159
- src/
160
- ├── components/
161
- │ ├── NewComponent.tsx (CRIAR)
162
- │ └── ExistingComponent.tsx (MODIFICAR)
163
- ├── services/
164
- │ └── NewService.ts (CRIAR)
165
- └── tests/
166
- └── NewComponent.test.tsx (CRIAR)
167
- ```
168
-
169
- ### <repo-2>
170
- ```
171
- src/
172
- ├── controllers/
173
- │ └── NewController.ts (CRIAR)
174
- └── tests/
175
- └── NewController.test.ts (CRIAR)
176
- ```
177
- ```
178
-
179
- ### 6. APIs e Contratos
180
-
181
- ```markdown
182
- ## APIs e Contratos
183
-
184
- ### Endpoints Novos
185
-
186
- #### POST /api/resource
187
- **Request**:
188
- ```json
189
- {
190
- "field1": "string",
191
- "field2": "number"
192
- }
193
- ```
194
-
195
- **Response**:
196
- ```json
197
- {
198
- "id": "string",
199
- "status": "string"
200
- }
201
- ```
202
-
203
- ### Endpoints Modificados
204
-
205
- #### GET /api/resource/:id
206
- **Mudanças**: [O que muda]
207
- **Breaking Change**: Sim / Não
208
- ```
209
-
210
- ### 7. Estratégia de Testes
211
-
212
- ```markdown
213
- ## Estratégia de Testes
214
-
215
- ### Testes Unitários
216
- - **<repo-1>**: [Componentes/funções a testar]
217
- - **<repo-2>**: [Componentes/funções a testar]
218
-
219
- ### Testes de Integração
220
- - **Cenário 1**: [Descrição e repos envolvidos]
221
- - **Cenário 2**: [Descrição e repos envolvidos]
222
-
223
- ### Testes E2E (se aplicável)
224
- - **Fluxo 1**: [Descrição]
225
- - **Fluxo 2**: [Descrição]
226
- ```
227
-
228
- ### 8. Riscos Técnicos
229
-
230
- ```markdown
231
- ## Riscos Técnicos
232
-
233
- ### Risco 1: [Descrição]
234
- - **Impacto**: Alto / Médio / Baixo
235
- - **Probabilidade**: Alta / Média / Baixa
236
- - **Mitigação**: [Como mitigar]
237
- - **Plano B**: [Alternativa se ocorrer]
238
-
239
- ### Risco 2: [Descrição]
240
- [Mesmo formato acima]
241
- ```
242
-
243
- ### 9. Checklist de Implementação
244
-
245
- ```markdown
246
- ## Checklist de Implementação
247
-
248
- ### Fase 1
249
- - [ ] Tarefa 1.1
250
- - [ ] Tarefa 1.2
251
- - [ ] Testes da Fase 1
252
-
253
- ### Fase 2
254
- - [ ] Tarefa 2.1
255
- - [ ] Tarefa 2.2
256
- - [ ] Testes da Fase 2
257
-
258
- ### Fase 3
259
- - [ ] Tarefa 3.1
260
- - [ ] Tarefa 3.2
261
- - [ ] Testes da Fase 3
262
-
263
- ### Finalização
264
- - [ ] Documentação atualizada
265
- - [ ] Code review
266
- - [ ] Testes de integração
267
- - [ ] PR criado
268
- ```
269
-
270
- ## 📄 Salvamento do Plano
271
-
272
- Salve em `./.sessions/<ISSUE-ID>/plan.md`
273
-
274
- ## 🔍 Revisão
275
-
276
- Revise o plano verificando:
277
- - Todas as tarefas estão claras e executáveis
278
- - Dependências entre tarefas estão identificadas
279
- - Estimativas são realistas
280
- - Riscos foram considerados
281
- - Estratégia de testes é adequada
282
-
283
- ---
284
-
285
- **Argumentos fornecidos**:
286
-
287
- ```
288
- #$ARGUMENTS
289
- ```
290
-
291
- ---
292
-
293
- ## 🎯 Próximo Passo
294
-
295
- Após aprovação do plano:
296
-
297
- ```bash
298
- /work
299
- ```
300
-
301
- Este comando iniciará a execução da primeira unidade de trabalho do plano.
@@ -1,194 +0,0 @@
1
- # Criação de Pull Request
2
-
3
- Este comando cria Pull Requests para todos os repositórios modificados no workspace.
4
-
5
- ## 📋 Pré-requisitos
6
-
7
- Antes de criar PRs, certifique-se de que:
8
- - Executou `/pre-pr` e todas as validações passaram
9
- - Todos os commits foram feitos
10
- - Todos os testes estão passando
11
- - A documentação está atualizada
12
-
13
- ## Configuração
14
-
15
- Leia `context-manifest.json` e `ai.properties.md` do orchestrator para obter repositórios, base_path e task_management_system.
16
-
17
- ## 🛑 CRÍTICO: ONDE TRABALHAR
18
-
19
- **⚠️ ATENÇÃO: Se precisar fazer ajustes de última hora, TODO CÓDIGO DEVE SER CRIADO DENTRO DO WORKTREE!**
20
-
21
- **✅ CORRETO** - Trabalhar dentro do worktree:
22
- ```
23
- <orchestrator>/.sessions/<ISSUE-ID>/<repo-name>/src/file.ts ✅
24
- <orchestrator>/.sessions/<ISSUE-ID>/<repo-name>/README.md ✅
25
- <orchestrator>/.sessions/<ISSUE-ID>/<repo-name>/CHANGELOG.md ✅
26
- ```
27
-
28
- **❌ ERRADO** - NUNCA criar código fora do worktree:
29
- ```
30
- <orchestrator>/.sessions/file.ts ❌
31
- <orchestrator>/.sessions/<ISSUE-ID>/file.ts ❌
32
- {base_path}/<repo-name>/file.ts ❌ (repositório principal!)
33
- ```
34
-
35
- **REGRA ABSOLUTA**:
36
- - 🛑 **Qualquer ajuste de código** (docs, changelog, fixes) **DEVE estar em** `<orchestrator>/.sessions/<ISSUE-ID>/<repo-name>/`
37
- - 🛑 **NUNCA modifique** o repositório principal em `{base_path}/<repo-name>/`
38
- - ✅ **Trabalhe APENAS** dentro do worktree do repositório específico
39
-
40
- ## 🎯 Processo de Criação de PRs
41
-
42
- ### 1. Identificar Repositórios Modificados
43
-
44
- Para cada repositório no workspace, verifique:
45
- ```bash
46
- cd <repositório>
47
- git status
48
- git log origin/main..HEAD # Ver commits não pushados
49
- ```
50
-
51
- ### 2. Push das Branches
52
-
53
- Para cada repositório modificado:
54
- ```bash
55
- cd <repositório>
56
- git push origin <branch-name>
57
- ```
58
-
59
- ### 3. Criar Pull Requests
60
-
61
- Para cada repositório, crie um PR usando o GitHub CLI ou interface web:
62
-
63
- **Usando GitHub CLI**:
64
- ```bash
65
- cd <repositório>
66
- gh pr create --title "[ISSUE-ID] Título da Feature" \
67
- --body "$(cat ../.sessions/<ISSUE-ID>/pr-description.md)" \
68
- --base main
69
- ```
70
-
71
- **Template de Descrição do PR**:
72
-
73
- ```markdown
74
- ## 🎯 Objetivo
75
-
76
- [Breve descrição do que esta PR faz]
77
-
78
- ## 📝 Mudanças
79
-
80
- ### Repositório: <nome-do-repo>
81
-
82
- - [Mudança 1]
83
- - [Mudança 2]
84
- - [Mudança 3]
85
-
86
- ## 🔗 Relacionamentos
87
-
88
- - **Issue**: <ISSUE-ID>
89
- - **PRs Relacionados**:
90
- - <repo-1>#<PR-number>
91
- - <repo-2>#<PR-number>
92
-
93
- ## ✅ Checklist
94
-
95
- - [ ] Código implementado e testado
96
- - [ ] Testes unitários adicionados/atualizados
97
- - [ ] Testes de integração passando
98
- - [ ] Documentação atualizada
99
- - [ ] Sem breaking changes (ou documentados)
100
- - [ ] Revisado por pares (após criação do PR)
101
-
102
- ## 🧪 Como Testar
103
-
104
- 1. [Passo 1]
105
- 2. [Passo 2]
106
- 3. [Resultado esperado]
107
-
108
- ## 📸 Screenshots/Demos
109
-
110
- [Se aplicável, adicione screenshots ou links para demos]
111
-
112
- ## 🔍 Notas para Revisores
113
-
114
- - [Ponto de atenção 1]
115
- - [Ponto de atenção 2]
116
- ```
117
-
118
- ### 4. Vincular PRs
119
-
120
- Se houver múltiplos PRs (um por repositório):
121
- - Adicione links cruzados entre os PRs
122
- - Documente a ordem de merge recomendada
123
- - Indique dependências entre PRs
124
-
125
- ### 5. Atualizar Issue no Task Manager
126
-
127
- Se task manager estiver configurado:
128
- - Mova a issue para "Em Revisão" ou "PR Aberto"
129
- - Adicione links dos PRs na issue
130
- - Adicione comentário com resumo das mudanças
131
-
132
- ### 6. Documentação da Sessão
133
-
134
- Atualize `./.sessions/<ISSUE-ID>/pr.md`:
135
-
136
- ```markdown
137
- # [Título da Feature] - Pull Requests
138
-
139
- ## PRs Criados
140
-
141
- ### <repo-1>
142
- - **Link**: <URL do PR>
143
- - **Status**: Aberto
144
- - **Commits**: X commits
145
-
146
- ### <repo-2>
147
- - **Link**: <URL do PR>
148
- - **Status**: Aberto
149
- - **Commits**: Y commits
150
-
151
- ## Ordem de Merge Recomendada
152
-
153
- 1. <repo-1> - [Justificativa]
154
- 2. <repo-2> - [Justificativa]
155
-
156
- ## Notas para Merge
157
-
158
- - [Nota importante 1]
159
- - [Nota importante 2]
160
- ```
161
-
162
- ## 🔍 Checklist Final
163
-
164
- Antes de solicitar revisão:
165
- - [ ] Todos os PRs criados
166
- - [ ] Descrições completas e claras
167
- - [ ] PRs vinculados entre si
168
- - [ ] Issue atualizada no task manager
169
- - [ ] Testes passando em CI/CD
170
- - [ ] Documentação da sessão completa
171
-
172
- ## 📢 Comunicação
173
-
174
- Notifique o time sobre os PRs:
175
- - Mencione revisores relevantes
176
- - Destaque mudanças críticas ou breaking changes
177
- - Indique urgência se aplicável
178
-
179
- ---
180
-
181
- **Argumentos fornecidos**:
182
-
183
- ```
184
- #$ARGUMENTS
185
- ```
186
-
187
- ---
188
-
189
- ## 🎯 Próximos Passos
190
-
191
- 1. Aguardar revisão dos PRs
192
- 2. Responder comentários e fazer ajustes
193
- 3. Após aprovação, fazer merge na ordem recomendada
194
- 4. Executar `context-cli feature:end <ISSUE-ID>` para limpar o workspace