@thatix.io/context-first-agents-cli 0.1.0 → 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 +189 -7
- 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 +7 -3
- 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,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
|
|
@@ -0,0 +1,290 @@
|
|
|
1
|
+
# Ejecución del Trabajo
|
|
2
|
+
|
|
3
|
+
Este comando ejecuta una unidad de trabajo en el workspace actual, implementando parte del plan técnico.
|
|
4
|
+
|
|
5
|
+
## 📋 Requisitos Previos
|
|
6
|
+
|
|
7
|
+
Antes de ejecutar, asegúrese de que:
|
|
8
|
+
- Ha ejecutado `/start` y `/plan` para obtener el plan técnico
|
|
9
|
+
- Está en el workspace correcto: `<orchestrator>/.sessions/<ISSUE-ID>/`
|
|
10
|
+
- Tiene disponibles los archivos `.sessions/<ISSUE-ID>/`:
|
|
11
|
+
- `context.md` (inmutable)
|
|
12
|
+
- `architecture.md` (inmutable)
|
|
13
|
+
- `plan.md` (mutable)
|
|
14
|
+
|
|
15
|
+
## 📋 Configuración del Proyecto
|
|
16
|
+
|
|
17
|
+
**⚠️ IMPORTANTE: ¡Siempre lea los archivos de configuración del proyecto ANTES de ejecutar este comando!**
|
|
18
|
+
|
|
19
|
+
### Archivos Obligatorios
|
|
20
|
+
|
|
21
|
+
1. **`context-manifest.json`** (raíz del orchestrator)
|
|
22
|
+
- Lista de repositorios del proyecto
|
|
23
|
+
- Roles de cada repositorio (metaspecs, application, etc.)
|
|
24
|
+
- URLs y dependencias entre repositorios
|
|
25
|
+
|
|
26
|
+
2. **`ai.properties.md`** (raíz del orchestrator)
|
|
27
|
+
- Configuraciones del proyecto (`project_name`, `base_path`)
|
|
28
|
+
- Sistema de gestión de tareas (`task_management_system`)
|
|
29
|
+
- Credenciales y configuraciones específicas
|
|
30
|
+
|
|
31
|
+
### Cómo Leer
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
# 1. Leer context-manifest.json
|
|
35
|
+
cat context-manifest.json
|
|
36
|
+
|
|
37
|
+
# 2. Leer ai.properties.md
|
|
38
|
+
cat ai.properties.md
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### Información Esencial
|
|
42
|
+
|
|
43
|
+
Después de leer los archivos, tendrá:
|
|
44
|
+
- ✅ Lista completa de repositorios del proyecto
|
|
45
|
+
- ✅ Ubicación del repositorio de metaspecs
|
|
46
|
+
- ✅ Base path para localizar repositorios
|
|
47
|
+
- ✅ Sistema de gestión de tareas configurado
|
|
48
|
+
- ✅ Configuraciones específicas del proyecto
|
|
49
|
+
|
|
50
|
+
**🛑 NO continúe sin leer estos archivos!** ¡Contienen información crítica para la correcta ejecución del comando!
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
## 📍 IMPORTANTE: Entienda la Estructura
|
|
54
|
+
|
|
55
|
+
**Workspace** (donde trabaja):
|
|
56
|
+
```
|
|
57
|
+
<orchestrator>/.sessions/<ISSUE-ID>/
|
|
58
|
+
├── repo-1/ # worktree con branch feature/<ISSUE-ID>
|
|
59
|
+
├── repo-2/ # worktree con branch feature/<ISSUE-ID>
|
|
60
|
+
├── context.md # contexto (inmutable)
|
|
61
|
+
├── architecture.md # arquitectura (inmutable)
|
|
62
|
+
└── plan.md # plan (mutable)
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
**Repositorios principales** (NO tocar):
|
|
66
|
+
```
|
|
67
|
+
{base_path}/repo-1/ # repo principal (branch main/master)
|
|
68
|
+
{base_path}/repo-2/ # repo principal (branch main/master)
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
**REGLA DE ORO**:
|
|
72
|
+
- ✅ Trabaje SOLO dentro de `<orchestrator>/.sessions/<ISSUE-ID>/`
|
|
73
|
+
- ✅ Haga commits en los worktrees dentro del workspace
|
|
74
|
+
- ❌ NUNCA haga checkout en los repositorios principales
|
|
75
|
+
- ❌ NUNCA navegue a `{base_path}/{repo-id}/`
|
|
76
|
+
|
|
77
|
+
## 🛑 CRÍTICO: DÓNDE CREAR CÓDIGO
|
|
78
|
+
|
|
79
|
+
**⚠️ ATENCIÓN: TODO CÓDIGO DEBE SER CREADO DENTRO DEL WORKTREE DEL REPOSITORIO!**
|
|
80
|
+
|
|
81
|
+
**✅ CORRECTO** - Crear código dentro del worktree:
|
|
82
|
+
```
|
|
83
|
+
<orchestrator>/.sessions/<ISSUE-ID>/<repo-name>/src/file.ts ✅
|
|
84
|
+
<orchestrator>/.sessions/<ISSUE-ID>/<repo-name>/tests/test.ts ✅
|
|
85
|
+
<orchestrator>/.sessions/<ISSUE-ID>/<repo-name>/package.json ✅
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
**❌ INCORRECTO** - NUNCA crear código directamente en .sessions:
|
|
89
|
+
```
|
|
90
|
+
<orchestrator>/.sessions/src/file.ts ❌
|
|
91
|
+
<orchestrator>/.sessions/<ISSUE-ID>/src/file.ts ❌
|
|
92
|
+
<orchestrator>/.sessions/<ISSUE-ID>/file.ts ❌
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
**REGLA ABSOLUTA**:
|
|
96
|
+
- 🛑 **TODO archivo de código** (`.ts`, `.js`, `.py`, `.java`, etc.) **DEBE estar dentro de** `<orchestrator>/.sessions/<ISSUE-ID>/<repo-name>/`
|
|
97
|
+
- 🛑 **NUNCA cree código** directamente en `<orchestrator>/.sessions/` o `<orchestrator>/.sessions/<ISSUE-ID>/`
|
|
98
|
+
- ✅ **Único lugar válido**: Dentro del worktree del repositorio específico
|
|
99
|
+
|
|
100
|
+
## ⚠️ IMPORTANTE: Archivos Inmutables
|
|
101
|
+
|
|
102
|
+
**Este comando debe LEER pero NO MODIFICAR:**
|
|
103
|
+
- ✅ **LEER** `.sessions/<ISSUE-ID>/context.md` (inmutable)
|
|
104
|
+
- ✅ **LEER** `.sessions/<ISSUE-ID>/architecture.md` (inmutable)
|
|
105
|
+
- ✅ **ACTUALIZAR** `.sessions/<ISSUE-ID>/plan.md` (marcar progreso)
|
|
106
|
+
- ✅ **IMPLEMENTAR** código **DENTRO DEL WORKTREE**: `.sessions/<ISSUE-ID>/<repo-name>/`
|
|
107
|
+
- ✅ **HACER COMMITS** en los worktrees: `.sessions/<ISSUE-ID>/<repo-name>/`
|
|
108
|
+
- ❌ **NO modificar `context.md` o `architecture.md`**
|
|
109
|
+
- ❌ **NO hacer checkout de branches en los repositorios principales (fuera del workspace)**
|
|
110
|
+
- 🛑 **NUNCA crear código en `.sessions/` o `.sessions/<ISSUE-ID>/` directamente**
|
|
111
|
+
|
|
112
|
+
## 📚 Cargar MetaSpecs
|
|
113
|
+
|
|
114
|
+
**Localizar MetaSpecs automáticamente**:
|
|
115
|
+
1. Lea `context-manifest.json` del orchestrator
|
|
116
|
+
2. Encuentre el repositorio con `"role": "metaspecs"`
|
|
117
|
+
3. Lea `ai.properties.md` para obtener el `base_path`
|
|
118
|
+
4. El metaspecs está en: `{base_path}/{metaspecs-repo-id}/`
|
|
119
|
+
5. Lea los archivos `index.md` relevantes durante la implementación para:
|
|
120
|
+
- Seguir patrones de código
|
|
121
|
+
- Respetar arquitectura definida
|
|
122
|
+
- Usar convenciones correctas
|
|
123
|
+
|
|
124
|
+
## 🎯 Objetivo
|
|
125
|
+
|
|
126
|
+
Implementar una unidad de trabajo específica del plan, que puede involucrar:
|
|
127
|
+
- Crear nuevos archivos/componentes
|
|
128
|
+
- Modificar archivos existentes
|
|
129
|
+
- Añadir pruebas
|
|
130
|
+
- Actualizar documentación
|
|
131
|
+
|
|
132
|
+
## 📝 Proceso de Trabajo
|
|
133
|
+
|
|
134
|
+
**⚠️ IMPORTANTE: CONTROL DE PROGRESO**
|
|
135
|
+
|
|
136
|
+
Este comando ejecuta el trabajo en **fases incrementales**. Después de completar cada **FASE PRINCIPAL** (ej: Fase 1 → Fase 2):
|
|
137
|
+
|
|
138
|
+
1. 🛑 **PARE** la ejecución
|
|
139
|
+
2. 📊 **PRESENTE** un resumen de lo realizado
|
|
140
|
+
3. ❓ **PREGUNTE** al desarrollador si desea:
|
|
141
|
+
- Revisar el código implementado
|
|
142
|
+
- Hacer ajustes antes de continuar
|
|
143
|
+
- Continuar a la siguiente fase
|
|
144
|
+
|
|
145
|
+
**IMPORTANTE**:
|
|
146
|
+
- ✅ **PAUSE** entre fases principales (Fase 1 → Fase 2 → Fase 3)
|
|
147
|
+
- ❌ **NO pause** entre subfases (Fase 1.1 → Fase 1.2 → Fase 1.3)
|
|
148
|
+
|
|
149
|
+
**NO implemente todo de una vez**. Trabaje fase principal por fase principal, esperando confirmación del desarrollador.
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
### 1. Identificar Unidad de Trabajo
|
|
154
|
+
|
|
155
|
+
Basado en el plan técnico (`./.sessions/<ISSUE-ID>/plan.md`), identifique:
|
|
156
|
+
- Qué tarea específica se implementará ahora
|
|
157
|
+
- En cuál(es) repositorio(s) del workspace
|
|
158
|
+
- Qué archivos serán creados/modificados
|
|
159
|
+
- Dependencias con otras tareas
|
|
160
|
+
|
|
161
|
+
### 2. Implementación
|
|
162
|
+
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
**IMPORTANTE**: Trabaje SOLO dentro del workspace en `.sessions/<ISSUE-ID>/`
|
|
166
|
+
|
|
167
|
+
Para cada repositorio en el workspace:
|
|
168
|
+
|
|
169
|
+
```bash
|
|
170
|
+
# Navegue al worktree dentro del workspace
|
|
171
|
+
cd <orchestrator>/.sessions/<ISSUE-ID>/<repo-name>/
|
|
172
|
+
|
|
173
|
+
# Verifique que está en la rama correcta
|
|
174
|
+
git branch # debe mostrar * feature/<ISSUE-ID>
|
|
175
|
+
|
|
176
|
+
# Implemente el código aquí
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
Ejecute la implementación siguiendo:
|
|
180
|
+
- **Patrones del proyecto**: Consulte guías de estilo y arquitectura
|
|
181
|
+
- **Stack aprobada**: Use solo tecnologías documentadas en metaspecs
|
|
182
|
+
- **Pruebas**: Implemente pruebas conforme a los patrones del proyecto
|
|
183
|
+
- **Documentación**: Actualice comentarios y docs cuando sea necesario
|
|
184
|
+
|
|
185
|
+
|
|
186
|
+
|
|
187
|
+
### 3. Validación Local
|
|
188
|
+
|
|
189
|
+
Antes de commitear:
|
|
190
|
+
- Ejecute pruebas unitarias/integración
|
|
191
|
+
- Verifique linting y formato
|
|
192
|
+
- Confirme que no rompió funcionalidades existentes
|
|
193
|
+
|
|
194
|
+
|
|
195
|
+
|
|
196
|
+
### 4. Commit
|
|
197
|
+
|
|
198
|
+
Para cada repositorio modificado **dentro del workspace**:
|
|
199
|
+
|
|
200
|
+
```bash
|
|
201
|
+
# Navegue al worktree dentro del workspace
|
|
202
|
+
cd <orchestrator>/.sessions/<ISSUE-ID>/<repo-name>/
|
|
203
|
+
|
|
204
|
+
# Añada los cambios
|
|
205
|
+
git add .
|
|
206
|
+
|
|
207
|
+
# Commit
|
|
208
|
+
git commit -m "tipo: descripción concisa
|
|
209
|
+
|
|
210
|
+
- Detalle 1
|
|
211
|
+
- Detalle 2
|
|
212
|
+
|
|
213
|
+
Refs: <ISSUE-ID>"
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
**Tipos de commit**: `feat`, `fix`, `refactor`, `test`, `docs`, `chore`
|
|
217
|
+
|
|
218
|
+
**⚠️ PAUSA OBLIGATORIA**: Después de completar TODA la fase principal (identificación + implementación + validación + commit + actualización del plan.md), **PARE** y muestre al desarrollador:
|
|
219
|
+
- Resumen completo de la fase
|
|
220
|
+
- Archivos creados/modificados
|
|
221
|
+
- Commits realizados
|
|
222
|
+
- Pregunte si desea revisar o continuar a la siguiente fase
|
|
223
|
+
|
|
224
|
+
### 5. Actualización del Plan.md
|
|
225
|
+
|
|
226
|
+
**POR CADA tarea completada**, actualice `./.sessions/<ISSUE-ID>/plan.md`:
|
|
227
|
+
|
|
228
|
+
```markdown
|
|
229
|
+
#### 1.1 - [Nombre de la Tarea] [Completada ✅]
|
|
230
|
+
- [Detalle 1]
|
|
231
|
+
- [Detalle 2]
|
|
232
|
+
- [Detalle 3]
|
|
233
|
+
|
|
234
|
+
**Archivos**:
|
|
235
|
+
- `path/to/file1.ts` ✅
|
|
236
|
+
- `path/to/file2.vue` ✅
|
|
237
|
+
|
|
238
|
+
**Pruebas**:
|
|
239
|
+
- Unit test: [Descripción] ✅
|
|
240
|
+
- Integration test: [Descripción] ✅
|
|
241
|
+
|
|
242
|
+
**Comentarios**:
|
|
243
|
+
- Decisión: [Explicación de decisión técnica importante]
|
|
244
|
+
- Aprendizaje: [Algo aprendido durante implementación]
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
**Marque estado de las tareas**:
|
|
248
|
+
- `[No Iniciada ⏳]` - Tarea aún no comenzada
|
|
249
|
+
- `[En Progreso ⏰]` - Tarea en curso
|
|
250
|
+
- `[Completada ✅]` - Tarea finalizada y validada
|
|
251
|
+
|
|
252
|
+
## 🔍 Checklist de Calidad
|
|
253
|
+
|
|
254
|
+
Antes de considerar la unidad completa:
|
|
255
|
+
- [ ] Código implementado y probado
|
|
256
|
+
- [ ] Pruebas pasando
|
|
257
|
+
- [ ] Linting/formato OK
|
|
258
|
+
- [ ] Documentación actualizada (si es necesario)
|
|
259
|
+
- [ ] Commit realizado en todos los repositorios afectados
|
|
260
|
+
- [ ] `plan.md` actualizado con progreso y comentarios
|
|
261
|
+
|
|
262
|
+
## ⚠️ Principio Jidoka
|
|
263
|
+
|
|
264
|
+
Si encuentra problemas durante la implementación:
|
|
265
|
+
1. 🛑 **PARE** la implementación
|
|
266
|
+
2. 📝 **DOCUMENTE** el problema encontrado
|
|
267
|
+
3. 💬 **ALERTE** al usuario y discuta soluciones
|
|
268
|
+
4. 🔄 **AJUSTE** el plan si es necesario
|
|
269
|
+
|
|
270
|
+
---
|
|
271
|
+
|
|
272
|
+
**Argumentos proporcionados**:
|
|
273
|
+
|
|
274
|
+
```
|
|
275
|
+
#$ARGUMENTS
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
---
|
|
279
|
+
|
|
280
|
+
## 🎯 Próximos Pasos
|
|
281
|
+
|
|
282
|
+
- **Continuar implementación**: Ejecute `/work` nuevamente para la próxima unidad
|
|
283
|
+
- **Finalizar feature**: Cuando todo esté implementado, ejecute `/pre-pr`
|
|
284
|
+
|
|
285
|
+
## 💡 Consejos
|
|
286
|
+
|
|
287
|
+
- Trabaje en unidades pequeñas e incrementales
|
|
288
|
+
- Commit frecuente (commits atómicos)
|
|
289
|
+
- Documente decisiones importantes en la sesión
|
|
290
|
+
- Mantenga los repositorios sincronizados entre sí
|