refacil-sdd-ai 2.1.2 → 2.1.4

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/bin/cli.js CHANGED
@@ -210,12 +210,28 @@ function checkUpdate() {
210
210
  stdio: ['pipe', 'pipe', 'pipe'],
211
211
  }).trim();
212
212
 
213
- if (latest && latest !== localVersion) {
213
+ if (!latest || latest === localVersion) return;
214
+
215
+ // Auto-upgrade: the hook does it itself, LLM only sees the result
216
+ try {
217
+ execSync('npm update -g refacil-sdd-ai', {
218
+ encoding: 'utf8',
219
+ timeout: 60000,
220
+ stdio: ['pipe', 'pipe', 'pipe'],
221
+ });
222
+ execSync('refacil-sdd-ai update', {
223
+ encoding: 'utf8',
224
+ timeout: 30000,
225
+ stdio: ['pipe', 'pipe', 'pipe'],
226
+ });
214
227
  console.log(
215
- `IMPORTANTE ANTES de responder cualquier pregunta del usuario, informa lo siguiente:\n` +
216
- `"Hay una nueva version de la metodologia SDD-AI: v${localVersion} -> v${latest}. Deseas que la actualice ahora?"\n` +
217
- `Si el usuario acepta, ejecuta: npm update -g refacil-sdd-ai && refacil-sdd-ai update\n` +
218
- `Si el usuario rechaza o quiere continuar, responde su pregunta normalmente.`,
228
+ `[refacil-sdd-ai] La metodologia SDD-AI se actualizo automaticamente de v${localVersion} a v${latest}. Skills y hooks sincronizados.`,
229
+ );
230
+ } catch (_) {
231
+ // Upgrade failed inform so the user can do it manually
232
+ console.log(
233
+ `[refacil-sdd-ai] Hay una nueva version disponible (v${localVersion} -> v${latest}) pero la actualizacion automatica fallo. ` +
234
+ `Informa al usuario que ejecute manualmente: npm update -g refacil-sdd-ai && refacil-sdd-ai update`,
219
235
  );
220
236
  }
221
237
  } catch (_) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "refacil-sdd-ai",
3
- "version": "2.1.2",
3
+ "version": "2.1.4",
4
4
  "description": "SDD-AI: Specification-Driven Development with AI — metodologia de desarrollo con IA usando OpenSpec, Claude Code y Cursor",
5
5
  "bin": {
6
6
  "refacil-sdd-ai": "./bin/cli.js"
@@ -27,15 +27,30 @@ Aplica la **Politica de ramas protegidas y creacion de rama** definida en `refac
27
27
  - Para `refacil:up-code`, el prefijo sugerido de rama es `feature/` (o `fix/` si el cambio es bugfix).
28
28
  - Si el usuario no aprueba la creacion/cambio de rama, detener. No continuar con commit/push.
29
29
 
30
- ### Paso 3: Verificar cambios pendientes
30
+ ### Paso 3: Verificar review (obligatorio)
31
+
32
+ Antes de continuar, verifica si hay cambios activos en `openspec/changes/` (excluir carpeta `archive/`).
33
+
34
+ Si hay cambios activos:
35
+ 1. Para cada carpeta activa, verifica si existe el archivo `.review-passed`
36
+ 2. Si **todas** tienen `.review-passed` → continua al paso 4
37
+ 3. Si **alguna** no tiene `.review-passed`:
38
+ - Informa al usuario: "Se detectaron cambios sin review aprobado: [nombres de carpetas sin review]"
39
+ - Ejecuta `/refacil:review` automaticamente sobre los cambios pendientes
40
+ - Si el review aprueba (crea `.review-passed`) → continua al paso 4
41
+ - Si el review requiere correcciones → detente e informa los hallazgos al usuario
42
+
43
+ Si no hay carpeta `openspec/changes/` o no hay cambios activos → continua al paso 4 (no hay nada que revisar).
44
+
45
+ ### Paso 4: Verificar cambios pendientes
31
46
 
32
47
  Ejecuta `git status` para verificar si hay cambios para subir.
33
48
 
34
49
  - Si no hay cambios pendientes ni commits sin push, informa al usuario y detente.
35
- - Si hay cambios sin commitear, continua al paso 4.
36
- - Si solo hay commits sin push (nada que commitear), salta directo al paso 5.
50
+ - Si hay cambios sin commitear, continua al paso 5.
51
+ - Si solo hay commits sin push (nada que commitear), salta directo al paso 6.
37
52
 
38
- ### Paso 4: Commit de cambios
53
+ ### Paso 5: Commit de cambios
39
54
 
40
55
  1. Ejecuta `git status --short` y muestra al usuario la lista de archivos detectados.
41
56
  2. Pide confirmacion explicita antes de stagear todo.
@@ -45,11 +60,11 @@ Ejecuta `git status` para verificar si hay cambios para subir.
45
60
  6. Si no se proporciono mensaje, genera uno descriptivo basado en los cambios detectados con `git diff --staged --stat`.
46
61
  7. Ejecuta `git commit -m "[mensaje]"`.
47
62
 
48
- ### Paso 5: Push a remoto
63
+ ### Paso 6: Push a remoto
49
64
 
50
65
  Ejecuta `git push -u origin [rama-actual]` para subir los cambios.
51
66
 
52
- ### Paso 6: Confirmar y crear PR
67
+ ### Paso 7: Confirmar y crear PR
53
68
 
54
69
  1. Muestra el resumen del push:
55
70
  ```