@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.
Files changed (89) hide show
  1. package/README.md +189 -7
  2. package/dist/commands/create-orchestrator.js +4 -1
  3. package/dist/commands/doctor.js +21 -5
  4. package/dist/commands/init.js +3 -1
  5. package/dist/templates/commands/en/engineer/plan.md +301 -0
  6. package/dist/templates/commands/en/engineer/pr.md +194 -0
  7. package/dist/templates/commands/en/engineer/pre-pr.md +325 -0
  8. package/dist/templates/commands/en/engineer/start.md +285 -0
  9. package/dist/templates/commands/en/engineer/work.md +256 -0
  10. package/dist/templates/commands/en/products/check.md +237 -0
  11. package/dist/templates/commands/en/products/collect.md +170 -0
  12. package/dist/templates/commands/en/products/refine.md +231 -0
  13. package/dist/templates/commands/en/products/spec.md +273 -0
  14. package/dist/templates/commands/en/quality/metrics.md +266 -0
  15. package/dist/templates/commands/en/quality/observe.md +172 -0
  16. package/dist/templates/commands/en/warm-up.md +59 -0
  17. package/dist/templates/commands/es/agents/CONTEXT-CONTRACT.md +63 -0
  18. package/dist/templates/commands/es/agents/implementer.md +27 -0
  19. package/dist/templates/commands/es/agents/integrator.md +24 -0
  20. package/dist/templates/commands/es/agents/reviewer.md +31 -0
  21. package/dist/templates/commands/es/agents/tester.md +22 -0
  22. package/dist/templates/commands/es/engineer/plan.md +335 -0
  23. package/dist/templates/commands/es/engineer/pr.md +228 -0
  24. package/dist/templates/commands/es/engineer/pre-pr.md +359 -0
  25. package/dist/templates/commands/es/engineer/start.md +318 -0
  26. package/dist/templates/commands/es/engineer/work.md +290 -0
  27. package/dist/templates/commands/es/orchestrate.md +125 -0
  28. package/dist/templates/commands/es/products/check.md +271 -0
  29. package/dist/templates/commands/es/products/collect.md +218 -0
  30. package/dist/templates/commands/es/products/refine.md +265 -0
  31. package/dist/templates/commands/es/products/spec.md +306 -0
  32. package/dist/templates/commands/es/quality/metrics.md +300 -0
  33. package/dist/templates/commands/es/quality/observe.md +205 -0
  34. package/dist/templates/commands/es/warm-up.md +59 -0
  35. package/dist/templates/commands/pt-BR/engineer/plan.md +335 -0
  36. package/dist/templates/commands/pt-BR/engineer/pr.md +228 -0
  37. package/dist/templates/commands/pt-BR/engineer/pre-pr.md +359 -0
  38. package/dist/templates/commands/pt-BR/engineer/start.md +319 -0
  39. package/dist/templates/commands/pt-BR/engineer/work.md +290 -0
  40. package/dist/templates/commands/pt-BR/products/check.md +271 -0
  41. package/dist/templates/commands/pt-BR/products/collect.md +219 -0
  42. package/dist/templates/commands/pt-BR/products/refine.md +265 -0
  43. package/dist/templates/commands/pt-BR/products/spec.md +307 -0
  44. package/dist/templates/commands/pt-BR/quality/metrics.md +300 -0
  45. package/dist/templates/commands/pt-BR/quality/observe.md +206 -0
  46. package/dist/templates/commands/pt-BR/warm-up.md +59 -0
  47. package/package.json +7 -3
  48. package/templates/commands/en/engineer/plan.md +301 -0
  49. package/templates/commands/en/engineer/pr.md +194 -0
  50. package/templates/commands/en/engineer/pre-pr.md +325 -0
  51. package/templates/commands/en/engineer/start.md +285 -0
  52. package/templates/commands/en/engineer/work.md +256 -0
  53. package/templates/commands/en/products/check.md +237 -0
  54. package/templates/commands/en/products/collect.md +170 -0
  55. package/templates/commands/en/products/refine.md +231 -0
  56. package/templates/commands/en/products/spec.md +273 -0
  57. package/templates/commands/en/quality/metrics.md +266 -0
  58. package/templates/commands/en/quality/observe.md +172 -0
  59. package/templates/commands/en/warm-up.md +59 -0
  60. package/templates/commands/es/agents/CONTEXT-CONTRACT.md +63 -0
  61. package/templates/commands/es/agents/implementer.md +27 -0
  62. package/templates/commands/es/agents/integrator.md +24 -0
  63. package/templates/commands/es/agents/reviewer.md +31 -0
  64. package/templates/commands/es/agents/tester.md +22 -0
  65. package/templates/commands/es/engineer/plan.md +335 -0
  66. package/templates/commands/es/engineer/pr.md +228 -0
  67. package/templates/commands/es/engineer/pre-pr.md +359 -0
  68. package/templates/commands/es/engineer/start.md +318 -0
  69. package/templates/commands/es/engineer/work.md +290 -0
  70. package/templates/commands/es/orchestrate.md +125 -0
  71. package/templates/commands/es/products/check.md +271 -0
  72. package/templates/commands/es/products/collect.md +218 -0
  73. package/templates/commands/es/products/refine.md +265 -0
  74. package/templates/commands/es/products/spec.md +306 -0
  75. package/templates/commands/es/quality/metrics.md +300 -0
  76. package/templates/commands/es/quality/observe.md +205 -0
  77. package/templates/commands/es/warm-up.md +59 -0
  78. package/templates/commands/pt-BR/engineer/plan.md +335 -0
  79. package/templates/commands/pt-BR/engineer/pr.md +228 -0
  80. package/templates/commands/pt-BR/engineer/pre-pr.md +359 -0
  81. package/templates/commands/pt-BR/engineer/start.md +319 -0
  82. package/templates/commands/pt-BR/engineer/work.md +290 -0
  83. package/templates/commands/pt-BR/products/check.md +271 -0
  84. package/templates/commands/pt-BR/products/collect.md +219 -0
  85. package/templates/commands/pt-BR/products/refine.md +265 -0
  86. package/templates/commands/pt-BR/products/spec.md +307 -0
  87. package/templates/commands/pt-BR/quality/metrics.md +300 -0
  88. package/templates/commands/pt-BR/quality/observe.md +206 -0
  89. package/templates/commands/pt-BR/warm-up.md +59 -0
