@thatix.io/context-first-agents-cli 0.1.1 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +25 -12
- package/dist/commands/create-orchestrator.js +4 -1
- package/dist/commands/doctor.js +21 -5
- package/dist/commands/init.js +3 -1
- package/dist/templates/commands/en/engineer/plan.md +301 -0
- package/dist/templates/commands/en/engineer/pr.md +194 -0
- package/dist/templates/commands/en/engineer/pre-pr.md +325 -0
- package/dist/templates/commands/en/engineer/start.md +285 -0
- package/dist/templates/commands/en/engineer/work.md +256 -0
- package/dist/templates/commands/en/products/check.md +237 -0
- package/dist/templates/commands/en/products/collect.md +170 -0
- package/dist/templates/commands/en/products/refine.md +231 -0
- package/dist/templates/commands/en/products/spec.md +273 -0
- package/dist/templates/commands/en/quality/metrics.md +266 -0
- package/dist/templates/commands/en/quality/observe.md +172 -0
- package/dist/templates/commands/en/warm-up.md +59 -0
- package/dist/templates/commands/es/agents/CONTEXT-CONTRACT.md +63 -0
- package/dist/templates/commands/es/agents/implementer.md +27 -0
- package/dist/templates/commands/es/agents/integrator.md +24 -0
- package/dist/templates/commands/es/agents/reviewer.md +31 -0
- package/dist/templates/commands/es/agents/tester.md +22 -0
- package/dist/templates/commands/es/engineer/plan.md +335 -0
- package/dist/templates/commands/es/engineer/pr.md +228 -0
- package/dist/templates/commands/es/engineer/pre-pr.md +359 -0
- package/dist/templates/commands/es/engineer/start.md +318 -0
- package/dist/templates/commands/es/engineer/work.md +290 -0
- package/dist/templates/commands/es/orchestrate.md +125 -0
- package/dist/templates/commands/es/products/check.md +271 -0
- package/dist/templates/commands/es/products/collect.md +218 -0
- package/dist/templates/commands/es/products/refine.md +265 -0
- package/dist/templates/commands/es/products/spec.md +306 -0
- package/dist/templates/commands/es/quality/metrics.md +300 -0
- package/dist/templates/commands/es/quality/observe.md +205 -0
- package/dist/templates/commands/es/warm-up.md +59 -0
- package/dist/templates/commands/pt-BR/engineer/plan.md +335 -0
- package/dist/templates/commands/pt-BR/engineer/pr.md +228 -0
- package/dist/templates/commands/pt-BR/engineer/pre-pr.md +359 -0
- package/dist/templates/commands/pt-BR/engineer/start.md +319 -0
- package/dist/templates/commands/pt-BR/engineer/work.md +290 -0
- package/dist/templates/commands/pt-BR/products/check.md +271 -0
- package/dist/templates/commands/pt-BR/products/collect.md +219 -0
- package/dist/templates/commands/pt-BR/products/refine.md +265 -0
- package/dist/templates/commands/pt-BR/products/spec.md +307 -0
- package/dist/templates/commands/pt-BR/quality/metrics.md +300 -0
- package/dist/templates/commands/pt-BR/quality/observe.md +206 -0
- package/dist/templates/commands/pt-BR/warm-up.md +59 -0
- package/package.json +1 -1
- package/templates/commands/en/engineer/plan.md +301 -0
- package/templates/commands/en/engineer/pr.md +194 -0
- package/templates/commands/en/engineer/pre-pr.md +325 -0
- package/templates/commands/en/engineer/start.md +285 -0
- package/templates/commands/en/engineer/work.md +256 -0
- package/templates/commands/en/products/check.md +237 -0
- package/templates/commands/en/products/collect.md +170 -0
- package/templates/commands/en/products/refine.md +231 -0
- package/templates/commands/en/products/spec.md +273 -0
- package/templates/commands/en/quality/metrics.md +266 -0
- package/templates/commands/en/quality/observe.md +172 -0
- package/templates/commands/en/warm-up.md +59 -0
- package/templates/commands/es/agents/CONTEXT-CONTRACT.md +63 -0
- package/templates/commands/es/agents/implementer.md +27 -0
- package/templates/commands/es/agents/integrator.md +24 -0
- package/templates/commands/es/agents/reviewer.md +31 -0
- package/templates/commands/es/agents/tester.md +22 -0
- package/templates/commands/es/engineer/plan.md +335 -0
- package/templates/commands/es/engineer/pr.md +228 -0
- package/templates/commands/es/engineer/pre-pr.md +359 -0
- package/templates/commands/es/engineer/start.md +318 -0
- package/templates/commands/es/engineer/work.md +290 -0
- package/templates/commands/es/orchestrate.md +125 -0
- package/templates/commands/es/products/check.md +271 -0
- package/templates/commands/es/products/collect.md +218 -0
- package/templates/commands/es/products/refine.md +265 -0
- package/templates/commands/es/products/spec.md +306 -0
- package/templates/commands/es/quality/metrics.md +300 -0
- package/templates/commands/es/quality/observe.md +205 -0
- package/templates/commands/es/warm-up.md +59 -0
- package/templates/commands/pt-BR/engineer/plan.md +335 -0
- package/templates/commands/pt-BR/engineer/pr.md +228 -0
- package/templates/commands/pt-BR/engineer/pre-pr.md +359 -0
- package/templates/commands/pt-BR/engineer/start.md +319 -0
- package/templates/commands/pt-BR/engineer/work.md +290 -0
- package/templates/commands/pt-BR/products/check.md +271 -0
- package/templates/commands/pt-BR/products/collect.md +219 -0
- package/templates/commands/pt-BR/products/refine.md +265 -0
- package/templates/commands/pt-BR/products/spec.md +307 -0
- package/templates/commands/pt-BR/quality/metrics.md +300 -0
- package/templates/commands/pt-BR/quality/observe.md +206 -0
- package/templates/commands/pt-BR/warm-up.md +59 -0
|
@@ -0,0 +1,359 @@
|
|
|
1
|
+
# Preparación para Pull Request
|
|
2
|
+
|
|
3
|
+
Este comando valida que todo está listo para crear Pull Requests.
|
|
4
|
+
|
|
5
|
+
## 📋 Requisitos Previos
|
|
6
|
+
|
|
7
|
+
- Implementación completa (todas las tareas del `/plan` ejecutadas)
|
|
8
|
+
- Todos los commits realizados
|
|
9
|
+
- Workspace limpio y organizado
|
|
10
|
+
|
|
11
|
+
## 📋 Configuración del Proyecto
|
|
12
|
+
|
|
13
|
+
**⚠️ IMPORTANTE: ¡Siempre lea los archivos de configuración del proyecto ANTES de ejecutar este comando!**
|
|
14
|
+
|
|
15
|
+
### Archivos Obligatorios
|
|
16
|
+
|
|
17
|
+
1. **`context-manifest.json`** (raíz del orquestador)
|
|
18
|
+
- Lista de repositorios del proyecto
|
|
19
|
+
- Roles de cada repositorio (metaspecs, application, etc.)
|
|
20
|
+
- URLs y dependencias entre repositorios
|
|
21
|
+
|
|
22
|
+
2. **`ai.properties.md`** (raíz del orquestador)
|
|
23
|
+
- Configuraciones del proyecto (`project_name`, `base_path`)
|
|
24
|
+
- Sistema de gestión de tareas (`task_management_system`)
|
|
25
|
+
- Credenciales y configuraciones específicas
|
|
26
|
+
|
|
27
|
+
### Cómo Leer
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
# 1. Leer context-manifest.json
|
|
31
|
+
cat context-manifest.json
|
|
32
|
+
|
|
33
|
+
# 2. Leer ai.properties.md
|
|
34
|
+
cat ai.properties.md
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### Información Esencial
|
|
38
|
+
|
|
39
|
+
Después de leer los archivos, tendrás:
|
|
40
|
+
- ✅ Lista completa de repositorios del proyecto
|
|
41
|
+
- ✅ Ubicación del repositorio de metaspecs
|
|
42
|
+
- ✅ Base path para localizar repositorios
|
|
43
|
+
- ✅ Sistema de gestión de tareas configurado
|
|
44
|
+
- ✅ Configuraciones específicas del proyecto
|
|
45
|
+
|
|
46
|
+
**🛑 NO continúe sin leer estos archivos!** ¡Contienen información crítica para la correcta ejecución del comando!
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
## 🎯 Objetivo
|
|
50
|
+
|
|
51
|
+
Garantizar que la implementación está completa, probada y lista para revisión antes de crear los PRs.
|
|
52
|
+
|
|
53
|
+
## 🛑 CRÍTICO: DÓNDE TRABAJAR
|
|
54
|
+
|
|
55
|
+
**⚠️ ATENCIÓN: TODO CÓDIGO (tests, fixes, ajustes) DEBE SER CREADO DENTRO DEL WORKTREE!**
|
|
56
|
+
|
|
57
|
+
**✅ CORRECTO** - Trabajar dentro del worktree:
|
|
58
|
+
```
|
|
59
|
+
<orchestrator>/.sessions/<ISSUE-ID>/<repo-name>/src/file.ts ✅
|
|
60
|
+
<orchestrator>/.sessions/<ISSUE-ID>/<repo-name>/tests/test.ts ✅
|
|
61
|
+
<orchestrator>/.sessions/<ISSUE-ID>/<repo-name>/.eslintrc.js ✅
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
**❌ INCORRECTO** - NUNCA crear código fuera del worktree:
|
|
65
|
+
```
|
|
66
|
+
<orchestrator>/.sessions/test.ts ❌
|
|
67
|
+
<orchestrator>/.sessions/<ISSUE-ID>/test.ts ❌
|
|
68
|
+
{base_path}/<repo-name>/test.ts ❌ (¡repositorio principal!)
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
**REGLA ABSOLUTA**:
|
|
72
|
+
- 🛑 **TODO código** (tests, fixes, configuraciones) **DEBE estar en** `<orchestrator>/.sessions/<ISSUE-ID>/<repo-name>/`
|
|
73
|
+
- 🛑 **NUNCA modifique** el repositorio principal en `{base_path}/<repo-name>/`
|
|
74
|
+
- ✅ **Trabaje SOLO** dentro del worktree del repositorio específico
|
|
75
|
+
|
|
76
|
+
## ✅ Checklist de Validación
|
|
77
|
+
|
|
78
|
+
### 1. Completitud de la Implementación
|
|
79
|
+
|
|
80
|
+
```markdown
|
|
81
|
+
## Verificación de Completitud
|
|
82
|
+
|
|
83
|
+
- [ ] Todas las tareas del plan fueron ejecutadas
|
|
84
|
+
- [ ] Todos los requisitos funcionales del PRD fueron implementados
|
|
85
|
+
- [ ] Todos los criterios de aceptación fueron cumplidos
|
|
86
|
+
- [ ] Ninguna funcionalidad quedó incompleta
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### 2. Calidad del Código
|
|
90
|
+
|
|
91
|
+
Para cada repositorio modificado:
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
cd <repositorio>
|
|
95
|
+
|
|
96
|
+
# Verificar estado
|
|
97
|
+
git status
|
|
98
|
+
|
|
99
|
+
# Verificar linting (ejemplos por stack):
|
|
100
|
+
# Node.js: npm run lint / yarn lint / pnpm lint
|
|
101
|
+
# Python: flake8 . / pylint src/ / black --check .
|
|
102
|
+
# Java: mvn checkstyle:check / gradle check
|
|
103
|
+
# Go: golangci-lint run / go vet ./...
|
|
104
|
+
# Ruby: rubocop
|
|
105
|
+
# Rust: cargo clippy
|
|
106
|
+
# PHP: ./vendor/bin/phpcs
|
|
107
|
+
# C#: dotnet format --verify-no-changes
|
|
108
|
+
|
|
109
|
+
# Verificar formateo (ejemplos por stack):
|
|
110
|
+
# Node.js: npm run format:check / prettier --check .
|
|
111
|
+
# Python: black --check . / autopep8 --diff .
|
|
112
|
+
# Java: mvn formatter:validate
|
|
113
|
+
# Go: gofmt -l . / go fmt ./...
|
|
114
|
+
# Ruby: rubocop --format-only
|
|
115
|
+
# Rust: cargo fmt --check
|
|
116
|
+
|
|
117
|
+
# Verificar build (ejemplos por stack):
|
|
118
|
+
# Node.js: npm run build / yarn build
|
|
119
|
+
# Python: python setup.py build
|
|
120
|
+
# Java: mvn compile / gradle build
|
|
121
|
+
# Go: go build ./...
|
|
122
|
+
# Ruby: rake build
|
|
123
|
+
# Rust: cargo build
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
Checklist:
|
|
127
|
+
```markdown
|
|
128
|
+
## Calidad del Código
|
|
129
|
+
|
|
130
|
+
### <repo-1>
|
|
131
|
+
- [ ] Linting sin errores
|
|
132
|
+
- [ ] Formateo correcto
|
|
133
|
+
- [ ] Build sin errores
|
|
134
|
+
- [ ] Sin warnings críticos
|
|
135
|
+
|
|
136
|
+
### <repo-2>
|
|
137
|
+
- [ ] Linting sin errores
|
|
138
|
+
- [ ] Formateo correcto
|
|
139
|
+
- [ ] Build sin errores
|
|
140
|
+
- [ ] Sin warnings críticos
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
### 3. Tests
|
|
144
|
+
|
|
145
|
+
Para cada repositorio:
|
|
146
|
+
|
|
147
|
+
```bash
|
|
148
|
+
cd <repositorio>
|
|
149
|
+
|
|
150
|
+
# Ejecutar tests unitarios (ejemplos por stack):
|
|
151
|
+
# Node.js: npm run test:unit / jest / vitest
|
|
152
|
+
# Python: pytest tests/unit / python -m unittest
|
|
153
|
+
# Java: mvn test / gradle test
|
|
154
|
+
# Go: go test ./... -short
|
|
155
|
+
# Ruby: rspec spec/unit / rake test:unit
|
|
156
|
+
# Rust: cargo test --lib
|
|
157
|
+
# PHP: ./vendor/bin/phpunit --testsuite=unit
|
|
158
|
+
# C#: dotnet test --filter Category=Unit
|
|
159
|
+
|
|
160
|
+
# Ejecutar tests de integración (ejemplos por stack):
|
|
161
|
+
# Node.js: npm run test:integration
|
|
162
|
+
# Python: pytest tests/integration
|
|
163
|
+
# Java: mvn verify / gradle integrationTest
|
|
164
|
+
# Go: go test ./... -run Integration
|
|
165
|
+
# Ruby: rspec spec/integration
|
|
166
|
+
# Rust: cargo test --test '*'
|
|
167
|
+
# PHP: ./vendor/bin/phpunit --testsuite=integration
|
|
168
|
+
|
|
169
|
+
# Verificar cobertura (ejemplos por stack):
|
|
170
|
+
# Node.js: npm run test:coverage / jest --coverage
|
|
171
|
+
# Python: pytest --cov=src tests/
|
|
172
|
+
# Java: mvn jacoco:report / gradle jacocoTestReport
|
|
173
|
+
# Go: go test -cover ./...
|
|
174
|
+
# Ruby: rspec --coverage
|
|
175
|
+
# Rust: cargo tarpaulin
|
|
176
|
+
# PHP: ./vendor/bin/phpunit --coverage-html coverage/
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
Checklist:
|
|
180
|
+
```markdown
|
|
181
|
+
## Tests
|
|
182
|
+
|
|
183
|
+
### <repo-1>
|
|
184
|
+
- [ ] Todos los tests unitarios pasan
|
|
185
|
+
- [ ] Todos los tests de integración pasan
|
|
186
|
+
- [ ] Cobertura de tests adecuada (>= X%)
|
|
187
|
+
- [ ] Nuevos tests añadidos para nuevas funcionalidades
|
|
188
|
+
|
|
189
|
+
### <repo-2>
|
|
190
|
+
- [ ] Todos los tests unitarios pasan
|
|
191
|
+
- [ ] Todos los tests de integración pasan
|
|
192
|
+
- [ ] Cobertura de tests adecuada (>= X%)
|
|
193
|
+
- [ ] Nuevos tests añadidos para nuevas funcionalidades
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
### 4. Documentación
|
|
197
|
+
|
|
198
|
+
```markdown
|
|
199
|
+
## Documentación
|
|
200
|
+
|
|
201
|
+
- [ ] README actualizado (si es necesario)
|
|
202
|
+
- [ ] Comentarios de código adecuados
|
|
203
|
+
- [ ] Documentación de APIs actualizada (si hubo cambios)
|
|
204
|
+
- [ ] Changelog actualizado
|
|
205
|
+
- [ ] Documentación técnica actualizada en las metaspecs (si aplica)
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
### 5. Commits
|
|
209
|
+
|
|
210
|
+
```markdown
|
|
211
|
+
## Commits
|
|
212
|
+
|
|
213
|
+
- [ ] Todos los commits tienen mensajes claros y descriptivos
|
|
214
|
+
- [ ] Los commits siguen el estándar del proyecto (conventional commits, etc.)
|
|
215
|
+
- [ ] No hay commits con mensajes genéricos ("fix", "update", etc.)
|
|
216
|
+
- [ ] Los commits están organizados lógicamente
|
|
217
|
+
- [ ] No hay commits de debug o temporales
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
### 6. Sincronización
|
|
221
|
+
|
|
222
|
+
```markdown
|
|
223
|
+
## Sincronización
|
|
224
|
+
|
|
225
|
+
- [ ] Las ramas están actualizadas con la rama base (main/develop)
|
|
226
|
+
- [ ] No hay conflictos de merge
|
|
227
|
+
- [ ] Cambios entre repositorios están sincronizados
|
|
228
|
+
- [ ] Dependencias entre repos fueron probadas
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
### 7. Seguridad
|
|
232
|
+
|
|
233
|
+
```markdown
|
|
234
|
+
## Seguridad
|
|
235
|
+
|
|
236
|
+
- [ ] No hay credenciales o secretos en el código
|
|
237
|
+
- [ ] No hay datos sensibles en logs
|
|
238
|
+
- [ ] Dependencias de seguridad fueron verificadas
|
|
239
|
+
- [ ] No se introdujeron vulnerabilidades conocidas
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
### 8. Performance
|
|
243
|
+
|
|
244
|
+
```markdown
|
|
245
|
+
## Performance
|
|
246
|
+
|
|
247
|
+
- [ ] No hay regresiones de performance evidentes
|
|
248
|
+
- [ ] Queries/operaciones costosas fueron optimizadas
|
|
249
|
+
- [ ] No se introdujeron memory leaks
|
|
250
|
+
- [ ] Requisitos de performance del PRD fueron cumplidos
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
## 🔍 Validación Cruzada
|
|
254
|
+
|
|
255
|
+
Si se modificaron múltiples repositorios:
|
|
256
|
+
|
|
257
|
+
```markdown
|
|
258
|
+
## Validación Cruzada
|
|
259
|
+
|
|
260
|
+
- [ ] Probé la integración entre los repositorios localmente
|
|
261
|
+
- [ ] APIs/contratos entre repos están consistentes
|
|
262
|
+
- [ ] No hay breaking changes no documentados
|
|
263
|
+
- [ ] El orden de deploy/merge está claro
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
## 📄 Preparación de la Descripción del PR
|
|
267
|
+
|
|
268
|
+
Cree `./.sessions/<ISSUE-ID>/pr-description.md`:
|
|
269
|
+
|
|
270
|
+
```markdown
|
|
271
|
+
## 🎯 Objetivo
|
|
272
|
+
[Breve descripción de lo que hace esta feature]
|
|
273
|
+
|
|
274
|
+
## 📝 Cambios Principales
|
|
275
|
+
- [Cambio 1]
|
|
276
|
+
- [Cambio 2]
|
|
277
|
+
- [Cambio 3]
|
|
278
|
+
|
|
279
|
+
## 🔗 Links
|
|
280
|
+
- **Issue**: [ISSUE-ID]
|
|
281
|
+
- **PRD**: [link o ruta]
|
|
282
|
+
- **Plan Técnico**: [link o ruta]
|
|
283
|
+
|
|
284
|
+
## ✅ Checklist
|
|
285
|
+
- [x] Código implementado y probado
|
|
286
|
+
- [x] Tests unitarios añadidos/actualizados
|
|
287
|
+
- [x] Tests de integración pasando
|
|
288
|
+
- [x] Documentación actualizada
|
|
289
|
+
- [x] Linting y formateo OK
|
|
290
|
+
- [x] Build sin errores
|
|
291
|
+
|
|
292
|
+
## 🧪 Cómo Probar
|
|
293
|
+
1. [Paso 1]
|
|
294
|
+
2. [Paso 2]
|
|
295
|
+
3. [Resultado esperado]
|
|
296
|
+
|
|
297
|
+
## 🔍 Notas para Revisores
|
|
298
|
+
- [Punto de atención 1]
|
|
299
|
+
- [Punto de atención 2]
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
## 🚨 Problemas Encontrados
|
|
303
|
+
|
|
304
|
+
Si alguna validación falla:
|
|
305
|
+
1. 🛑 **PARE** el proceso de creación de PR
|
|
306
|
+
2. 📝 **DOCUMENTE** el problema
|
|
307
|
+
3. 🔧 **CORRIJA** el problema
|
|
308
|
+
4. 🔄 **EJECUTE** `/pre-pr` nuevamente
|
|
309
|
+
|
|
310
|
+
## 📊 Reporte de Validación
|
|
311
|
+
|
|
312
|
+
Cree `./.sessions/<ISSUE-ID>/pre-pr-report.md`:
|
|
313
|
+
|
|
314
|
+
```markdown
|
|
315
|
+
# Reporte de Validación Pre-PR
|
|
316
|
+
|
|
317
|
+
**Fecha**: [fecha/hora]
|
|
318
|
+
**Issue**: [ISSUE-ID]
|
|
319
|
+
|
|
320
|
+
## Estado General
|
|
321
|
+
✅ Listo para PR / ⚠️ Pendientes / ❌ Bloqueado
|
|
322
|
+
|
|
323
|
+
## Repositorios Validados
|
|
324
|
+
- **<repo-1>**: ✅ OK
|
|
325
|
+
- **<repo-2>**: ✅ OK
|
|
326
|
+
|
|
327
|
+
## Resumen de Tests
|
|
328
|
+
- **Tests Unitarios**: X/X pasando
|
|
329
|
+
- **Tests de Integración**: Y/Y pasando
|
|
330
|
+
- **Cobertura**: Z%
|
|
331
|
+
|
|
332
|
+
## Pendientes (si hay)
|
|
333
|
+
- [Pendiente 1]
|
|
334
|
+
- [Pendiente 2]
|
|
335
|
+
|
|
336
|
+
## Próximos Pasos
|
|
337
|
+
- [x] Todas las validaciones pasaron
|
|
338
|
+
- [ ] Ejecutar `/pr` para crear Pull Requests
|
|
339
|
+
```
|
|
340
|
+
|
|
341
|
+
---
|
|
342
|
+
|
|
343
|
+
**Argumentos proporcionados**:
|
|
344
|
+
|
|
345
|
+
```
|
|
346
|
+
#$ARGUMENTS
|
|
347
|
+
```
|
|
348
|
+
|
|
349
|
+
---
|
|
350
|
+
|
|
351
|
+
## 🎯 Próximo Paso
|
|
352
|
+
|
|
353
|
+
Si todas las validaciones pasaron:
|
|
354
|
+
|
|
355
|
+
```bash
|
|
356
|
+
/pr
|
|
357
|
+
```
|
|
358
|
+
|
|
359
|
+
Este comando creará los Pull Requests para todos los repositorios modificados.
|
|
@@ -0,0 +1,318 @@
|
|
|
1
|
+
# Inicio del Desarrollo
|
|
2
|
+
|
|
3
|
+
Este comando inicia el desarrollo de una funcionalidad en el workspace actual.
|
|
4
|
+
|
|
5
|
+
## 📍 IMPORTANTE: Entienda la Estructura
|
|
6
|
+
|
|
7
|
+
**Workspace** (donde trabajará):
|
|
8
|
+
```
|
|
9
|
+
<orchestrator>/.sessions/<ISSUE-ID>/
|
|
10
|
+
├── repo-1/ # worktree con branch feature/<ISSUE-ID>
|
|
11
|
+
├── repo-2/ # worktree con branch feature/<ISSUE-ID>
|
|
12
|
+
├── context.md # contexto (inmutable - creado por este comando)
|
|
13
|
+
├── architecture.md # arquitectura (inmutable - creado por este comando)
|
|
14
|
+
└── plan.md # plan (mutable - creado por /plan)
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
**Repositorios principales** (solo lectura):
|
|
18
|
+
```
|
|
19
|
+
{base_path}/repo-1/ # repo principal (branch main/master)
|
|
20
|
+
{base_path}/repo-2/ # repo principal (branch main/master)
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
**REGLA DE ORO**:
|
|
24
|
+
- ✅ Lea metaspecs y código de los repositorios principales (read-only)
|
|
25
|
+
- ✅ Cree `context.md` y `architecture.md` en `.sessions/<ISSUE-ID>/`
|
|
26
|
+
- ❌ NUNCA haga checkout en los repositorios principales
|
|
27
|
+
- ❌ NUNCA modifique código en este comando (use `/work` después)
|
|
28
|
+
|
|
29
|
+
## 📋 Configuración del Proyecto
|
|
30
|
+
|
|
31
|
+
**⚠️ IMPORTANTE: ¡Siempre lea los archivos de configuración del proyecto ANTES de ejecutar este comando!**
|
|
32
|
+
|
|
33
|
+
### Archivos Obligatorios
|
|
34
|
+
|
|
35
|
+
1. **`context-manifest.json`** (raíz del orchestrator)
|
|
36
|
+
- Lista de repositorios del proyecto
|
|
37
|
+
- Roles de cada repositorio (metaspecs, application, etc.)
|
|
38
|
+
- URLs y dependencias entre repositorios
|
|
39
|
+
|
|
40
|
+
2. **`ai.properties.md`** (raíz del orchestrator)
|
|
41
|
+
- Configuraciones del proyecto (`project_name`, `base_path`)
|
|
42
|
+
- Sistema de gestión de tareas (`task_management_system`)
|
|
43
|
+
- Credenciales y configuraciones específicas
|
|
44
|
+
|
|
45
|
+
### Cómo Leer
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
# 1. Leer context-manifest.json
|
|
49
|
+
cat context-manifest.json
|
|
50
|
+
|
|
51
|
+
# 2. Leer ai.properties.md
|
|
52
|
+
cat ai.properties.md
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### Información Esencial
|
|
56
|
+
|
|
57
|
+
Después de leer los archivos, tendrá:
|
|
58
|
+
- ✅ Lista completa de repositorios del proyecto
|
|
59
|
+
- ✅ Ubicación del repositorio de metaspecs
|
|
60
|
+
- ✅ Base path para localizar repositorios
|
|
61
|
+
- ✅ Sistema de gestión de tareas configurado
|
|
62
|
+
- ✅ Configuraciones específicas del proyecto
|
|
63
|
+
|
|
64
|
+
**🛑 NO continúe sin leer estos archivos!** Contienen información crítica para la correcta ejecución del comando.
|
|
65
|
+
|
|
66
|
+
## 📚 Cargar MetaSpecs
|
|
67
|
+
|
|
68
|
+
**Localizar MetaSpecs automáticamente**:
|
|
69
|
+
1. Lea `context-manifest.json` del orchestrator
|
|
70
|
+
2. Encuentre el repositorio con `"role": "metaspecs"`
|
|
71
|
+
3. Lea `ai.properties.md` para obtener el `base_path`
|
|
72
|
+
4. El metaspecs está en: `{base_path}/{metaspecs-repo-id}/`
|
|
73
|
+
5. Lea los archivos `index.md` relevantes:
|
|
74
|
+
- Contexto de negocio
|
|
75
|
+
- Stack, arquitectura y patrones técnicos
|
|
76
|
+
- Convenciones del proyecto
|
|
77
|
+
- ADRs (Architecture Decision Records)
|
|
78
|
+
|
|
79
|
+
## 🎯 Contexto del Proyecto
|
|
80
|
+
|
|
81
|
+
Antes de iniciar, cargue el contexto consultando:
|
|
82
|
+
- `context-manifest.json` - Estructura de repositorios
|
|
83
|
+
- MetaSpecs (ubicado arriba) - Arquitectura y patrones
|
|
84
|
+
- `directorio del workspace` - Información del workspace actual
|
|
85
|
+
|
|
86
|
+
## ⚙️ Configuración Inicial
|
|
87
|
+
|
|
88
|
+
1. **Verificar Workspace**:
|
|
89
|
+
- Confirme que está en el workspace correcto (verifique `directorio del workspace`)
|
|
90
|
+
- Liste los repositorios disponibles en el workspace
|
|
91
|
+
|
|
92
|
+
2. **Verificar Branches**:
|
|
93
|
+
- Para cada repositorio en el workspace, verifique la branch actual
|
|
94
|
+
- Confirme que todas las branches están sincronizadas
|
|
95
|
+
|
|
96
|
+
3. **Cargar Especificación**:
|
|
97
|
+
- **Si el task manager está configurado**: Lea la issue usando el MCP apropiado
|
|
98
|
+
- **Si no**: Pida al usuario el archivo de especificación o descripción de la feature
|
|
99
|
+
|
|
100
|
+
4. **Actualizar Estado** (si el task manager está configurado):
|
|
101
|
+
- Mueva la issue a "En Progreso"
|
|
102
|
+
|
|
103
|
+
## 📋 Análisis y Entendimiento
|
|
104
|
+
|
|
105
|
+
Analice la especificación y construya un entendimiento completo respondiendo:
|
|
106
|
+
|
|
107
|
+
### Negocio
|
|
108
|
+
- **¿Por qué** se está construyendo esto?
|
|
109
|
+
- **¿Quién** se beneficia?
|
|
110
|
+
- **¿Qué** métrica queremos impactar?
|
|
111
|
+
|
|
112
|
+
### Funcional
|
|
113
|
+
- **¿Cuál es el resultado esperado**? (comportamiento del usuario, output del sistema)
|
|
114
|
+
- **¿Qué componentes** serán creados/modificados en cada repositorio?
|
|
115
|
+
- **¿Qué integraciones** entre repositorios son necesarias?
|
|
116
|
+
|
|
117
|
+
### Técnico
|
|
118
|
+
- **¿Stack aprobada**? Verificar contra especificaciones técnicas
|
|
119
|
+
- **¿Patrones arquitectónicos**? Verificar ADRs (si están disponibles)
|
|
120
|
+
- **¿Dependencias nuevas**? Justificar y documentar
|
|
121
|
+
- **¿Cómo probar**? (según patrones del proyecto)
|
|
122
|
+
|
|
123
|
+
### Validación contra MetaSpecs
|
|
124
|
+
|
|
125
|
+
Si metaspecs están disponibles, validar:
|
|
126
|
+
- ¿Está alineado con estrategia y roadmap?
|
|
127
|
+
- ¿Usa stack tecnológica aprobada?
|
|
128
|
+
- ¿Respeta Architecture Decision Records?
|
|
129
|
+
- ¿Sigue reglas de negocio documentadas?
|
|
130
|
+
|
|
131
|
+
## 🤔 Preguntas de Aclaración
|
|
132
|
+
|
|
133
|
+
Después del análisis inicial, formule **3-5 aclaraciones más importantes**:
|
|
134
|
+
|
|
135
|
+
**Ejemplos de preguntas relevantes**:
|
|
136
|
+
- ¿Qué repositorio debe contener la lógica principal?
|
|
137
|
+
- ¿Cómo deben comunicarse los repositorios?
|
|
138
|
+
- ¿Hay dependencias entre los cambios en los diferentes repos?
|
|
139
|
+
- ¿Cuál es el orden de implementación recomendado?
|
|
140
|
+
- ¿Hay impacto en APIs o contratos entre servicios?
|
|
141
|
+
|
|
142
|
+
## 💾 Creación del Context.md
|
|
143
|
+
|
|
144
|
+
**IMPORTANTE**: Este archivo es **INMUTABLE** tras la aprobación. No debe ser modificado por comandos subsecuentes.
|
|
145
|
+
|
|
146
|
+
Cree el archivo `./.sessions/<ISSUE-ID>/context.md` con:
|
|
147
|
+
|
|
148
|
+
```markdown
|
|
149
|
+
# Context: [Nombre de la Feature]
|
|
150
|
+
|
|
151
|
+
## Por Qué
|
|
152
|
+
[Valor de negocio, persona atendida, métrica impactada]
|
|
153
|
+
|
|
154
|
+
## Qué
|
|
155
|
+
[Funcionalidades principales, comportamiento esperado]
|
|
156
|
+
|
|
157
|
+
## Cómo
|
|
158
|
+
[Enfoque técnico, componentes, repositorios afectados]
|
|
159
|
+
|
|
160
|
+
## Validación contra MetaSpecs
|
|
161
|
+
- [x] Alineado con estrategia de producto
|
|
162
|
+
- [x] Atiende a la persona correcta
|
|
163
|
+
- [x] Métrica impactada documentada
|
|
164
|
+
- [x] Usa stack aprobada
|
|
165
|
+
- [x] Respeta ADRs
|
|
166
|
+
- [x] Sin conflictos con limitaciones conocidas
|
|
167
|
+
|
|
168
|
+
## Dependencias
|
|
169
|
+
[Bibliotecas, APIs, componentes existentes]
|
|
170
|
+
|
|
171
|
+
## Restricciones
|
|
172
|
+
[Limitaciones técnicas, objetivos de performance, presupuesto]
|
|
173
|
+
|
|
174
|
+
## Pruebas
|
|
175
|
+
[E2E críticos, pruebas unitarias necesarias, cobertura esperada]
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
**Después de crear `context.md`, solicite revisión y aprobación del usuario antes de continuar.**
|
|
179
|
+
|
|
180
|
+
---
|
|
181
|
+
|
|
182
|
+
## 🏗️ Creación del Architecture.md
|
|
183
|
+
|
|
184
|
+
**IMPORTANTE**: Este archivo es **INMUTABLE** tras la aprobación. No debe ser modificado por comandos subsecuentes.
|
|
185
|
+
|
|
186
|
+
### Principios Arquitectónicos (OBLIGATORIO)
|
|
187
|
+
|
|
188
|
+
**ANTES de crear la arquitectura, DEBE:**
|
|
189
|
+
|
|
190
|
+
1. **Leer ADRs (Architecture Decision Records)**:
|
|
191
|
+
- Liste ADRs en metaspecs
|
|
192
|
+
- Lea TODOS los ADRs relevantes para la feature
|
|
193
|
+
- Identifique restricciones y patrones obligatorios
|
|
194
|
+
|
|
195
|
+
2. **Consultar patrones arquitectónicos**:
|
|
196
|
+
- Lea guías de estructura del proyecto en metaspecs
|
|
197
|
+
- Lea patrones de código en metaspecs
|
|
198
|
+
- Identifique patrones existentes en el código (use Glob/Grep para encontrar ejemplos similares)
|
|
199
|
+
|
|
200
|
+
3. **Validar cumplimiento con ADRs**:
|
|
201
|
+
- Para cada ADR relevante, verifique si la solución propuesta respeta las decisiones
|
|
202
|
+
- Documente el cumplimiento en architecture.md
|
|
203
|
+
- Si hay violación, justifique o proponga corrección
|
|
204
|
+
|
|
205
|
+
4. **Analizar código existente**:
|
|
206
|
+
- Use Glob/Grep para encontrar componentes/módulos similares
|
|
207
|
+
- Entienda patrones y estructuras existentes
|
|
208
|
+
- Alinee nueva implementación con patrones del proyecto
|
|
209
|
+
|
|
210
|
+
### Estructura del Documento de Arquitectura
|
|
211
|
+
|
|
212
|
+
Cree el archivo `./.sessions/<ISSUE-ID>/architecture.md` con:
|
|
213
|
+
|
|
214
|
+
```markdown
|
|
215
|
+
# Architecture: [Nombre de la Feature]
|
|
216
|
+
|
|
217
|
+
## Visión General
|
|
218
|
+
[Visión de alto nivel del sistema antes y después del cambio]
|
|
219
|
+
|
|
220
|
+
## Componentes Afectados
|
|
221
|
+
[Lista de componentes y sus relaciones, dependencias]
|
|
222
|
+
|
|
223
|
+
### Diagrama de Componentes
|
|
224
|
+
[Descripción textual o diagrama Mermaid de los componentes]
|
|
225
|
+
|
|
226
|
+
### Flujo de Datos
|
|
227
|
+
1. [Paso 1 del flujo]
|
|
228
|
+
2. [Paso 2 del flujo]
|
|
229
|
+
3. [Paso 3 del flujo]
|
|
230
|
+
|
|
231
|
+
## Estructura de Directorios Propuesta
|
|
232
|
+
[Basada en patrones del proyecto]
|
|
233
|
+
|
|
234
|
+
```
|
|
235
|
+
repo-1/
|
|
236
|
+
├── src/
|
|
237
|
+
│ ├── components/
|
|
238
|
+
│ │ └── NewComponent.tsx (CREAR)
|
|
239
|
+
│ └── services/
|
|
240
|
+
│ └── NewService.ts (CREAR)
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
## Patrones y Mejores Prácticas
|
|
244
|
+
[Patrones que serán mantenidos o introducidos]
|
|
245
|
+
|
|
246
|
+
## Validación de ADRs
|
|
247
|
+
[Lista de ADRs consultados y cumplimiento]
|
|
248
|
+
|
|
249
|
+
- [x] ADR-001: [Nombre] - Cumple
|
|
250
|
+
- [x] ADR-002: [Nombre] - Cumple
|
|
251
|
+
|
|
252
|
+
## Dependencias Externas
|
|
253
|
+
[Bibliotecas que serán usadas o añadidas]
|
|
254
|
+
|
|
255
|
+
## Decisiones Técnicas
|
|
256
|
+
|
|
257
|
+
### Decisión 1: [Título]
|
|
258
|
+
**Contexto**: [Por qué necesitamos decidir esto]
|
|
259
|
+
**Opciones consideradas**:
|
|
260
|
+
- Opción A: [Pros y contras]
|
|
261
|
+
- Opción B: [Pros y contras]
|
|
262
|
+
**Decisión**: [Opción elegida]
|
|
263
|
+
**Justificación**: [Por qué elegimos esta opción]
|
|
264
|
+
|
|
265
|
+
## Restricciones y Suposiciones
|
|
266
|
+
[Limitaciones técnicas y premisas]
|
|
267
|
+
|
|
268
|
+
## Trade-offs
|
|
269
|
+
[Alternativas consideradas y por qué no fueron elegidas]
|
|
270
|
+
|
|
271
|
+
## Consecuencias
|
|
272
|
+
**Positivas**:
|
|
273
|
+
- [Beneficio 1]
|
|
274
|
+
- [Beneficio 2]
|
|
275
|
+
|
|
276
|
+
**Negativas**:
|
|
277
|
+
- [Costo/limitación 1]
|
|
278
|
+
- [Costo/limitación 2]
|
|
279
|
+
|
|
280
|
+
## Archivos Principales
|
|
281
|
+
[Lista de los principales archivos a editar/crear]
|
|
282
|
+
|
|
283
|
+
- `repo-1/src/components/NewComponent.tsx` (CREAR)
|
|
284
|
+
- `repo-1/src/services/NewService.ts` (CREAR)
|
|
285
|
+
- `repo-2/src/controllers/NewController.ts` (CREAR)
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
**Después de crear `architecture.md`, solicite revisión y aprobación del usuario antes de continuar.**
|
|
289
|
+
|
|
290
|
+
---
|
|
291
|
+
|
|
292
|
+
**Argumentos proporcionados**:
|
|
293
|
+
|
|
294
|
+
```
|
|
295
|
+
#$ARGUMENTS
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
---
|
|
299
|
+
|
|
300
|
+
## 🎯 Próximo Paso
|
|
301
|
+
|
|
302
|
+
**Después de la aprobación del usuario de los archivos `context.md` y `architecture.md`**:
|
|
303
|
+
|
|
304
|
+
```bash
|
|
305
|
+
/plan
|
|
306
|
+
```
|
|
307
|
+
|
|
308
|
+
Este comando creará la planificación técnica detallada de la implementación.
|
|
309
|
+
|
|
310
|
+
---
|
|
311
|
+
|
|
312
|
+
## ⚠️ IMPORTANTE: Archivos Inmutables
|
|
313
|
+
|
|
314
|
+
**`context.md` y `architecture.md` son INMUTABLES tras la aprobación.**
|
|
315
|
+
|
|
316
|
+
- ✅ Pueden ser LEÍDOS por comandos subsecuentes (`/plan`, `/work`)
|
|
317
|
+
- ❌ NO deben ser MODIFICADOS por ningún comando
|
|
318
|
+
- ❌ Si hay necesidad de cambio, discútalo con el usuario y cree nuevos archivos o actualice la issue en el task manager
|