@thatix.io/context-first-agents-cli 0.1.1 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +83 -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 +83 -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 +83 -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 +83 -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 +83 -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 +83 -0
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
# Observabilidad de Decisiones
|
|
2
|
+
|
|
3
|
+
Este comando registra decisiones importantes tomadas durante el desarrollo, creando un registro auditable para explicabilidad y trazabilidad.
|
|
4
|
+
|
|
5
|
+
## 🎯 Objetivo
|
|
6
|
+
|
|
7
|
+
Crear un registro estructurado de decisiones técnicas y de producto, garantizando:
|
|
8
|
+
- **Explicabilidad**: Por qué se tomó cada decisión
|
|
9
|
+
- **Trazabilidad**: Qué fuentes (PRD, metaspecs, ADRs) fundamentaron la decisión
|
|
10
|
+
- **Auditoría**: Historial completo de elecciones para revisión futura
|
|
11
|
+
- **Aprendizaje**: Documentación de trade-offs y alternativas consideradas
|
|
12
|
+
|
|
13
|
+
**IMPORTANTE**: Este comando NO genera decisiones nuevas. Solo REGISTRA decisiones que ya fueron tomadas en el proceso de desarrollo.
|
|
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ás:
|
|
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
|
+
## 📋 Pre-requisitos
|
|
53
|
+
|
|
54
|
+
- Haber ejecutado al menos uno de los comandos que generan decisiones:
|
|
55
|
+
- `/spec` - genera PRD con decisiones de producto
|
|
56
|
+
- `/plan` - genera plan.md con decisiones técnicas
|
|
57
|
+
- `/work` - implementación genera decisiones durante el desarrollo
|
|
58
|
+
|
|
59
|
+
## 🔍 Proceso de Observación
|
|
60
|
+
|
|
61
|
+
### 1. Identificar Decisiones Relevantes
|
|
62
|
+
|
|
63
|
+
Analice los archivos de la sesión (`./.sessions/<ISSUE-ID>/`) para identificar decisiones:
|
|
64
|
+
|
|
65
|
+
**Después de `/spec`** - Decisiones de Producto:
|
|
66
|
+
- Lea `./.sessions/<ISSUE-ID>/prd.md`
|
|
67
|
+
- Identifique decisiones en:
|
|
68
|
+
- Alcance (qué entra/no entra en la funcionalidad)
|
|
69
|
+
- Personas atendidas (quién es el público objetivo)
|
|
70
|
+
- Métricas de éxito (cómo medir resultados)
|
|
71
|
+
- Requisitos no funcionales (performance, accesibilidad)
|
|
72
|
+
- Restricciones y trade-offs
|
|
73
|
+
|
|
74
|
+
**Después de `/plan`** - Decisiones Técnicas:
|
|
75
|
+
- Lea `./.sessions/<ISSUE-ID>/plan.md`
|
|
76
|
+
- Identifique decisiones en:
|
|
77
|
+
- Arquitectura de componentes/módulos
|
|
78
|
+
- Elección de bibliotecas o herramientas
|
|
79
|
+
- Patrones de implementación
|
|
80
|
+
- Estructura de datos
|
|
81
|
+
- Estrategia de pruebas
|
|
82
|
+
|
|
83
|
+
**Durante `/work`** - Decisiones de Implementación:
|
|
84
|
+
- Lea `./.sessions/<ISSUE-ID>/work.md`
|
|
85
|
+
- Identifique decisiones en:
|
|
86
|
+
- Refactorizaciones realizadas
|
|
87
|
+
- Cambios de enfoque
|
|
88
|
+
- Optimizaciones aplicadas
|
|
89
|
+
- Tratamiento de edge cases
|
|
90
|
+
|
|
91
|
+
### 2. Documentar Cada Decisión
|
|
92
|
+
|
|
93
|
+
Para cada decisión identificada, documente:
|
|
94
|
+
|
|
95
|
+
```markdown
|
|
96
|
+
## Decisión: [Título Claro]
|
|
97
|
+
|
|
98
|
+
**Contexto**: [¿Por qué necesitamos decidir esto? ¿Cuál es el problema o necesidad?]
|
|
99
|
+
|
|
100
|
+
**Opciones Consideradas**:
|
|
101
|
+
1. **Opción A**: [Descripción]
|
|
102
|
+
- Pros: [ventajas]
|
|
103
|
+
- Contras: [desventajas]
|
|
104
|
+
2. **Opción B**: [Descripción]
|
|
105
|
+
- Pros: [ventajas]
|
|
106
|
+
- Contras: [desventajas]
|
|
107
|
+
|
|
108
|
+
**Decisión**: [Opción elegida]
|
|
109
|
+
|
|
110
|
+
**Justificación**: [¿Por qué elegimos esta opción? ¿Qué criterios fueron más importantes?]
|
|
111
|
+
|
|
112
|
+
**Fuentes**:
|
|
113
|
+
- [PRD sección X]
|
|
114
|
+
- [Metaspec Y]
|
|
115
|
+
- [ADR-00Z]
|
|
116
|
+
|
|
117
|
+
**Trade-offs Aceptados**: [¿Qué desventajas aceptamos conscientemente?]
|
|
118
|
+
|
|
119
|
+
**Reversibilidad**: Fácil / Media / Difícil
|
|
120
|
+
|
|
121
|
+
**Fecha**: [fecha de la decisión]
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
### 3. Crear Registro de Decisiones
|
|
125
|
+
|
|
126
|
+
Guarde en `./.sessions/<ISSUE-ID>/decisions.md`:
|
|
127
|
+
|
|
128
|
+
```markdown
|
|
129
|
+
# Registro de Decisiones - [ISSUE-ID]
|
|
130
|
+
|
|
131
|
+
## Resumen
|
|
132
|
+
[Breve resumen de las principales decisiones tomadas en esta funcionalidad]
|
|
133
|
+
|
|
134
|
+
## Decisiones de Producto
|
|
135
|
+
|
|
136
|
+
### [Decisión 1]
|
|
137
|
+
[Según plantilla arriba]
|
|
138
|
+
|
|
139
|
+
### [Decisión 2]
|
|
140
|
+
[Según plantilla arriba]
|
|
141
|
+
|
|
142
|
+
## Decisiones Técnicas
|
|
143
|
+
|
|
144
|
+
### [Decisión 3]
|
|
145
|
+
[Según plantilla arriba]
|
|
146
|
+
|
|
147
|
+
### [Decisión 4]
|
|
148
|
+
[Según plantilla arriba]
|
|
149
|
+
|
|
150
|
+
## Decisiones de Implementación
|
|
151
|
+
|
|
152
|
+
### [Decisión 5]
|
|
153
|
+
[Según plantilla arriba]
|
|
154
|
+
|
|
155
|
+
## Lecciones Aprendidas
|
|
156
|
+
- [Lección 1]
|
|
157
|
+
- [Lección 2]
|
|
158
|
+
|
|
159
|
+
## Decisiones Pendientes
|
|
160
|
+
- [Decisión que aún necesita ser tomada]
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
## 📊 Análisis de Impacto
|
|
164
|
+
|
|
165
|
+
Para decisiones críticas, documente el impacto:
|
|
166
|
+
|
|
167
|
+
```markdown
|
|
168
|
+
## Análisis de Impacto
|
|
169
|
+
|
|
170
|
+
**Repositorios Afectados**: [lista]
|
|
171
|
+
|
|
172
|
+
**Componentes Impactados**: [lista]
|
|
173
|
+
|
|
174
|
+
**Dependencias Creadas**: [lista]
|
|
175
|
+
|
|
176
|
+
**Riesgos Introducidos**: [lista]
|
|
177
|
+
|
|
178
|
+
**Mitigaciones Aplicadas**: [lista]
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
## 🔄 Revisión de Decisiones
|
|
182
|
+
|
|
183
|
+
Periódicamente, revise las decisiones tomadas:
|
|
184
|
+
- ¿Siguen teniendo sentido?
|
|
185
|
+
- ¿Los trade-offs se demostraron correctos?
|
|
186
|
+
- ¿Hay aprendizajes para documentar?
|
|
187
|
+
- ¿Alguna decisión necesita ser revertida?
|
|
188
|
+
|
|
189
|
+
---
|
|
190
|
+
|
|
191
|
+
**Argumentos proporcionados**:
|
|
192
|
+
|
|
193
|
+
```
|
|
194
|
+
#$ARGUMENTS
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
---
|
|
198
|
+
|
|
199
|
+
## 🎯 Resultado
|
|
200
|
+
|
|
201
|
+
Después de ejecutar este comando, tendrás:
|
|
202
|
+
- Registro completo de decisiones en `./.sessions/<ISSUE-ID>/decisions.md`
|
|
203
|
+
- Trazabilidad de cada elección realizada
|
|
204
|
+
- Documentación para futuras referencias
|
|
205
|
+
- Base para ADRs (si las decisiones son de arquitectura)
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
# Calentamiento — Carga de Contexto (índices para RAG)
|
|
2
|
+
|
|
3
|
+
Prepara el entorno cargando los **índices de las specs** en un mapa de contexto navegable.
|
|
4
|
+
El objetivo NO es volcar las specs en el contexto, sino cargar los **índices** para que los
|
|
5
|
+
comandos siguientes sepan **dónde buscar** cada información, bajo demanda.
|
|
6
|
+
|
|
7
|
+
**Argumentos**: `#$ARGUMENTS`
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## 1. Cargar configuración
|
|
12
|
+
|
|
13
|
+
Lee del orquestador:
|
|
14
|
+
- **`context-manifest.json`** — `repositories[]` (id, role, hints), y el bloque
|
|
15
|
+
`orchestration` (especialmente `indexes`).
|
|
16
|
+
- **`ai.properties.md`** — `base_path`, `task_management_system`.
|
|
17
|
+
|
|
18
|
+
Localiza el repo de specs: el de `role: "metaspecs"` (o `"specs-provider"`).
|
|
19
|
+
|
|
20
|
+
## 2. Descubrir los índices (dinámico — no exige ningún archivo fijo)
|
|
21
|
+
|
|
22
|
+
Arma la lista de índices a cargar, en este orden de prioridad, **saltando lo que no exista**:
|
|
23
|
+
|
|
24
|
+
1. Todas las rutas en `orchestration.indexes` del manifiesto (si están definidas).
|
|
25
|
+
2. Si no hay ninguna, o para complementar, **descubre** los índices en el repo de specs:
|
|
26
|
+
- busca `index.md` / `INDEX.md` bajo `{base_path}/{metaspecs-id}/specs/` y subcarpetas
|
|
27
|
+
(ej.: `specs/index.md`, `specs/technical/index.md`, `specs/business/index.md`,
|
|
28
|
+
`specs/business/features/index.md`).
|
|
29
|
+
3. Incluye también, **si existen**, los archivos de `context[]` de cada repositorio del manifiesto.
|
|
30
|
+
|
|
31
|
+
> Degrada con gracia: si un índice esperado no existe, **sólo regístralo y continúa**.
|
|
32
|
+
> Nunca falles el calentamiento por la ausencia de un archivo específico.
|
|
33
|
+
|
|
34
|
+
## 3. Construir el Mapa de Contexto (el producto del calentamiento)
|
|
35
|
+
|
|
36
|
+
Lee SÓLO los índices descubiertos (no los documentos que apuntan). A partir de ellos,
|
|
37
|
+
arma y presenta un **mapa de RAG** — la "tabla de ruteo" del proyecto:
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
## Mapa de Contexto (RAG)
|
|
41
|
+
|
|
42
|
+
### Índices cargados
|
|
43
|
+
- specs/index.md → raíz de navegación
|
|
44
|
+
- specs/technical/index.md → arquitectura, API, ADRs, convenciones
|
|
45
|
+
- specs/business/index.md → personas, journey, estrategia
|
|
46
|
+
- ...(sólo los que existen)
|
|
47
|
+
|
|
48
|
+
### Dónde buscar bajo demanda
|
|
49
|
+
| Necesidad | Consultar (vía índice) |
|
|
50
|
+
|-------------------------------|--------------------------------------|
|
|
51
|
+
| Arquitectura / decisiones | technical/index.md → ARCHITECTURE / ADRs |
|
|
52
|
+
| Contrato de API | technical/index.md → API_SPECIFICATION |
|
|
53
|
+
| Reglas de negocio / feature | business/index.md → features/... |
|
|
54
|
+
| Convenciones de código | technical/index.md → guía de código |
|
|
55
|
+
|
|
56
|
+
### Repositorios (del manifiesto)
|
|
57
|
+
- <repo-id> [role] — hints: ...
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
Si un índice referencia documentos que no existen en disco, márcalos como
|
|
61
|
+
`(referenciado, ausente)` — eso indica una spec incompleta, no un error del calentamiento.
|
|
62
|
+
|
|
63
|
+
## 4. Verificar repositorios y sesión
|
|
64
|
+
|
|
65
|
+
- Para cada repo del manifiesto, confirma que existe en `{base_path}/{repo-id}/`
|
|
66
|
+
(no leas README ni código ahora — eso es bajo demanda).
|
|
67
|
+
- Si se pasó un ISSUE-ID, verifica `.sessions/<ISSUE-ID>/`.
|
|
68
|
+
|
|
69
|
+
## 5. Cómo los comandos siguientes usan esto
|
|
70
|
+
|
|
71
|
+
Comandos como `/spec`, `/orchestrate` y los agentes NO deben escanear el repo a ciegas.
|
|
72
|
+
Deben: consultar el Mapa de Contexto → abrir el índice relevante → seguir el link al
|
|
73
|
+
documento específico. El índice es lo que optimiza el RAG: cargar poco, navegar con precisión.
|
|
74
|
+
|
|
75
|
+
## 6. Principio Jidoka
|
|
76
|
+
|
|
77
|
+
Si detectas un problema estructural (ningún índice encontrado, specs-provider ausente):
|
|
78
|
+
**DETENTE**, describe qué falta y sugiere cómo corregirlo (ej.: crear `specs/index.md` o
|
|
79
|
+
completar `orchestration.indexes`). No inventes contexto.
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
**Estado**: Índices cargados y Mapa de Contexto armado. Esperando el próximo comando.
|
|
@@ -0,0 +1,335 @@
|
|
|
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 do Projeto
|
|
12
|
+
|
|
13
|
+
**⚠️ IMPORTANTE: Sempre leia os arquivos de configuração do projeto ANTES de executar este comando!**
|
|
14
|
+
|
|
15
|
+
### Arquivos Obrigatórios
|
|
16
|
+
|
|
17
|
+
1. **`context-manifest.json`** (raiz do orchestrator)
|
|
18
|
+
- Lista de repositórios do projeto
|
|
19
|
+
- Roles de cada repositório (metaspecs, application, etc.)
|
|
20
|
+
- URLs e dependências entre repositórios
|
|
21
|
+
|
|
22
|
+
2. **`ai.properties.md`** (raiz do orchestrator)
|
|
23
|
+
- Configurações do projeto (`project_name`, `base_path`)
|
|
24
|
+
- Sistema de gerenciamento de tarefas (`task_management_system`)
|
|
25
|
+
- Credenciais e configurações específicas
|
|
26
|
+
|
|
27
|
+
### Como Ler
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
# 1. Ler context-manifest.json
|
|
31
|
+
cat context-manifest.json
|
|
32
|
+
|
|
33
|
+
# 2. Ler ai.properties.md
|
|
34
|
+
cat ai.properties.md
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### Informações Essenciais
|
|
38
|
+
|
|
39
|
+
Após ler os arquivos, você terá:
|
|
40
|
+
- ✅ Lista completa de repositórios do projeto
|
|
41
|
+
- ✅ Localização do repositório de metaspecs
|
|
42
|
+
- ✅ Base path para localizar repositórios
|
|
43
|
+
- ✅ Sistema de task management configurado
|
|
44
|
+
- ✅ Configurações específicas do projeto
|
|
45
|
+
|
|
46
|
+
**🛑 NÃO prossiga sem ler estes arquivos!** Eles contêm informações críticas para a execução correta do comando.
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
## 📍 IMPORTANTE: Entenda a Estrutura
|
|
50
|
+
|
|
51
|
+
**Workspace**:
|
|
52
|
+
```
|
|
53
|
+
<orchestrator>/.sessions/<ISSUE-ID>/
|
|
54
|
+
├── repo-1/ # worktree (será usado no /work)
|
|
55
|
+
├── repo-2/ # worktree (será usado no /work)
|
|
56
|
+
├── context.md # contexto (imutável - LER)
|
|
57
|
+
├── architecture.md # arquitetura (imutável - LER)
|
|
58
|
+
└── plan.md # plano (mutável - CRIAR)
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
**Repositórios principais** (apenas leitura):
|
|
62
|
+
```
|
|
63
|
+
{base_path}/repo-1/ # repo principal (branch main/master)
|
|
64
|
+
{base_path}/repo-2/ # repo principal (branch main/master)
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
**REGRA DE OURO**:
|
|
68
|
+
- ✅ Leia `context.md` e `architecture.md` (imutáveis)
|
|
69
|
+
- ✅ Crie `plan.md` em `.sessions/<ISSUE-ID>/`
|
|
70
|
+
- ✅ Leia código dos repositórios principais (read-only)
|
|
71
|
+
- ❌ NUNCA faça checkout nos repositórios principais
|
|
72
|
+
- ❌ NUNCA modifique `context.md` ou `architecture.md`
|
|
73
|
+
|
|
74
|
+
## ⚠️ IMPORTANTE: Arquivos Imutáveis
|
|
75
|
+
|
|
76
|
+
**Este comando deve LER mas NÃO MODIFICAR:**
|
|
77
|
+
- ✅ **LER** `.sessions/<ISSUE-ID>/context.md` (imutável)
|
|
78
|
+
- ✅ **LER** `.sessions/<ISSUE-ID>/architecture.md` (imutável)
|
|
79
|
+
- ✅ **CRIAR** `.sessions/<ISSUE-ID>/plan.md` (mutável - será atualizado durante `/work`)
|
|
80
|
+
- ❌ **NÃO modificar `context.md` ou `architecture.md`**
|
|
81
|
+
|
|
82
|
+
## 📚 Carregar MetaSpecs
|
|
83
|
+
|
|
84
|
+
**Localizar MetaSpecs automaticamente**:
|
|
85
|
+
1. Leia `context-manifest.json` do orchestrator
|
|
86
|
+
2. Encontre o repositório com `"role": "metaspecs"`
|
|
87
|
+
3. Leia `ai.properties.md` para obter o `base_path`
|
|
88
|
+
4. O metaspecs está em: `{base_path}/{metaspecs-repo-id}/`
|
|
89
|
+
5. Leia os arquivos `index.md` relevantes para garantir conformidade com:
|
|
90
|
+
- Arquitetura do sistema
|
|
91
|
+
- Padrões de design e código
|
|
92
|
+
- Estrutura de pastas e arquivos
|
|
93
|
+
- Convenções de nomenclatura
|
|
94
|
+
|
|
95
|
+
## 🎯 Objetivo
|
|
96
|
+
|
|
97
|
+
Criar um plano técnico detalhado que guiará a implementação, dividindo o trabalho em unidades menores e sequenciais.
|
|
98
|
+
|
|
99
|
+
## 📝 Estrutura do Plano
|
|
100
|
+
|
|
101
|
+
### 1. Visão Geral Técnica
|
|
102
|
+
|
|
103
|
+
```markdown
|
|
104
|
+
# Plano Técnico - [Título da Feature]
|
|
105
|
+
|
|
106
|
+
## Resumo
|
|
107
|
+
[Breve descrição técnica do que será implementado]
|
|
108
|
+
|
|
109
|
+
## Repositórios Envolvidos
|
|
110
|
+
- **<repo-1>**: [Papel nesta feature]
|
|
111
|
+
- **<repo-2>**: [Papel nesta feature]
|
|
112
|
+
|
|
113
|
+
## Abordagem Técnica
|
|
114
|
+
[Estratégia geral de implementação]
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
### 2. Arquitetura da Solução
|
|
118
|
+
|
|
119
|
+
```markdown
|
|
120
|
+
## Arquitetura
|
|
121
|
+
|
|
122
|
+
### Diagrama de Componentes
|
|
123
|
+
[Descrição textual ou ASCII art dos componentes e suas relações]
|
|
124
|
+
|
|
125
|
+
### Fluxo de Dados
|
|
126
|
+
1. [Passo 1 do fluxo]
|
|
127
|
+
2. [Passo 2 do fluxo]
|
|
128
|
+
3. [Passo 3 do fluxo]
|
|
129
|
+
|
|
130
|
+
### Integrações
|
|
131
|
+
- **<repo-1> → <repo-2>**: [Como se comunicam]
|
|
132
|
+
- **Sistema → API Externa**: [Se houver]
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
### 3. Decisões Técnicas
|
|
136
|
+
|
|
137
|
+
```markdown
|
|
138
|
+
## Decisões Técnicas
|
|
139
|
+
|
|
140
|
+
### Decisão 1: [Título]
|
|
141
|
+
**Contexto**: [Por que precisamos decidir isso]
|
|
142
|
+
**Opções consideradas**:
|
|
143
|
+
- Opção A: [Prós e contras]
|
|
144
|
+
- Opção B: [Prós e contras]
|
|
145
|
+
**Decisão**: [Opção escolhida]
|
|
146
|
+
**Justificativa**: [Por que escolhemos esta opção]
|
|
147
|
+
|
|
148
|
+
### Decisão 2: [Título]
|
|
149
|
+
[Mesmo formato acima]
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
### 4. Plano de Implementação
|
|
153
|
+
|
|
154
|
+
Divida o trabalho em unidades pequenas e sequenciais:
|
|
155
|
+
|
|
156
|
+
```markdown
|
|
157
|
+
## Plano de Implementação
|
|
158
|
+
|
|
159
|
+
### Fase 1: [Nome da Fase]
|
|
160
|
+
**Objetivo**: [O que será alcançado nesta fase]
|
|
161
|
+
**Repositórios**: [repos afetados]
|
|
162
|
+
|
|
163
|
+
#### Tarefa 1.1: [Descrição]
|
|
164
|
+
- **Repo**: <repo-1>
|
|
165
|
+
- **Arquivos**: [arquivos a criar/modificar]
|
|
166
|
+
- **Descrição**: [O que fazer]
|
|
167
|
+
- **Testes**: [Testes a implementar]
|
|
168
|
+
- **Estimativa**: [tempo estimado]
|
|
169
|
+
|
|
170
|
+
#### Tarefa 1.2: [Descrição]
|
|
171
|
+
- **Repo**: <repo-2>
|
|
172
|
+
- **Arquivos**: [arquivos a criar/modificar]
|
|
173
|
+
- **Descrição**: [O que fazer]
|
|
174
|
+
- **Testes**: [Testes a implementar]
|
|
175
|
+
- **Estimativa**: [tempo estimado]
|
|
176
|
+
|
|
177
|
+
### Fase 2: [Nome da Fase]
|
|
178
|
+
[Mesmo formato acima]
|
|
179
|
+
|
|
180
|
+
### Fase 3: [Nome da Fase]
|
|
181
|
+
[Mesmo formato acima]
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
### 5. Estrutura de Arquivos
|
|
185
|
+
|
|
186
|
+
Para cada repositório, defina a estrutura:
|
|
187
|
+
|
|
188
|
+
```markdown
|
|
189
|
+
## Estrutura de Arquivos
|
|
190
|
+
|
|
191
|
+
### <repo-1>
|
|
192
|
+
```
|
|
193
|
+
src/
|
|
194
|
+
├── components/
|
|
195
|
+
│ ├── NewComponent.tsx (CRIAR)
|
|
196
|
+
│ └── ExistingComponent.tsx (MODIFICAR)
|
|
197
|
+
├── services/
|
|
198
|
+
│ └── NewService.ts (CRIAR)
|
|
199
|
+
└── tests/
|
|
200
|
+
└── NewComponent.test.tsx (CRIAR)
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
### <repo-2>
|
|
204
|
+
```
|
|
205
|
+
src/
|
|
206
|
+
├── controllers/
|
|
207
|
+
│ └── NewController.ts (CRIAR)
|
|
208
|
+
└── tests/
|
|
209
|
+
└── NewController.test.ts (CRIAR)
|
|
210
|
+
```
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
### 6. APIs e Contratos
|
|
214
|
+
|
|
215
|
+
```markdown
|
|
216
|
+
## APIs e Contratos
|
|
217
|
+
|
|
218
|
+
### Endpoints Novos
|
|
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
|
+
**Mudanças**: [O que muda]
|
|
241
|
+
**Breaking Change**: Sim / Não
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
### 7. Estratégia de Testes
|
|
245
|
+
|
|
246
|
+
```markdown
|
|
247
|
+
## Estratégia de Testes
|
|
248
|
+
|
|
249
|
+
### Testes Unitários
|
|
250
|
+
- **<repo-1>**: [Componentes/funções a testar]
|
|
251
|
+
- **<repo-2>**: [Componentes/funções a testar]
|
|
252
|
+
|
|
253
|
+
### Testes de Integração
|
|
254
|
+
- **Cenário 1**: [Descrição e repos envolvidos]
|
|
255
|
+
- **Cenário 2**: [Descrição e repos envolvidos]
|
|
256
|
+
|
|
257
|
+
### Testes E2E (se aplicável)
|
|
258
|
+
- **Fluxo 1**: [Descrição]
|
|
259
|
+
- **Fluxo 2**: [Descrição]
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
### 8. Riscos Técnicos
|
|
263
|
+
|
|
264
|
+
```markdown
|
|
265
|
+
## Riscos Técnicos
|
|
266
|
+
|
|
267
|
+
### Risco 1: [Descrição]
|
|
268
|
+
- **Impacto**: Alto / Médio / Baixo
|
|
269
|
+
- **Probabilidade**: Alta / Média / Baixa
|
|
270
|
+
- **Mitigação**: [Como mitigar]
|
|
271
|
+
- **Plano B**: [Alternativa se ocorrer]
|
|
272
|
+
|
|
273
|
+
### Risco 2: [Descrição]
|
|
274
|
+
[Mesmo formato acima]
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
### 9. Checklist de Implementação
|
|
278
|
+
|
|
279
|
+
```markdown
|
|
280
|
+
## Checklist de Implementação
|
|
281
|
+
|
|
282
|
+
### Fase 1
|
|
283
|
+
- [ ] Tarefa 1.1
|
|
284
|
+
- [ ] Tarefa 1.2
|
|
285
|
+
- [ ] Testes da Fase 1
|
|
286
|
+
|
|
287
|
+
### Fase 2
|
|
288
|
+
- [ ] Tarefa 2.1
|
|
289
|
+
- [ ] Tarefa 2.2
|
|
290
|
+
- [ ] Testes da Fase 2
|
|
291
|
+
|
|
292
|
+
### Fase 3
|
|
293
|
+
- [ ] Tarefa 3.1
|
|
294
|
+
- [ ] Tarefa 3.2
|
|
295
|
+
- [ ] Testes da Fase 3
|
|
296
|
+
|
|
297
|
+
### Finalização
|
|
298
|
+
- [ ] Documentação atualizada
|
|
299
|
+
- [ ] Code review
|
|
300
|
+
- [ ] Testes de integração
|
|
301
|
+
- [ ] PR criado
|
|
302
|
+
```
|
|
303
|
+
|
|
304
|
+
## 📄 Salvamento do Plano
|
|
305
|
+
|
|
306
|
+
Salve em `./.sessions/<ISSUE-ID>/plan.md`
|
|
307
|
+
|
|
308
|
+
## 🔍 Revisão
|
|
309
|
+
|
|
310
|
+
Revise o plano verificando:
|
|
311
|
+
- Todas as tarefas estão claras e executáveis
|
|
312
|
+
- Dependências entre tarefas estão identificadas
|
|
313
|
+
- Estimativas são realistas
|
|
314
|
+
- Riscos foram considerados
|
|
315
|
+
- Estratégia de testes é adequada
|
|
316
|
+
|
|
317
|
+
---
|
|
318
|
+
|
|
319
|
+
**Argumentos fornecidos**:
|
|
320
|
+
|
|
321
|
+
```
|
|
322
|
+
#$ARGUMENTS
|
|
323
|
+
```
|
|
324
|
+
|
|
325
|
+
---
|
|
326
|
+
|
|
327
|
+
## 🎯 Próximo Passo
|
|
328
|
+
|
|
329
|
+
Após aprovação do plano:
|
|
330
|
+
|
|
331
|
+
```bash
|
|
332
|
+
/work
|
|
333
|
+
```
|
|
334
|
+
|
|
335
|
+
Este comando iniciará a execução da primeira unidade de trabalho do plano.
|