@@ -0,0 +1,59 @@
1
+ # Warm-up - Context Loading
2
+
3
+ Prepares the environment by loading optimized project context.
4
+
5
+ ## 1. Load Configuration
6
+
7
+ Read the orchestrator files:
8
+ - **`context-manifest.json`** - Repositories and roles
9
+ - **`ai.properties.md`** - base_path, task_management_system
10
+
11
+ ## 2. Load Compact Context (OPTIMIZED)
12
+
13
+ **IMPORTANT**: Use PROGRESSIVE loading to save context window.
14
+
15
+ ### Required (warm-up)
16
+
17
+ Locate metaspecs via `context-manifest.json` (role: "specs-provider"):
18
+
19
+ ```
20
+ {base_path}/{metaspecs-id}/specs/_meta/WARM_UP_CONTEXT.md (~100 lines)
21
+ ```
22
+
23
+ This file contains ALL essentials:
24
+ - Technology stack
25
+ - Context hierarchy
26
+ - 5 critical rules
27
+ - Minimal code patterns
28
+ - On-demand loading table
29
+
30
+ ### On Demand (DO NOT load during warm-up)
31
+
32
+ | Need | Document |
33
+ |------|----------|
34
+ | Generate code | `CLAUDE.meta.md` |
35
+ | Architecture | `ARCHITECTURE.md` |
36
+ | Specific feature | `features/{FEATURE}.md` |
37
+ | Complete anti-patterns | `ANTI_PATTERNS.md` |
38
+
39
+ ## 3. Verify Repositories
40
+
41
+ For each repository in `context-manifest.json`:
42
+ - Verify existence at `{base_path}/{repo-id}/`
43
+ - **DO NOT** read README.md now (on demand)
44
+
45
+ ## 4. Verify Session (if exists)
46
+
47
+ ```bash
48
+ ls -la .sessions/<ISSUE-ID>/ 2>/dev/null
49
+ ```
50
+
51
+ ## 5. Jidoka Principle
52
+
53
+ If problems detected: **STOP**, document, alert the user.
54
+
55
+ ---
56
+
57
+ **Arguments**: #$ARGUMENTS
58
+
59
+ **Status**: Context loaded. Awaiting next command.
@@ -0,0 +1,63 @@
1
+ # Contrato de Contexto (forma)
2
+
3
+ Todo agente efímero se spawnea con un contrato. Este es exactamente el objeto que el
4
+ Orquestador compila por nodo y pega en el prompt del subagente. Es lo que mantiene el
5
+ contexto de cada agente **pequeño, acotado y auditable** — el núcleo de la arquitectura.
6
+
7
+ ```json
8
+ {
9
+ "agentId": "agent-w001",
10
+ "archetype": "implementer",
11
+ "objective": "<objetivo específico y acotado de este worker>",
12
+ "repository": "<repo-id o null para workers de sesión>",
13
+ "read": [
14
+ { "type": "index", "path": "../metaspecs/specs/index.md", "reason": "router de contexto" },
15
+ { "type": "hint", "path": "../metaspecs/specs/technical/API_SPECIFICATION.md", "reason": "hint del repo" }
16
+ ],
17
+ "mayDiscover": [
18
+ "referencias alcanzables desde los índices de arriba",
19
+ "archivos de este repositorio necesarios para el objetivo"
20
+ ],
21
+ "mustNotAssume": [
22
+ "reglas de negocio no dichas",
23
+ "contratos externos no indexados",
24
+ "requisitos ausentes en la spec aprobada"
25
+ ],
26
+ "writeBoundary": ["worktree asignado del <repo-id>"],
27
+ "limits": { "policy": "select-do-not-dump", "maxFiles": 20 },
28
+ "return": ["summary", "changes", "evidence", "tests", "unresolved", "confidence"]
29
+ }
30
+ ```
31
+
32
+ ## Reglas que el Orquestador debe garantizar al compilar un contrato
33
+
34
+ - `read` incluye TODOS los `orchestration.indexes` más el `context[]` del repo — pero sólo
35
+ rutas que realmente existen en disco. Descarta el resto silenciosamente.
36
+ - Workers de sesión (integrator, tester, reviewer) tienen `repository: null` y
37
+ `writeBoundary: ["sólo artefactos de la sesión"]`.
38
+ - Nunca expandas `read` a "el repo entero". El descubrimiento está permitido
39
+ (`mayDiscover`), pero parte de los índices, no de un volcado ciego de directorio.
40
+ - El contrato es el ÚNICO contexto de proyecto que recibe un subagente además del objetivo.
41
+ No pegues la conversación entera en los subagentes.
42
+
43
+ ## La forma de retorno que todo agente debe producir
44
+
45
+ ```markdown
46
+ ### summary
47
+ <un párrafo: qué se hizo>
48
+
49
+ ### changes
50
+ <archivos creados/modificados, por repo>
51
+
52
+ ### evidence
53
+ <comandos corridos, salidas, links>
54
+
55
+ ### tests
56
+ <tests agregados/corridos y su resultado>
57
+
58
+ ### unresolved
59
+ <preguntas, conflictos de spec, stops Jidoka — o "ninguno">
60
+
61
+ ### confidence
62
+ <low | medium | high> + una línea de por qué
63
+ ```
@@ -0,0 +1,27 @@
1
+ # Arquetipo: implementer
2
+
3
+ Eres un **implementer efímero** para exactamente un repositorio. Serás descartado al
4
+ retornar. La experiencia de dominio viene de tu contrato de contexto, no de una persona.
5
+
6
+ ## Recibes
7
+ - `objective`: el objetivo acotado.
8
+ - `repository`: el id del repo y la ruta del worktree.
9
+ - Un **contrato de contexto** (alcance de lectura, writeBoundary, mustNotAssume, limits, return).
10
+
11
+ ## Haz
12
+ 1. Lee SÓLO lo que el `read` del contrato permite; descubre más allá SÓLO desde esos
13
+ índices/archivos del repo (`mayDiscover`). Respeta `limits.maxFiles`.
14
+ 2. Implementa el objetivo dentro de tu `writeBoundary` (el worktree de tu repo). Sigue los
15
+ patrones que encuentres en el repo y en las specs normativas. No introduzcas stack no
16
+ documentada en las specs sin señalarlo en `unresolved`.
17
+ 3. Agrega/ajusta tests según las convenciones del repo.
18
+ 4. Commit atómico dentro del worktree (`feat|fix|refactor|test|docs|chore: … Refs: <ISSUE-ID>`).
19
+
20
+ ## Nunca
21
+ - Leer o modificar otros repositorios.
22
+ - Modificar specs normativas.
23
+ - Asumir algo en `mustNotAssume` — si lo necesitas, detente y ponlo en `unresolved`.
24
+
25
+ ## Retorno (exactamente esta forma)
26
+ summary / changes / evidence / tests / unresolved / confidence
27
+ (ver CONTEXT-CONTRACT.md)
@@ -0,0 +1,24 @@
1
+ # Arquetipo: integrator
2
+
3
+ Eres un **integrator efímero**. Corres después de los implementers por repo y verificas
4
+ que sus cambios encajen. Eres de sesión: `repository: null`,
5
+ `writeBoundary: sólo artefactos de la sesión`.
6
+
7
+ ## Recibes
8
+ - Los retornos de todos los implementers (resúmenes y changes por repo).
9
+ - Las secciones de la spec que describen contratos cross-repo (APIs, eventos, tipos, design tokens).
10
+ - Un **contrato de contexto**.
11
+
12
+ ## Haz
13
+ 1. Reconstruye el contrato entre los repos que cambiaron (ej.: endpoint del backend ↔
14
+ consumidor en el frontend, productor ↔ consumidor de un evento, componente compartido ↔
15
+ sus usos).
16
+ 2. Verifica que ambos lados concuerden: nombres/tipos de campos, status codes, forma de
17
+ error, versiones, nulabilidad, unidades. Señala cada divergencia con precisión (qué lado,
18
+ qué campo).
19
+ 3. Verifica dependencias de orden/deploy (¿un repo debe salir antes que otro?).
20
+ 4. NO reimplementes — si hallas divergencia, describe la corrección exacta y de quién es el repo.
21
+
22
+ ## Retorno
23
+ summary / changes(=hallazgos de integración) / evidence / tests(=checks de integración a correr) /
24
+ unresolved / confidence. Marca **CONSISTENT** o **MISMATCH**.
@@ -0,0 +1,31 @@
1
+ # Arquetipo: reviewer
2
+
3
+ Eres un **reviewer efímero**. Tu trabajo es encontrar lo que está mal, no elogiar.
4
+ En tareas `complex` eres **adversarial**: asume que hay un defecto hasta probar lo contrario.
5
+
6
+ ## Recibes
7
+ - `objective`: qué revisar y contra qué spec.
8
+ - Los retornos de los implementers (summary/changes) y las secciones relevantes de la spec.
9
+ - Un **contrato de contexto** limitando el alcance de lectura.
10
+
11
+ ## Foco (pesa por los riskSignals de la tarea)
12
+ - Corrección vs. la **spec normativa** — no vs. tus suposiciones.
13
+ - Reglas de negocio, casos borde e integridad de datos.
14
+ - Seguridad, authz/authn, secretos, inyección, exposición de PII.
15
+ - Migraciones: reversibilidad, backfill, downtime, orden.
16
+ - Contratos cross-repo: ¿el cambio honra la API/interfaz que ambos lados esperan?
17
+ - Premisas ocultas del implementer que no están en la spec.
18
+
19
+ ## Método
20
+ 1. Lee los archivos cambiados y las secciones de la spec que los gobiernan.
21
+ 2. Para cada hallazgo: indica archivo/línea, por qué está mal y la corrección concreta.
22
+ 3. Clasifica cada hallazgo: `blocking` | `should-fix` | `nit`.
23
+ 4. Intenta refutar tus propios hallazgos antes de reportar — descarta los que no sostengas.
24
+
25
+ ## Nunca
26
+ - Aprobar por cortesía. Si está correcto, dilo brevemente y sigue.
27
+ - Modificar código (tú revisas; los implementers corrigen).
28
+
29
+ ## Retorno
30
+ summary / changes(=lista de hallazgos) / evidence / tests(=qué testearías) / unresolved / confidence
31
+ Marca claramente **PASS** o **BLOCKED** (cualquier hallazgo blocking ⇒ BLOCKED).
@@ -0,0 +1,22 @@
1
+ # Arquetipo: tester
2
+
3
+ Eres un **tester efímero**. Validas criterios de aceptación y riesgo de regresión usando
4
+ los comandos del propio proyecto. De sesión: `repository: null`.
5
+
6
+ ## Recibes
7
+ - Los criterios de aceptación del objetivo (de la spec).
8
+ - La lista de repos impactados y el `testCommand` de cada uno (del manifiesto).
9
+ - Un **contrato de contexto**.
10
+
11
+ ## Haz
12
+ 1. Para cada repo impactado, corre el `testCommand` dentro del worktree. Si no hay, usa el
13
+ enfoque de test documentado en el proyecto y di qué asumiste.
14
+ 2. Mapea cada criterio de aceptación a un check concreto (test existente, test nuevo o
15
+ evidencia manual). Anota cualquier criterio que no pudiste verificar.
16
+ 3. Reporta fallas con el comando exacto, la salida y el archivo/área implicada.
17
+ 4. NO corrijas código — reporta para que un implementer corrija.
18
+
19
+ ## Retorno
20
+ summary / changes(=ninguno, o tests nuevos) / evidence(=comandos + salidas) /
21
+ tests(=pass/fail por repo + cobertura de criterios) / unresolved / confidence.
22
+ Marca **GREEN** (todo pasa, criterios cubiertos) o **RED** (fallas / criterios sin cubrir).
@@ -0,0 +1,335 @@
1
+ # Planificación Técnica
2
+
3
+ Este comando crea el plan técnico detallado para la implementación de la funcionalidad.
4
+
5
+ ## 📋 Requisitos Previos
6
+
7
+ - PRD creado vía `/spec`
8
+ - Análisis inicial realizado vía `/start`
9
+ - Archivos `context.md` y `architecture.md` creados y aprobados
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
+ ## 📍 IMPORTANTE: Entienda la Estructura
50
+
51
+ **Workspace**:
52
+ ```
53
+ <orchestrator>/.sessions/<ISSUE-ID>/
54
+ ├── repo-1/ # worktree (se usará en /work)
55
+ ├── repo-2/ # worktree (se usará en /work)
56
+ ├── context.md # contexto (inmutable - LEER)
57
+ ├── architecture.md # arquitectura (inmutable - LEER)
58
+ └── plan.md # plan (mutable - CREAR)
59
+ ```
60
+
61
+ **Repositorios principales** (solo lectura):
62
+ ```
63
+ {base_path}/repo-1/ # repo principal (branch main/master)
64
+ {base_path}/repo-2/ # repo principal (branch main/master)
65
+ ```
66
+
67
+ **REGLA DE ORO**:
68
+ - ✅ Lea `context.md` y `architecture.md` (inmutables)
69
+ - ✅ Cree `plan.md` en `.sessions/<ISSUE-ID>/`
70
+ - ✅ Lea código de los repositorios principales (solo lectura)
71
+ - ❌ NUNCA haga checkout en los repositorios principales
72
+ - ❌ NUNCA modifique `context.md` o `architecture.md`
73
+
74
+ ## ⚠️ IMPORTANTE: Archivos Inmutables
75
+
76
+ **Este comando debe LEER pero NO MODIFICAR:**
77
+ - ✅ **LEER** `.sessions/<ISSUE-ID>/context.md` (inmutable)
78
+ - ✅ **LEER** `.sessions/<ISSUE-ID>/architecture.md` (inmutable)
79
+ - ✅ **CREAR** `.sessions/<ISSUE-ID>/plan.md` (mutable - se actualizará durante `/work`)
80
+ - ❌ **NO modificar `context.md` o `architecture.md`**
81
+
82
+ ## 📚 Cargar MetaSpecs
83
+
84
+ **Localizar MetaSpecs automáticamente**:
85
+ 1. Lea `context-manifest.json` del orquestador
86
+ 2. Encuentre el repositorio con `"role": "metaspecs"`
87
+ 3. Lea `ai.properties.md` para obtener el `base_path`
88
+ 4. El metaspecs está en: `{base_path}/{metaspecs-repo-id}/`
89
+ 5. Lea los archivos `index.md` relevantes para asegurar conformidad con:
90
+ - Arquitectura del sistema
91
+ - Patrones de diseño y código
92
+ - Estructura de carpetas y archivos
93
+ - Convenciones de nomenclatura
94
+
95
+ ## 🎯 Objetivo
96
+
97
+ Crear un plan técnico detallado que guiará la implementación, dividiendo el trabajo en unidades más pequeñas y secuenciales.
98
+
99
+ ## 📝 Estructura del Plan
100
+
101
+ ### 1. Visión General Técnica
102
+
103
+ ```markdown
104
+ # Plan Técnico - [Título de la Funcionalidad]
105
+
106
+ ## Resumen
107
+ [Breve descripción técnica de lo que se implementará]
108
+
109
+ ## Repositorios Involucrados
110
+ - **<repo-1>**: [Rol en esta funcionalidad]
111
+ - **<repo-2>**: [Rol en esta funcionalidad]
112
+
113
+ ## Enfoque Técnico
114
+ [Estrategia general de implementación]
115
+ ```
116
+
117
+ ### 2. Arquitectura de la Solución
118
+
119
+ ```markdown
120
+ ## Arquitectura
121
+
122
+ ### Diagrama de Componentes
123
+ [Descripción textual o arte ASCII de los componentes y sus relaciones]
124
+
125
+ ### Flujo de Datos
126
+ 1. [Paso 1 del flujo]
127
+ 2. [Paso 2 del flujo]
128
+ 3. [Paso 3 del flujo]
129
+
130
+ ### Integraciones
131
+ - **<repo-1> → <repo-2>**: [Cómo se comunican]
132
+ - **Sistema → API Externa**: [Si aplica]
133
+ ```
134
+
135
+ ### 3. Decisiones Técnicas
136
+
137
+ ```markdown
138
+ ## Decisiones Técnicas
139
+
140
+ ### Decisión 1: [Título]
141
+ **Contexto**: [Por qué necesitamos decidir esto]
142
+ **Opciones consideradas**:
143
+ - Opción A: [Pros y contras]
144
+ - Opción B: [Pros y contras]
145
+ **Decisión**: [Opción elegida]
146
+ **Justificación**: [Por qué elegimos esta opción]
147
+
148
+ ### Decisión 2: [Título]
149
+ [Mismo formato anterior]
150
+ ```
151
+
152
+ ### 4. Plan de Implementación
153
+
154
+ Divida el trabajo en unidades pequeñas y secuenciales:
155
+
156
+ ```markdown
157
+ ## Plan de Implementación
158
+
159
+ ### Fase 1: [Nombre de la Fase]
160
+ **Objetivo**: [Qué se logrará en esta fase]
161
+ **Repositorios**: [repos afectados]
162
+
163
+ #### Tarea 1.1: [Descripción]
164
+ - **Repo**: <repo-1>
165
+ - **Archivos**: [archivos a crear/modificar]
166
+ - **Descripción**: [Qué hacer]
167
+ - **Pruebas**: [Pruebas a implementar]
168
+ - **Estimación**: [tiempo estimado]
169
+
170
+ #### Tarea 1.2: [Descripción]
171
+ - **Repo**: <repo-2>
172
+ - **Archivos**: [archivos a crear/modificar]
173
+ - **Descripción**: [Qué hacer]
174
+ - **Pruebas**: [Pruebas a implementar]
175
+ - **Estimación**: [tiempo estimado]
176
+
177
+ ### Fase 2: [Nombre de la Fase]
178
+ [Mismo formato anterior]
179
+
180
+ ### Fase 3: [Nombre de la Fase]
181
+ [Mismo formato anterior]
182
+ ```
183
+
184
+ ### 5. Estructura de Archivos
185
+
186
+ Para cada repositorio, defina la estructura:
187
+
188
+ ```markdown
189
+ ## Estructura de Archivos
190
+
191
+ ### <repo-1>
192
+ ```
193
+ src/
194
+ ├── components/
195
+ │ ├── NewComponent.tsx (CREAR)
196
+ │ └── ExistingComponent.tsx (MODIFICAR)
197
+ ├── services/
198
+ │ └── NewService.ts (CREAR)
199
+ └── tests/
200
+ └── NewComponent.test.tsx (CREAR)
201
+ ```
202
+
203
+ ### <repo-2>
204
+ ```
205
+ src/
206
+ ├── controllers/
207
+ │ └── NewController.ts (CREAR)
208
+ └── tests/
209
+ └── NewController.test.ts (CREAR)
210
+ ```
211
+ ```
212
+
213
+ ### 6. APIs y Contratos
214
+
215
+ ```markdown
216
+ ## APIs y Contratos
217
+
218
+ ### Endpoints Nuevos
219
+
220
+ #### POST /api/resource
221
+ **Request**:
222
+ ```json
223
+ {
224
+ "field1": "string",
225
+ "field2": "number"
226
+ }
227
+ ```
228
+
229
+ **Response**:
230
+ ```json
231
+ {
232
+ "id": "string",
233
+ "status": "string"
234
+ }
235
+ ```
236
+
237
+ ### Endpoints Modificados
238
+
239
+ #### GET /api/resource/:id
240
+ **Cambios**: [Qué cambia]
241
+ **Breaking Change**: Sí / No
242
+ ```
243
+
244
+ ### 7. Estrategia de Pruebas
245
+
246
+ ```markdown
247
+ ## Estrategia de Pruebas
248
+
249
+ ### Pruebas Unitarias
250
+ - **<repo-1>**: [Componentes/funciones a probar]
251
+ - **<repo-2>**: [Componentes/funciones a probar]
252
+
253
+ ### Pruebas de Integración
254
+ - **Escenario 1**: [Descripción y repos involucrados]
255
+ - **Escenario 2**: [Descripción y repos involucrados]
256
+
257
+ ### Pruebas E2E (si aplica)
258
+ - **Flujo 1**: [Descripción]
259
+ - **Flujo 2**: [Descripción]
260
+ ```
261
+
262
+ ### 8. Riesgos Técnicos
263
+
264
+ ```markdown
265
+ ## Riesgos Técnicos
266
+
267
+ ### Riesgo 1: [Descripción]
268
+ - **Impacto**: Alto / Medio / Bajo
269
+ - **Probabilidad**: Alta / Media / Baja
270
+ - **Mitigación**: [Cómo mitigar]
271
+ - **Plan B**: [Alternativa si ocurre]
272
+
273
+ ### Riesgo 2: [Descripción]
274
+ [Mismo formato anterior]
275
+ ```
276
+
277
+ ### 9. Checklist de Implementación
278
+
279
+ ```markdown
280
+ ## Checklist de Implementación
281
+
282
+ ### Fase 1
283
+ - [ ] Tarea 1.1
284
+ - [ ] Tarea 1.2
285
+ - [ ] Pruebas de la Fase 1
286
+
287
+ ### Fase 2
288
+ - [ ] Tarea 2.1
289
+ - [ ] Tarea 2.2
290
+ - [ ] Pruebas de la Fase 2
291
+
292
+ ### Fase 3
293
+ - [ ] Tarea 3.1
294
+ - [ ] Tarea 3.2
295
+ - [ ] Pruebas de la Fase 3
296
+
297
+ ### Finalización
298
+ - [ ] Documentación actualizada
299
+ - [ ] Code review
300
+ - [ ] Pruebas de integración
301
+ - [ ] PR creado
302
+ ```
303
+
304
+ ## 📄 Guardado del Plan
305
+
306
+ Guarde en `./.sessions/<ISSUE-ID>/plan.md`
307
+
308
+ ## 🔍 Revisión
309
+
310
+ Revise el plan verificando:
311
+ - Todas las tareas están claras y ejecutables
312
+ - Dependencias entre tareas están identificadas
313
+ - Las estimaciones son realistas
314
+ - Los riesgos fueron considerados
315
+ - La estrategia de pruebas es adecuada
316
+
317
+ ---
318
+
319
+ **Argumentos proporcionados**:
320
+
321
+ ```
322
+ #$ARGUMENTS
323
+ ```
324
+
325
+ ---
326
+
327
+ ## 🎯 Próximo Paso
328
+
329
+ Después de la aprobación del plan:
330
+
331
+ ```bash
332
+ /work
333
+ ```
334
+
335
+ Este comando iniciará la ejecución de la primera unidad de trabajo del plan.