@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,228 @@
|
|
|
1
|
+
# Creación de Pull Request
|
|
2
|
+
|
|
3
|
+
Este comando crea Pull Requests para todos los repositorios modificados en el workspace.
|
|
4
|
+
|
|
5
|
+
## 📋 Requisitos Previos
|
|
6
|
+
|
|
7
|
+
Antes de crear PRs, asegúrate de que:
|
|
8
|
+
- Ejecutaste `/pre-pr` y todas las validaciones pasaron
|
|
9
|
+
- Todos los commits fueron realizados
|
|
10
|
+
- Todas las pruebas están pasando
|
|
11
|
+
- La documentación está actualizada
|
|
12
|
+
|
|
13
|
+
## 📋 Configuración del Proyecto
|
|
14
|
+
|
|
15
|
+
**⚠️ IMPORTANTE: ¡Siempre lee los archivos de configuración del proyecto ANTES de ejecutar este comando!**
|
|
16
|
+
|
|
17
|
+
### Archivos Obligatorios
|
|
18
|
+
|
|
19
|
+
1. **`context-manifest.json`** (raíz del orchestrator)
|
|
20
|
+
- Lista de repositorios del proyecto
|
|
21
|
+
- Roles de cada repositorio (metaspecs, application, etc.)
|
|
22
|
+
- URLs y dependencias entre repositorios
|
|
23
|
+
|
|
24
|
+
2. **`ai.properties.md`** (raíz del orchestrator)
|
|
25
|
+
- Configuraciones del proyecto (`project_name`, `base_path`)
|
|
26
|
+
- Sistema de gestión de tareas (`task_management_system`)
|
|
27
|
+
- Credenciales y configuraciones específicas
|
|
28
|
+
|
|
29
|
+
### Cómo Leer
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
# 1. Leer context-manifest.json
|
|
33
|
+
cat context-manifest.json
|
|
34
|
+
|
|
35
|
+
# 2. Leer ai.properties.md
|
|
36
|
+
cat ai.properties.md
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### Información Esencial
|
|
40
|
+
|
|
41
|
+
Después de leer los archivos, tendrás:
|
|
42
|
+
- ✅ Lista completa de repositorios del proyecto
|
|
43
|
+
- ✅ Ubicación del repositorio de metaspecs
|
|
44
|
+
- ✅ Base path para localizar repositorios
|
|
45
|
+
- ✅ Sistema de gestión de tareas configurado
|
|
46
|
+
- ✅ Configuraciones específicas del proyecto
|
|
47
|
+
|
|
48
|
+
**🛑 NO continúes sin leer estos archivos!** ¡Contienen información crítica para la correcta ejecución del comando!
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
## 🛑 CRÍTICO: DÓNDE TRABAJAR
|
|
52
|
+
|
|
53
|
+
**⚠️ ATENCIÓN: Si necesitas hacer ajustes de última hora, TODO EL CÓDIGO DEBE SER CREADO DENTRO DEL WORKTREE!**
|
|
54
|
+
|
|
55
|
+
**✅ CORRECTO** - Trabajar dentro del worktree:
|
|
56
|
+
```
|
|
57
|
+
<orchestrator>/.sessions/<ISSUE-ID>/<repo-name>/src/file.ts ✅
|
|
58
|
+
<orchestrator>/.sessions/<ISSUE-ID>/<repo-name>/README.md ✅
|
|
59
|
+
<orchestrator>/.sessions/<ISSUE-ID>/<repo-name>/CHANGELOG.md ✅
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
**❌ INCORRECTO** - NUNCA crear código fuera del worktree:
|
|
63
|
+
```
|
|
64
|
+
<orchestrator>/.sessions/file.ts ❌
|
|
65
|
+
<orchestrator>/.sessions/<ISSUE-ID>/file.ts ❌
|
|
66
|
+
{base_path}/<repo-name>/file.ts ❌ (¡repositorio principal!)
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
**REGLA ABSOLUTA**:
|
|
70
|
+
- 🛑 **Cualquier ajuste de código** (docs, changelog, fixes) **DEBE estar en** `<orchestrator>/.sessions/<ISSUE-ID>/<repo-name>/`
|
|
71
|
+
- 🛑 **NUNCA modifiques** el repositorio principal en `{base_path}/<repo-name>/`
|
|
72
|
+
- ✅ **Trabaja SÓLO** dentro del worktree del repositorio específico
|
|
73
|
+
|
|
74
|
+
## 🎯 Proceso de Creación de PRs
|
|
75
|
+
|
|
76
|
+
### 1. Identificar Repositorios Modificados
|
|
77
|
+
|
|
78
|
+
Para cada repositorio en el workspace, verifica:
|
|
79
|
+
```bash
|
|
80
|
+
cd <repositorio>
|
|
81
|
+
git status
|
|
82
|
+
git log origin/main..HEAD # Ver commits no pusheados
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### 2. Push de las Branches
|
|
86
|
+
|
|
87
|
+
Para cada repositorio modificado:
|
|
88
|
+
```bash
|
|
89
|
+
cd <repositorio>
|
|
90
|
+
git push origin <branch-name>
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### 3. Crear Pull Requests
|
|
94
|
+
|
|
95
|
+
Para cada repositorio, crea un PR usando GitHub CLI o interfaz web:
|
|
96
|
+
|
|
97
|
+
**Usando GitHub CLI**:
|
|
98
|
+
```bash
|
|
99
|
+
cd <repositorio>
|
|
100
|
+
gh pr create --title "[ISSUE-ID] Título de la Feature" \
|
|
101
|
+
--body "$(cat ../.sessions/<ISSUE-ID>/pr-description.md)" \
|
|
102
|
+
--base main
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
**Plantilla de Descripción del PR**:
|
|
106
|
+
|
|
107
|
+
```markdown
|
|
108
|
+
## 🎯 Objetivo
|
|
109
|
+
|
|
110
|
+
[Breve descripción de lo que hace este PR]
|
|
111
|
+
|
|
112
|
+
## 📝 Cambios
|
|
113
|
+
|
|
114
|
+
### Repositorio: <nombre-del-repo>
|
|
115
|
+
|
|
116
|
+
- [Cambio 1]
|
|
117
|
+
- [Cambio 2]
|
|
118
|
+
- [Cambio 3]
|
|
119
|
+
|
|
120
|
+
## 🔗 Relaciones
|
|
121
|
+
|
|
122
|
+
- **Issue**: <ISSUE-ID>
|
|
123
|
+
- **PRs Relacionados**:
|
|
124
|
+
- <repo-1>#<PR-number>
|
|
125
|
+
- <repo-2>#<PR-number>
|
|
126
|
+
|
|
127
|
+
## ✅ Checklist
|
|
128
|
+
|
|
129
|
+
- [ ] Código implementado y probado
|
|
130
|
+
- [ ] Pruebas unitarias añadidas/actualizadas
|
|
131
|
+
- [ ] Pruebas de integración pasando
|
|
132
|
+
- [ ] Documentación actualizada
|
|
133
|
+
- [ ] Sin breaking changes (o documentados)
|
|
134
|
+
- [ ] Revisado por pares (después de crear el PR)
|
|
135
|
+
|
|
136
|
+
## 🧪 Cómo Probar
|
|
137
|
+
|
|
138
|
+
1. [Paso 1]
|
|
139
|
+
2. [Paso 2]
|
|
140
|
+
3. [Resultado esperado]
|
|
141
|
+
|
|
142
|
+
## 📸 Screenshots/Demos
|
|
143
|
+
|
|
144
|
+
[Si aplica, añade capturas de pantalla o enlaces a demos]
|
|
145
|
+
|
|
146
|
+
## 🔍 Notas para Revisores
|
|
147
|
+
|
|
148
|
+
- [Punto de atención 1]
|
|
149
|
+
- [Punto de atención 2]
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
### 4. Vincular PRs
|
|
153
|
+
|
|
154
|
+
Si hay múltiples PRs (uno por repositorio):
|
|
155
|
+
- Añade enlaces cruzados entre los PRs
|
|
156
|
+
- Documenta el orden de merge recomendado
|
|
157
|
+
- Indica dependencias entre PRs
|
|
158
|
+
|
|
159
|
+
### 5. Actualizar Issue en el Task Manager
|
|
160
|
+
|
|
161
|
+
Si el task manager está configurado:
|
|
162
|
+
- Mueve la issue a "En Revisión" o "PR Abierto"
|
|
163
|
+
- Añade enlaces de los PRs en la issue
|
|
164
|
+
- Añade comentario con resumen de los cambios
|
|
165
|
+
|
|
166
|
+
### 6. Documentación de la Sesión
|
|
167
|
+
|
|
168
|
+
Actualiza `./.sessions/<ISSUE-ID>/pr.md`:
|
|
169
|
+
|
|
170
|
+
```markdown
|
|
171
|
+
# [Título de la Feature] - Pull Requests
|
|
172
|
+
|
|
173
|
+
## PRs Creados
|
|
174
|
+
|
|
175
|
+
### <repo-1>
|
|
176
|
+
- **Link**: <URL del PR>
|
|
177
|
+
- **Estado**: Abierto
|
|
178
|
+
- **Commits**: X commits
|
|
179
|
+
|
|
180
|
+
### <repo-2>
|
|
181
|
+
- **Link**: <URL del PR>
|
|
182
|
+
- **Estado**: Abierto
|
|
183
|
+
- **Commits**: Y commits
|
|
184
|
+
|
|
185
|
+
## Orden de Merge Recomendado
|
|
186
|
+
|
|
187
|
+
1. <repo-1> - [Justificación]
|
|
188
|
+
2. <repo-2> - [Justificación]
|
|
189
|
+
|
|
190
|
+
## Notas para Merge
|
|
191
|
+
|
|
192
|
+
- [Nota importante 1]
|
|
193
|
+
- [Nota importante 2]
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
## 🔍 Checklist Final
|
|
197
|
+
|
|
198
|
+
Antes de solicitar revisión:
|
|
199
|
+
- [ ] Todos los PRs creados
|
|
200
|
+
- [ ] Descripciones completas y claras
|
|
201
|
+
- [ ] PRs vinculados entre sí
|
|
202
|
+
- [ ] Issue actualizada en el task manager
|
|
203
|
+
- [ ] Pruebas pasando en CI/CD
|
|
204
|
+
- [ ] Documentación de la sesión completa
|
|
205
|
+
|
|
206
|
+
## 📢 Comunicación
|
|
207
|
+
|
|
208
|
+
Notifica al equipo sobre los PRs:
|
|
209
|
+
- Menciona revisores relevantes
|
|
210
|
+
- Destaca cambios críticos o breaking changes
|
|
211
|
+
- Indica urgencia si aplica
|
|
212
|
+
|
|
213
|
+
---
|
|
214
|
+
|
|
215
|
+
**Argumentos proporcionados**:
|
|
216
|
+
|
|
217
|
+
```
|
|
218
|
+
#$ARGUMENTS
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
---
|
|
222
|
+
|
|
223
|
+
## 🎯 Próximos Pasos
|
|
224
|
+
|
|
225
|
+
1. Esperar revisión de los PRs
|
|
226
|
+
2. Responder comentarios y hacer ajustes
|
|
227
|
+
3. Tras aprobación, hacer merge en el orden recomendado
|
|
228
|
+
4. Ejecutar `context-cli feature:end <ISSUE-ID>` para limpiar el workspace
|
|
@@ -0,0 +1,359 @@
|
|
|
1
|
+
# Preparación para Pull Request
|
|
2
|
+
|
|
3
|
+
Este comando valida que todo está listo para crear Pull Requests.
|
|
4
|
+
|
|
5
|
+
## 📋 Requisitos Previos
|
|
6
|
+
|
|
7
|
+
- Implementación completa (todas las tareas del `/plan` ejecutadas)
|
|
8
|
+
- Todos los commits realizados
|
|
9
|
+
- Workspace limpio y organizado
|
|
10
|
+
|
|
11
|
+
## 📋 Configuración del Proyecto
|
|
12
|
+
|
|
13
|
+
**⚠️ IMPORTANTE: ¡Siempre lea los archivos de configuración del proyecto ANTES de ejecutar este comando!**
|
|
14
|
+
|
|
15
|
+
### Archivos Obligatorios
|
|
16
|
+
|
|
17
|
+
1. **`context-manifest.json`** (raíz del orquestador)
|
|
18
|
+
- Lista de repositorios del proyecto
|
|
19
|
+
- Roles de cada repositorio (metaspecs, application, etc.)
|
|
20
|
+
- URLs y dependencias entre repositorios
|
|
21
|
+
|
|
22
|
+
2. **`ai.properties.md`** (raíz del orquestador)
|
|
23
|
+
- Configuraciones del proyecto (`project_name`, `base_path`)
|
|
24
|
+
- Sistema de gestión de tareas (`task_management_system`)
|
|
25
|
+
- Credenciales y configuraciones específicas
|
|
26
|
+
|
|
27
|
+
### Cómo Leer
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
# 1. Leer context-manifest.json
|
|
31
|
+
cat context-manifest.json
|
|
32
|
+
|
|
33
|
+
# 2. Leer ai.properties.md
|
|
34
|
+
cat ai.properties.md
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### Información Esencial
|
|
38
|
+
|
|
39
|
+
Después de leer los archivos, tendrás:
|
|
40
|
+
- ✅ Lista completa de repositorios del proyecto
|
|
41
|
+
- ✅ Ubicación del repositorio de metaspecs
|
|
42
|
+
- ✅ Base path para localizar repositorios
|
|
43
|
+
- ✅ Sistema de gestión de tareas configurado
|
|
44
|
+
- ✅ Configuraciones específicas del proyecto
|
|
45
|
+
|
|
46
|
+
**🛑 NO continúe sin leer estos archivos!** ¡Contienen información crítica para la correcta ejecución del comando!
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
## 🎯 Objetivo
|
|
50
|
+
|
|
51
|
+
Garantizar que la implementación está completa, probada y lista para revisión antes de crear los PRs.
|
|
52
|
+
|
|
53
|
+
## 🛑 CRÍTICO: DÓNDE TRABAJAR
|
|
54
|
+
|
|
55
|
+
**⚠️ ATENCIÓN: TODO CÓDIGO (tests, fixes, ajustes) DEBE SER CREADO DENTRO DEL WORKTREE!**
|
|
56
|
+
|
|
57
|
+
**✅ CORRECTO** - Trabajar dentro del worktree:
|
|
58
|
+
```
|
|
59
|
+
<orchestrator>/.sessions/<ISSUE-ID>/<repo-name>/src/file.ts ✅
|
|
60
|
+
<orchestrator>/.sessions/<ISSUE-ID>/<repo-name>/tests/test.ts ✅
|
|
61
|
+
<orchestrator>/.sessions/<ISSUE-ID>/<repo-name>/.eslintrc.js ✅
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
**❌ INCORRECTO** - NUNCA crear código fuera del worktree:
|
|
65
|
+
```
|
|
66
|
+
<orchestrator>/.sessions/test.ts ❌
|
|
67
|
+
<orchestrator>/.sessions/<ISSUE-ID>/test.ts ❌
|
|
68
|
+
{base_path}/<repo-name>/test.ts ❌ (¡repositorio principal!)
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
**REGLA ABSOLUTA**:
|
|
72
|
+
- 🛑 **TODO código** (tests, fixes, configuraciones) **DEBE estar en** `<orchestrator>/.sessions/<ISSUE-ID>/<repo-name>/`
|
|
73
|
+
- 🛑 **NUNCA modifique** el repositorio principal en `{base_path}/<repo-name>/`
|
|
74
|
+
- ✅ **Trabaje SOLO** dentro del worktree del repositorio específico
|
|
75
|
+
|
|
76
|
+
## ✅ Checklist de Validación
|
|
77
|
+
|
|
78
|
+
### 1. Completitud de la Implementación
|
|
79
|
+
|
|
80
|
+
```markdown
|
|
81
|
+
## Verificación de Completitud
|
|
82
|
+
|
|
83
|
+
- [ ] Todas las tareas del plan fueron ejecutadas
|
|
84
|
+
- [ ] Todos los requisitos funcionales del PRD fueron implementados
|
|
85
|
+
- [ ] Todos los criterios de aceptación fueron cumplidos
|
|
86
|
+
- [ ] Ninguna funcionalidad quedó incompleta
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### 2. Calidad del Código
|
|
90
|
+
|
|
91
|
+
Para cada repositorio modificado:
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
cd <repositorio>
|
|
95
|
+
|
|
96
|
+
# Verificar estado
|
|
97
|
+
git status
|
|
98
|
+
|
|
99
|
+
# Verificar linting (ejemplos por stack):
|
|
100
|
+
# Node.js: npm run lint / yarn lint / pnpm lint
|
|
101
|
+
# Python: flake8 . / pylint src/ / black --check .
|
|
102
|
+
# Java: mvn checkstyle:check / gradle check
|
|
103
|
+
# Go: golangci-lint run / go vet ./...
|
|
104
|
+
# Ruby: rubocop
|
|
105
|
+
# Rust: cargo clippy
|
|
106
|
+
# PHP: ./vendor/bin/phpcs
|
|
107
|
+
# C#: dotnet format --verify-no-changes
|
|
108
|
+
|
|
109
|
+
# Verificar formateo (ejemplos por stack):
|
|
110
|
+
# Node.js: npm run format:check / prettier --check .
|
|
111
|
+
# Python: black --check . / autopep8 --diff .
|
|
112
|
+
# Java: mvn formatter:validate
|
|
113
|
+
# Go: gofmt -l . / go fmt ./...
|
|
114
|
+
# Ruby: rubocop --format-only
|
|
115
|
+
# Rust: cargo fmt --check
|
|
116
|
+
|
|
117
|
+
# Verificar build (ejemplos por stack):
|
|
118
|
+
# Node.js: npm run build / yarn build
|
|
119
|
+
# Python: python setup.py build
|
|
120
|
+
# Java: mvn compile / gradle build
|
|
121
|
+
# Go: go build ./...
|
|
122
|
+
# Ruby: rake build
|
|
123
|
+
# Rust: cargo build
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
Checklist:
|
|
127
|
+
```markdown
|
|
128
|
+
## Calidad del Código
|
|
129
|
+
|
|
130
|
+
### <repo-1>
|
|
131
|
+
- [ ] Linting sin errores
|
|
132
|
+
- [ ] Formateo correcto
|
|
133
|
+
- [ ] Build sin errores
|
|
134
|
+
- [ ] Sin warnings críticos
|
|
135
|
+
|
|
136
|
+
### <repo-2>
|
|
137
|
+
- [ ] Linting sin errores
|
|
138
|
+
- [ ] Formateo correcto
|
|
139
|
+
- [ ] Build sin errores
|
|
140
|
+
- [ ] Sin warnings críticos
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
### 3. Tests
|
|
144
|
+
|
|
145
|
+
Para cada repositorio:
|
|
146
|
+
|
|
147
|
+
```bash
|
|
148
|
+
cd <repositorio>
|
|
149
|
+
|
|
150
|
+
# Ejecutar tests unitarios (ejemplos por stack):
|
|
151
|
+
# Node.js: npm run test:unit / jest / vitest
|
|
152
|
+
# Python: pytest tests/unit / python -m unittest
|
|
153
|
+
# Java: mvn test / gradle test
|
|
154
|
+
# Go: go test ./... -short
|
|
155
|
+
# Ruby: rspec spec/unit / rake test:unit
|
|
156
|
+
# Rust: cargo test --lib
|
|
157
|
+
# PHP: ./vendor/bin/phpunit --testsuite=unit
|
|
158
|
+
# C#: dotnet test --filter Category=Unit
|
|
159
|
+
|
|
160
|
+
# Ejecutar tests de integración (ejemplos por stack):
|
|
161
|
+
# Node.js: npm run test:integration
|
|
162
|
+
# Python: pytest tests/integration
|
|
163
|
+
# Java: mvn verify / gradle integrationTest
|
|
164
|
+
# Go: go test ./... -run Integration
|
|
165
|
+
# Ruby: rspec spec/integration
|
|
166
|
+
# Rust: cargo test --test '*'
|
|
167
|
+
# PHP: ./vendor/bin/phpunit --testsuite=integration
|
|
168
|
+
|
|
169
|
+
# Verificar cobertura (ejemplos por stack):
|
|
170
|
+
# Node.js: npm run test:coverage / jest --coverage
|
|
171
|
+
# Python: pytest --cov=src tests/
|
|
172
|
+
# Java: mvn jacoco:report / gradle jacocoTestReport
|
|
173
|
+
# Go: go test -cover ./...
|
|
174
|
+
# Ruby: rspec --coverage
|
|
175
|
+
# Rust: cargo tarpaulin
|
|
176
|
+
# PHP: ./vendor/bin/phpunit --coverage-html coverage/
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
Checklist:
|
|
180
|
+
```markdown
|
|
181
|
+
## Tests
|
|
182
|
+
|
|
183
|
+
### <repo-1>
|
|
184
|
+
- [ ] Todos los tests unitarios pasan
|
|
185
|
+
- [ ] Todos los tests de integración pasan
|
|
186
|
+
- [ ] Cobertura de tests adecuada (>= X%)
|
|
187
|
+
- [ ] Nuevos tests añadidos para nuevas funcionalidades
|
|
188
|
+
|
|
189
|
+
### <repo-2>
|
|
190
|
+
- [ ] Todos los tests unitarios pasan
|
|
191
|
+
- [ ] Todos los tests de integración pasan
|
|
192
|
+
- [ ] Cobertura de tests adecuada (>= X%)
|
|
193
|
+
- [ ] Nuevos tests añadidos para nuevas funcionalidades
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
### 4. Documentación
|
|
197
|
+
|
|
198
|
+
```markdown
|
|
199
|
+
## Documentación
|
|
200
|
+
|
|
201
|
+
- [ ] README actualizado (si es necesario)
|
|
202
|
+
- [ ] Comentarios de código adecuados
|
|
203
|
+
- [ ] Documentación de APIs actualizada (si hubo cambios)
|
|
204
|
+
- [ ] Changelog actualizado
|
|
205
|
+
- [ ] Documentación técnica actualizada en las metaspecs (si aplica)
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
### 5. Commits
|
|
209
|
+
|
|
210
|
+
```markdown
|
|
211
|
+
## Commits
|
|
212
|
+
|
|
213
|
+
- [ ] Todos los commits tienen mensajes claros y descriptivos
|
|
214
|
+
- [ ] Los commits siguen el estándar del proyecto (conventional commits, etc.)
|
|
215
|
+
- [ ] No hay commits con mensajes genéricos ("fix", "update", etc.)
|
|
216
|
+
- [ ] Los commits están organizados lógicamente
|
|
217
|
+
- [ ] No hay commits de debug o temporales
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
### 6. Sincronización
|
|
221
|
+
|
|
222
|
+
```markdown
|
|
223
|
+
## Sincronización
|
|
224
|
+
|
|
225
|
+
- [ ] Las ramas están actualizadas con la rama base (main/develop)
|
|
226
|
+
- [ ] No hay conflictos de merge
|
|
227
|
+
- [ ] Cambios entre repositorios están sincronizados
|
|
228
|
+
- [ ] Dependencias entre repos fueron probadas
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
### 7. Seguridad
|
|
232
|
+
|
|
233
|
+
```markdown
|
|
234
|
+
## Seguridad
|
|
235
|
+
|
|
236
|
+
- [ ] No hay credenciales o secretos en el código
|
|
237
|
+
- [ ] No hay datos sensibles en logs
|
|
238
|
+
- [ ] Dependencias de seguridad fueron verificadas
|
|
239
|
+
- [ ] No se introdujeron vulnerabilidades conocidas
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
### 8. Performance
|
|
243
|
+
|
|
244
|
+
```markdown
|
|
245
|
+
## Performance
|
|
246
|
+
|
|
247
|
+
- [ ] No hay regresiones de performance evidentes
|
|
248
|
+
- [ ] Queries/operaciones costosas fueron optimizadas
|
|
249
|
+
- [ ] No se introdujeron memory leaks
|
|
250
|
+
- [ ] Requisitos de performance del PRD fueron cumplidos
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
## 🔍 Validación Cruzada
|
|
254
|
+
|
|
255
|
+
Si se modificaron múltiples repositorios:
|
|
256
|
+
|
|
257
|
+
```markdown
|
|
258
|
+
## Validación Cruzada
|
|
259
|
+
|
|
260
|
+
- [ ] Probé la integración entre los repositorios localmente
|
|
261
|
+
- [ ] APIs/contratos entre repos están consistentes
|
|
262
|
+
- [ ] No hay breaking changes no documentados
|
|
263
|
+
- [ ] El orden de deploy/merge está claro
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
## 📄 Preparación de la Descripción del PR
|
|
267
|
+
|
|
268
|
+
Cree `./.sessions/<ISSUE-ID>/pr-description.md`:
|
|
269
|
+
|
|
270
|
+
```markdown
|
|
271
|
+
## 🎯 Objetivo
|
|
272
|
+
[Breve descripción de lo que hace esta feature]
|
|
273
|
+
|
|
274
|
+
## 📝 Cambios Principales
|
|
275
|
+
- [Cambio 1]
|
|
276
|
+
- [Cambio 2]
|
|
277
|
+
- [Cambio 3]
|
|
278
|
+
|
|
279
|
+
## 🔗 Links
|
|
280
|
+
- **Issue**: [ISSUE-ID]
|
|
281
|
+
- **PRD**: [link o ruta]
|
|
282
|
+
- **Plan Técnico**: [link o ruta]
|
|
283
|
+
|
|
284
|
+
## ✅ Checklist
|
|
285
|
+
- [x] Código implementado y probado
|
|
286
|
+
- [x] Tests unitarios añadidos/actualizados
|
|
287
|
+
- [x] Tests de integración pasando
|
|
288
|
+
- [x] Documentación actualizada
|
|
289
|
+
- [x] Linting y formateo OK
|
|
290
|
+
- [x] Build sin errores
|
|
291
|
+
|
|
292
|
+
## 🧪 Cómo Probar
|
|
293
|
+
1. [Paso 1]
|
|
294
|
+
2. [Paso 2]
|
|
295
|
+
3. [Resultado esperado]
|
|
296
|
+
|
|
297
|
+
## 🔍 Notas para Revisores
|
|
298
|
+
- [Punto de atención 1]
|
|
299
|
+
- [Punto de atención 2]
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
## 🚨 Problemas Encontrados
|
|
303
|
+
|
|
304
|
+
Si alguna validación falla:
|
|
305
|
+
1. 🛑 **PARE** el proceso de creación de PR
|
|
306
|
+
2. 📝 **DOCUMENTE** el problema
|
|
307
|
+
3. 🔧 **CORRIJA** el problema
|
|
308
|
+
4. 🔄 **EJECUTE** `/pre-pr` nuevamente
|
|
309
|
+
|
|
310
|
+
## 📊 Reporte de Validación
|
|
311
|
+
|
|
312
|
+
Cree `./.sessions/<ISSUE-ID>/pre-pr-report.md`:
|
|
313
|
+
|
|
314
|
+
```markdown
|
|
315
|
+
# Reporte de Validación Pre-PR
|
|
316
|
+
|
|
317
|
+
**Fecha**: [fecha/hora]
|
|
318
|
+
**Issue**: [ISSUE-ID]
|
|
319
|
+
|
|
320
|
+
## Estado General
|
|
321
|
+
✅ Listo para PR / ⚠️ Pendientes / ❌ Bloqueado
|
|
322
|
+
|
|
323
|
+
## Repositorios Validados
|
|
324
|
+
- **<repo-1>**: ✅ OK
|
|
325
|
+
- **<repo-2>**: ✅ OK
|
|
326
|
+
|
|
327
|
+
## Resumen de Tests
|
|
328
|
+
- **Tests Unitarios**: X/X pasando
|
|
329
|
+
- **Tests de Integración**: Y/Y pasando
|
|
330
|
+
- **Cobertura**: Z%
|
|
331
|
+
|
|
332
|
+
## Pendientes (si hay)
|
|
333
|
+
- [Pendiente 1]
|
|
334
|
+
- [Pendiente 2]
|
|
335
|
+
|
|
336
|
+
## Próximos Pasos
|
|
337
|
+
- [x] Todas las validaciones pasaron
|
|
338
|
+
- [ ] Ejecutar `/pr` para crear Pull Requests
|
|
339
|
+
```
|
|
340
|
+
|
|
341
|
+
---
|
|
342
|
+
|
|
343
|
+
**Argumentos proporcionados**:
|
|
344
|
+
|
|
345
|
+
```
|
|
346
|
+
#$ARGUMENTS
|
|
347
|
+
```
|
|
348
|
+
|
|
349
|
+
---
|
|
350
|
+
|
|
351
|
+
## 🎯 Próximo Paso
|
|
352
|
+
|
|
353
|
+
Si todas las validaciones pasaron:
|
|
354
|
+
|
|
355
|
+
```bash
|
|
356
|
+
/pr
|
|
357
|
+
```
|
|
358
|
+
|
|
359
|
+
Este comando creará los Pull Requests para todos los repositorios modificados.
|