@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,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,59 @@
|
|
|
1
|
+
# Calentamiento - Carga de Contexto
|
|
2
|
+
|
|
3
|
+
Prepara el entorno cargando el contexto optimizado del proyecto.
|
|
4
|
+
|
|
5
|
+
## 1. Cargar Configuración
|
|
6
|
+
|
|
7
|
+
Lee los archivos del orquestador:
|
|
8
|
+
- **`context-manifest.json`** - Repositorios y roles
|
|
9
|
+
- **`ai.properties.md`** - base_path, task_management_system
|
|
10
|
+
|
|
11
|
+
## 2. Cargar Contexto Compacto (OPTIMIZADO)
|
|
12
|
+
|
|
13
|
+
**IMPORTANTE**: Usa carga PROGRESIVA para economizar la ventana de contexto.
|
|
14
|
+
|
|
15
|
+
### Obligatorio (warm-up)
|
|
16
|
+
|
|
17
|
+
Localiza metaspecs vía `context-manifest.json` (role: "specs-provider"):
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
{base_path}/{metaspecs-id}/specs/_meta/WARM_UP_CONTEXT.md (~100 líneas)
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Este archivo contiene TODOS los esenciales:
|
|
24
|
+
- Stack tecnológico
|
|
25
|
+
- Jerarquía de contexto
|
|
26
|
+
- 5 reglas críticas
|
|
27
|
+
- Patrones de código mínimos
|
|
28
|
+
- Tabla de carga bajo demanda
|
|
29
|
+
|
|
30
|
+
### Bajo Demanda (NO cargar durante warm-up)
|
|
31
|
+
|
|
32
|
+
| Necesidad | Documento |
|
|
33
|
+
|-----------|-----------|
|
|
34
|
+
| Generar código | `CLAUDE.meta.md` |
|
|
35
|
+
| Arquitectura | `ARCHITECTURE.md` |
|
|
36
|
+
| Feature específica | `features/{FEATURE}.md` |
|
|
37
|
+
| Anti-patrones completos | `ANTI_PATTERNS.md` |
|
|
38
|
+
|
|
39
|
+
## 3. Verificar Repositorios
|
|
40
|
+
|
|
41
|
+
Para cada repositorio en `context-manifest.json`:
|
|
42
|
+
- Verificar existencia en `{base_path}/{repo-id}/`
|
|
43
|
+
- **NO** leer README.md ahora (bajo demanda)
|
|
44
|
+
|
|
45
|
+
## 4. Verificar Sesión (si existe)
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
ls -la .sessions/<ISSUE-ID>/ 2>/dev/null
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## 5. Principio Jidoka
|
|
52
|
+
|
|
53
|
+
Si se detectan problemas: **PARA**, documenta, alerta al usuario.
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
**Argumentos**: #$ARGUMENTS
|
|
58
|
+
|
|
59
|
+
**Estado**: Contexto cargado. Esperando 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.
|