refacil-sdd-ai 2.0.3 → 2.0.7
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 +5 -4
- package/bin/cli.js +1 -0
- package/package.json +1 -1
- package/skills/apply/SKILL.md +21 -29
- package/skills/archive/SKILL.md +5 -18
- package/skills/bug/SKILL.md +2 -3
- package/skills/explore/SKILL.md +5 -14
- package/skills/guide/SKILL.md +16 -187
- package/skills/prereqs/OPENSPEC-DELTAS.md +50 -0
- package/skills/prereqs/SKILL.md +40 -0
- package/skills/propose/SKILL.md +7 -20
- package/skills/review/SKILL.md +1 -2
- package/skills/setup/SKILL.md +35 -180
- package/skills/setup/troubleshooting.md +29 -0
- package/skills/test/SKILL.md +2 -8
- package/skills/up-code/SKILL.md +1 -2
- package/skills/verify/SKILL.md +4 -12
- package/templates/claude-md.md +1 -1
- package/templates/cursorrules.md +1 -1
package/README.md
CHANGED
|
@@ -129,10 +129,11 @@ refacil-sdd-ai init → Skills en .claude/ y .cursor/
|
|
|
129
129
|
## Que se instala en tu repo
|
|
130
130
|
|
|
131
131
|
```
|
|
132
|
-
.claude/skills/refacil-*/ #
|
|
133
|
-
.cursor/skills/refacil-*/ #
|
|
134
|
-
|
|
135
|
-
.
|
|
132
|
+
.claude/skills/refacil-*/ # Claude Code (refacil-prereqs incluye OPENSPEC-DELTAS.md)
|
|
133
|
+
.cursor/skills/refacil-*/ # Cursor — copia equivalente
|
|
134
|
+
.../refacil-setup/ # troubleshooting.md si falla install/PATH
|
|
135
|
+
CLAUDE.md # Claude Code — apunta a AGENTS.md
|
|
136
|
+
.cursorrules # Cursor — apunta a AGENTS.md
|
|
136
137
|
AGENTS.md # Generado por /refacil:setup (NO por el CLI)
|
|
137
138
|
openspec/ # Generado por /refacil:setup via OpenSpec
|
|
138
139
|
```
|
package/bin/cli.js
CHANGED
package/package.json
CHANGED
package/skills/apply/SKILL.md
CHANGED
|
@@ -10,40 +10,38 @@ Este comando envuelve la funcionalidad de OpenSpec apply y agrega las convencion
|
|
|
10
10
|
|
|
11
11
|
## Antes de empezar
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
1. **OpenSpec instalado**: Ejecuta `openspec --version 2>&1`. Si el comando falla o no se reconoce, informa al usuario: "OpenSpec no esta instalado. Ejecuta `/refacil:setup` para instalarlo y configurar el repositorio." y **detente**.
|
|
16
|
-
|
|
17
|
-
2. **OpenSpec inicializado**: Verifica que exista la carpeta `openspec/` en la raiz del proyecto. Si no existe, informa al usuario: "OpenSpec no esta inicializado en este repositorio. Ejecuta `/refacil:setup` para configurarlo." y **detente**.
|
|
18
|
-
|
|
19
|
-
3. **AGENTS.md**: Si existe `AGENTS.md` en la raiz del proyecto, leelo para entender las convenciones, arquitectura y patrones. Si NO existe, informa al usuario: "No se encontro AGENTS.md. Ejecuta `/refacil:setup` para generarlo." y **detente**.
|
|
13
|
+
Lee `SKILL.md` en `.claude/skills/refacil-prereqs/` o `.cursor/skills/refacil-prereqs/` (misma skill en Claude Code y Cursor) y aplica el **perfil `openspec`** antes de continuar.
|
|
20
14
|
|
|
21
15
|
## Instrucciones
|
|
22
16
|
|
|
23
17
|
### Paso 0: Verificar que existan artefactos SDD
|
|
24
18
|
|
|
25
|
-
|
|
19
|
+
Por cada carpeta bajo `openspec/changes/` (excluye `archive/` si aplica), comprueba:
|
|
26
20
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
21
|
+
| Artefacto | Requisito |
|
|
22
|
+
|-----------|-----------|
|
|
23
|
+
| `proposal.md` | Obligatorio en la raiz del cambio |
|
|
24
|
+
| `design.md` | Obligatorio en la raiz del cambio |
|
|
25
|
+
| `tasks.md` | Obligatorio en la raiz del cambio |
|
|
26
|
+
| **Especificacion** | **`specs.md` en la raiz** **O** al menos un `.md` bajo `specs/` del cambio (recursivo, ej. `specs/foo/spec.md`) |
|
|
27
|
+
|
|
28
|
+
OpenSpec a veces solo genera el arbol `specs/**/*.md`; eso **cumple** la fila de especificacion. Ver `OPENSPEC-DELTAS.md` (seccion **Specs: archivo unico vs arbol**).
|
|
29
|
+
|
|
30
|
+
- **Si `openspec/changes/` no existe o no hay cambios activos**: informa que ejecute `/refacil:propose` y **detente**.
|
|
33
31
|
|
|
34
|
-
- **Si
|
|
32
|
+
- **Si falta proposal, design o tasks**, o **no hay ni `specs.md` ni ningun `.md` bajo `specs/`**:
|
|
35
33
|
```
|
|
36
34
|
El cambio en openspec/changes/[nombre]/ esta incompleto.
|
|
37
|
-
Faltan: [lista
|
|
35
|
+
Faltan: [lista]
|
|
38
36
|
Ejecuta: /refacil:propose para completar los artefactos antes de implementar.
|
|
39
37
|
```
|
|
40
38
|
**Detente.**
|
|
41
39
|
|
|
42
|
-
- **
|
|
40
|
+
- **Multiples cambios activos**: lista carpetas y pregunta cual implementar.
|
|
43
41
|
|
|
44
|
-
- **
|
|
42
|
+
- **Antes de implementar**: lee **toda** la especificacion relevante — si hay `specs.md` y ademas `specs/**/*.md`, lee **ambos**; si hay contradiccion, pregunta al usuario.
|
|
45
43
|
|
|
46
|
-
**IMPORTANTE**: Este comando NUNCA genera artefactos SDD. Si no existen, el usuario debe usar `/refacil:propose`.
|
|
44
|
+
**IMPORTANTE**: Este comando NUNCA genera artefactos SDD. Si no existen, el usuario debe usar `/refacil:propose`.
|
|
47
45
|
|
|
48
46
|
### Paso 1: Validar rama de trabajo
|
|
49
47
|
|
|
@@ -88,15 +86,9 @@ Ejecuta `git branch --show-current` para obtener la rama actual.
|
|
|
88
86
|
|
|
89
87
|
### Paso 2: Delegar a OpenSpec apply
|
|
90
88
|
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
**Indicaciones adicionales durante la implementacion:**
|
|
96
|
-
- Respetar estrictamente las convenciones de `AGENTS.md`
|
|
97
|
-
- No agregar funcionalidad fuera del alcance de las specs
|
|
98
|
-
- No hacer refactors no solicitados en codigo existente
|
|
99
|
-
- Si una task es ambigua, preguntar antes de implementar
|
|
89
|
+
1. Lee `openspec-apply-change/SKILL.md` en `.claude/skills/` o `.cursor/skills/`.
|
|
90
|
+
2. Lee `OPENSPEC-DELTAS.md` en `refacil-prereqs` (seccion **apply**).
|
|
91
|
+
3. Sigue OpenSpec con argumento **$ARGUMENTS** aplicando esos deltas.
|
|
100
92
|
|
|
101
93
|
### Paso 3: Resumen y siguiente paso (aporte Refacil)
|
|
102
94
|
|
|
@@ -116,7 +108,7 @@ Al terminar la implementacion de OpenSpec, agrega este resumen:
|
|
|
116
108
|
|
|
117
109
|
## Reglas
|
|
118
110
|
|
|
119
|
-
- NUNCA implementar codigo sin
|
|
111
|
+
- NUNCA implementar codigo sin proposal, design, tasks y **especificacion** (`specs.md` y/o `specs/**/*.md` segun la tabla del Paso 0)
|
|
120
112
|
- NUNCA generar artefactos SDD desde este comando — eso es responsabilidad exclusiva de `/refacil:propose`
|
|
121
113
|
- SIEMPRE leer los artefactos completos antes de escribir codigo
|
|
122
114
|
- Si `openspec/changes/` no tiene cambios activos o estan incompletos, informar y redirigir a `/refacil:propose`
|
package/skills/archive/SKILL.md
CHANGED
|
@@ -10,13 +10,7 @@ Este comando envuelve la funcionalidad de OpenSpec archive (que internamente lla
|
|
|
10
10
|
|
|
11
11
|
## Antes de empezar
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
1. **OpenSpec instalado**: Ejecuta `openspec --version 2>&1`. Si el comando falla o no se reconoce, informa al usuario: "OpenSpec no esta instalado. Ejecuta `/refacil:setup` para instalarlo y configurar el repositorio." y **detente**.
|
|
16
|
-
|
|
17
|
-
2. **OpenSpec inicializado**: Verifica que exista la carpeta `openspec/` en la raiz del proyecto. Si no existe, informa al usuario: "OpenSpec no esta inicializado en este repositorio. Ejecuta `/refacil:setup` para configurarlo." y **detente**.
|
|
18
|
-
|
|
19
|
-
3. **AGENTS.md**: Si existe `AGENTS.md` en la raiz del proyecto, leelo para entender las convenciones. Si NO existe, informa al usuario: "No se encontro AGENTS.md. Ejecuta `/refacil:setup` para generarlo." y **detente**.
|
|
13
|
+
Lee `SKILL.md` en `.claude/skills/refacil-prereqs/` o `.cursor/skills/refacil-prereqs/` (misma skill en Claude Code y Cursor) y aplica el **perfil `openspec`** antes de continuar.
|
|
20
14
|
|
|
21
15
|
## Instrucciones
|
|
22
16
|
|
|
@@ -34,16 +28,9 @@ Si alguna verificacion falla, informa al usuario pero permite que decida si cont
|
|
|
34
28
|
|
|
35
29
|
### Paso 2: Delegar a OpenSpec archive
|
|
36
30
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
OpenSpec archive internamente:
|
|
42
|
-
- Verifica el estado de los artefactos
|
|
43
|
-
- Ofrece sincronizar delta specs a `openspec/specs/` (via `openspec-sync-specs`)
|
|
44
|
-
- Mueve la carpeta del cambio a `openspec/changes/archive/` (con prefijo de fecha)
|
|
45
|
-
|
|
46
|
-
**IMPORTANTE**: Cuando OpenSpec pregunte si sincronizar specs, responde **SI**. La sincronizacion de specs es obligatoria en la metodologia Refacil — `openspec/specs/` debe reflejar siempre el estado actual del sistema.
|
|
31
|
+
1. Lee `openspec-archive-change/SKILL.md` en `.claude/skills/` o `.cursor/skills/`.
|
|
32
|
+
2. Lee `OPENSPEC-DELTAS.md` en `refacil-prereqs` (seccion **archive**).
|
|
33
|
+
3. Sigue OpenSpec con argumento **$ARGUMENTS** (sync de specs segun deltas).
|
|
47
34
|
|
|
48
35
|
### Paso 3: Verificar sincronizacion (aporte Refacil)
|
|
49
36
|
|
|
@@ -51,7 +38,7 @@ Despues de que OpenSpec archive, verifica que `openspec/specs/` fue actualizada:
|
|
|
51
38
|
|
|
52
39
|
1. Revisa si hay archivos nuevos o modificados en `openspec/specs/`
|
|
53
40
|
2. Si la sincronizacion no ocurrio (OpenSpec la salto o fallo), ejecuta manualmente la sincronizacion:
|
|
54
|
-
- Lee
|
|
41
|
+
- Lee la especificacion del cambio archivado: `specs.md` si existe **y** todos los `.md` bajo `specs/` de esa carpeta (misma regla que `refacil:apply`)
|
|
55
42
|
- Busca el spec principal relevante en `openspec/specs/`
|
|
56
43
|
- Si existe, integra los cambios (ADDED → agregar, MODIFIED → actualizar, REMOVED → eliminar)
|
|
57
44
|
- Si NO existe, crea un spec principal nuevo con nombre descriptivo
|
package/skills/bug/SKILL.md
CHANGED
|
@@ -10,8 +10,7 @@ Eres un asistente especializado en investigacion y correccion de bugs. Guias al
|
|
|
10
10
|
|
|
11
11
|
## Contexto
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
Si NO existe `AGENTS.md`, informa al usuario: "No se encontro AGENTS.md. Ejecuta /refacil:setup para generarlo." y detente.
|
|
13
|
+
Lee `SKILL.md` en `.claude/skills/refacil-prereqs/` o `.cursor/skills/refacil-prereqs/` (misma skill en Claude Code y Cursor) y aplica el **perfil `agents`** antes de continuar.
|
|
15
14
|
|
|
16
15
|
## Instrucciones
|
|
17
16
|
|
|
@@ -157,7 +156,7 @@ describe('Bug Fix: [descripcion corta]', () => {
|
|
|
157
156
|
|
|
158
157
|
Si el bug es significativo, preguntar al usuario si quiere documentarlo en OpenSpec:
|
|
159
158
|
- Crear carpeta en `openspec/changes/fix-[nombre]/`
|
|
160
|
-
- Generar proposal.md y specs.md
|
|
159
|
+
- Generar `proposal.md`, `design.md`, `tasks.md` y especificacion (`specs.md` y/o `specs/**/*.md`, misma regla que `refacil:propose`)
|
|
161
160
|
|
|
162
161
|
## Reglas
|
|
163
162
|
|
package/skills/explore/SKILL.md
CHANGED
|
@@ -10,21 +10,15 @@ Este comando envuelve la funcionalidad de OpenSpec explore y agrega contexto del
|
|
|
10
10
|
|
|
11
11
|
## Antes de empezar
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
1. **OpenSpec instalado**: Ejecuta `openspec --version 2>&1`. Si el comando falla o no se reconoce, informa al usuario: "OpenSpec no esta instalado. Ejecuta `/refacil:setup` para instalarlo y configurar el repositorio." y **detente**.
|
|
16
|
-
|
|
17
|
-
2. **OpenSpec inicializado**: Verifica que exista la carpeta `openspec/` en la raiz del proyecto. Si no existe, informa al usuario: "OpenSpec no esta inicializado en este repositorio. Ejecuta `/refacil:setup` para configurarlo." y **detente**.
|
|
18
|
-
|
|
19
|
-
3. **AGENTS.md**: Si existe `AGENTS.md` en la raiz del proyecto, leelo para entender las convenciones, arquitectura y patrones del repositorio. Usa esa informacion como contexto durante la exploracion. Si NO existe, informa al usuario: "No se encontro AGENTS.md. Ejecuta `/refacil:setup` para generarlo." y **detente**.
|
|
13
|
+
Lee `SKILL.md` en `.claude/skills/refacil-prereqs/` o `.cursor/skills/refacil-prereqs/` (misma skill en Claude Code y Cursor) y aplica el **perfil `openspec`** antes de continuar (incluye el uso continuo de `AGENTS.md` durante la exploracion, segun ese archivo).
|
|
20
14
|
|
|
21
15
|
## Instrucciones
|
|
22
16
|
|
|
23
17
|
### Paso 1: Delegar a OpenSpec explore
|
|
24
18
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
19
|
+
1. Lee `openspec-explore/SKILL.md` en `.claude/skills/` o `.cursor/skills/`.
|
|
20
|
+
2. Lee `OPENSPEC-DELTAS.md` en `refacil-prereqs` (seccion **explore**).
|
|
21
|
+
3. Sigue OpenSpec con argumento **$ARGUMENTS**.
|
|
28
22
|
|
|
29
23
|
### Paso 2: Enriquecer con contexto de AGENTS.md
|
|
30
24
|
|
|
@@ -40,7 +34,4 @@ Al final del reporte, sugiere:
|
|
|
40
34
|
|
|
41
35
|
## Reglas
|
|
42
36
|
|
|
43
|
-
- NO modifiques ningun archivo
|
|
44
|
-
- NO generes codigo nuevo
|
|
45
|
-
- Solo lectura e investigacion
|
|
46
|
-
- Responde en español con terminos tecnicos en ingles
|
|
37
|
+
- NO modifiques ningun archivo ni generes codigo; solo lectura e investigacion (idioma: ver `OPENSPEC-DELTAS.md`).
|
package/skills/guide/SKILL.md
CHANGED
|
@@ -6,197 +6,26 @@ user-invocable: true
|
|
|
6
6
|
|
|
7
7
|
# refacil:guide — Guia de la Metodologia SDD-AI
|
|
8
8
|
|
|
9
|
-
Eres un guia
|
|
9
|
+
Eres un guia **breve**: eliges el siguiente comando; el detalle de cada flujo esta en el **README de refacil-sdd-ai** (npm / repo del CLI, seccion "Flujos de trabajo") — no lo repitas aqui palabra por palabra.
|
|
10
10
|
|
|
11
11
|
## Instrucciones
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
1. Pregunta que necesita el usuario (o usa su primer mensaje).
|
|
14
|
+
2. Muestra el menu numerado (abajo).
|
|
15
|
+
3. Responde con: **comando** a ejecutar + **orden de pasos en una linea** (ej: `propose` → revisar artefactos → `apply` → `test` → `verify` → `review` → `archive` → `up-code`).
|
|
16
|
+
4. Si pide mas detalle: "Ver README de refacil-sdd-ai (npm o repo del paquete): Flujos de trabajo y Comandos del CLI."
|
|
14
17
|
|
|
15
|
-
|
|
18
|
+
## Menu
|
|
16
19
|
|
|
17
|
-
1.
|
|
18
|
-
2.
|
|
19
|
-
3.
|
|
20
|
-
4.
|
|
21
|
-
5.
|
|
22
|
-
6.
|
|
23
|
-
7.
|
|
20
|
+
1. Feature nuevo → `/refacil:propose` luego flujo estandar hasta `/refacil:up-code`
|
|
21
|
+
2. Bug → `/refacil:bug` → opcional `/refacil:review` → `/refacil:up-code`
|
|
22
|
+
3. Explorar → `/refacil:explore`
|
|
23
|
+
4. Tests → `/refacil:test`
|
|
24
|
+
5. Validar implementacion → `/refacil:verify` (luego `/refacil:review` si aplica)
|
|
25
|
+
6. Subir codigo → `/refacil:up-code`
|
|
26
|
+
7. Configurar repo → `refacil-sdd-ai init` (global + por repo) y `/refacil:setup`
|
|
24
27
|
|
|
25
|
-
##
|
|
28
|
+
## Tips (una linea por herramienta)
|
|
26
29
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
```
|
|
30
|
-
FLUJO PARA NUEVO FEATURE:
|
|
31
|
-
|
|
32
|
-
1. /refacil:propose <descripcion>
|
|
33
|
-
Crea una propuesta completa con: proposal, specs, design y tasks.
|
|
34
|
-
La IA te guia para definir todos los artefactos.
|
|
35
|
-
|
|
36
|
-
2. REVISION DEL DESARROLLADOR (Human-in-the-Loop)
|
|
37
|
-
Revisa los artefactos generados (proposal, specs, design, tasks).
|
|
38
|
-
Confirma que los criterios, el design y las tasks son correctos.
|
|
39
|
-
La IA NO continua hasta que apruebes explicitamente.
|
|
40
|
-
|
|
41
|
-
3. /refacil:apply
|
|
42
|
-
Valida que NO estes en una rama protegida (master, main, develop, dev, testing, qa).
|
|
43
|
-
Si estas en una, te pide el numero de tarea de Jira y crea la rama desde develop.
|
|
44
|
-
Luego implementa las tasks aprobadas siguiendo el plan.
|
|
45
|
-
|
|
46
|
-
4. /refacil:test
|
|
47
|
-
Genera tests unitarios basados en las specs y el design.
|
|
48
|
-
Cada criterio de aceptacion se convierte en al menos 1 test.
|
|
49
|
-
|
|
50
|
-
5. /refacil:verify
|
|
51
|
-
Valida que la implementacion cumple con las specs.
|
|
52
|
-
Revisa completitud, correccion y coherencia.
|
|
53
|
-
|
|
54
|
-
Si encuentra correcciones necesarias (CRITICAL o WARNING):
|
|
55
|
-
- Te muestra el reporte con los issues encontrados
|
|
56
|
-
- Te pregunta si quieres que aplique las correcciones automaticamente
|
|
57
|
-
- Si aceptas: aplica SOLO los fixes necesarios y re-verifica
|
|
58
|
-
- Maximo 2 rondas de correccion automatica
|
|
59
|
-
- Si despues de 2 rondas quedan issues, los lista para correccion manual
|
|
60
|
-
- Si no aceptas: lista los issues para que los corrijas manualmente
|
|
61
|
-
y luego ejecutes /refacil:verify de nuevo
|
|
62
|
-
|
|
63
|
-
Solo avanza a review cuando la verificacion pasa completamente.
|
|
64
|
-
|
|
65
|
-
6. /refacil:review
|
|
66
|
-
Review con el checklist de calidad del equipo.
|
|
67
|
-
Evalua conformidad con specs, codigo, arquitectura, testing,
|
|
68
|
-
seguridad, performance y reglas especificas del proyecto.
|
|
69
|
-
|
|
70
|
-
7. /refacil:archive
|
|
71
|
-
Archiva el cambio completado. Mueve artefactos a archive/.
|
|
72
|
-
|
|
73
|
-
8. /refacil:up-code
|
|
74
|
-
Sube los cambios a tu rama de desarrollo.
|
|
75
|
-
Valida que NO estes en ramas protegidas (master, main, develop, dev, testing, qa).
|
|
76
|
-
Si necesita crear rama, te pide el numero de tarea de Jira.
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
### Opcion 2: Bug fix
|
|
80
|
-
|
|
81
|
-
```
|
|
82
|
-
FLUJO PARA BUG FIX:
|
|
83
|
-
|
|
84
|
-
1. /refacil:bug <descripcion del error>
|
|
85
|
-
Flujo guiado completo:
|
|
86
|
-
- Describes el bug (que pasa, que deberia pasar)
|
|
87
|
-
- La IA investiga la causa raiz en el codebase
|
|
88
|
-
- Te presenta hipotesis para confirmar
|
|
89
|
-
- Propone la correccion y espera tu aprobacion
|
|
90
|
-
- Valida rama: si estas en rama protegida, te pide el numero
|
|
91
|
-
de tarea de Jira y crea la rama desde develop
|
|
92
|
-
- Implementa el fix y genera tests de regresion
|
|
93
|
-
- Ejecuta los tests para verificar
|
|
94
|
-
|
|
95
|
-
2. /refacil:review (opcional)
|
|
96
|
-
Review con checklist si el fix es complejo.
|
|
97
|
-
|
|
98
|
-
3. /refacil:up-code
|
|
99
|
-
Sube los cambios a tu rama de desarrollo.
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
### Opcion 3: Explorar
|
|
103
|
-
|
|
104
|
-
```
|
|
105
|
-
FLUJO PARA EXPLORACION:
|
|
106
|
-
|
|
107
|
-
1. /refacil:explore <que quieres entender>
|
|
108
|
-
Investiga el codebase sin hacer cambios.
|
|
109
|
-
Analiza arquitectura, flujos, dependencias.
|
|
110
|
-
Genera un reporte con hallazgos.
|
|
111
|
-
Util antes de proponer un cambio grande.
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
### Opcion 4: Tests
|
|
115
|
-
|
|
116
|
-
```
|
|
117
|
-
FLUJO PARA GENERAR TESTS:
|
|
118
|
-
|
|
119
|
-
1. /refacil:test
|
|
120
|
-
Si hay un cambio activo en openspec/changes/, genera tests
|
|
121
|
-
basados en los artefactos (specs, design, tasks).
|
|
122
|
-
|
|
123
|
-
Si no hay cambio activo, puedes pasar un archivo o directorio:
|
|
124
|
-
/refacil:test src/mi-servicio.ts
|
|
125
|
-
Genera tests para ese archivo especifico.
|
|
126
|
-
```
|
|
127
|
-
|
|
128
|
-
### Opcion 5: Review
|
|
129
|
-
|
|
130
|
-
```
|
|
131
|
-
FLUJO PARA REVIEW:
|
|
132
|
-
|
|
133
|
-
1. /refacil:review
|
|
134
|
-
Evalua la implementacion contra el checklist del equipo:
|
|
135
|
-
- Conformidad con specs
|
|
136
|
-
- Calidad de codigo y patrones
|
|
137
|
-
- Arquitectura (segun convenciones de AGENTS.md)
|
|
138
|
-
- Testing (coverage >= 80%)
|
|
139
|
-
- Seguridad (OWASP top 10)
|
|
140
|
-
- Performance (N+1, async, indices)
|
|
141
|
-
- Reglas especificas del proyecto (de AGENTS.md)
|
|
142
|
-
|
|
143
|
-
Genera un reporte PASS/FAIL/N/A por cada item.
|
|
144
|
-
```
|
|
145
|
-
|
|
146
|
-
### Opcion 6: Subir codigo
|
|
147
|
-
|
|
148
|
-
```
|
|
149
|
-
FLUJO PARA SUBIR CODIGO:
|
|
150
|
-
|
|
151
|
-
1. /refacil:up-code
|
|
152
|
-
Sube tus cambios al repositorio remoto de forma segura:
|
|
153
|
-
- Detecta la rama actual
|
|
154
|
-
- Valida que NO sea una rama protegida (master, main, develop, dev, testing, qa)
|
|
155
|
-
- Si estas en rama protegida, te pide el numero de tarea de Jira
|
|
156
|
-
y crea la rama desde develop
|
|
157
|
-
- Ejecuta git add, commit y push
|
|
158
|
-
|
|
159
|
-
Opcionalmente puedes pasar el mensaje del commit:
|
|
160
|
-
/refacil:up-code "mensaje del commit"
|
|
161
|
-
|
|
162
|
-
Usa este comando despues de /refacil:archive o en cualquier momento
|
|
163
|
-
que quieras subir tu trabajo a tu rama de desarrollo.
|
|
164
|
-
```
|
|
165
|
-
|
|
166
|
-
### Opcion 7: Setup
|
|
167
|
-
|
|
168
|
-
```
|
|
169
|
-
CONFIGURACION:
|
|
170
|
-
|
|
171
|
-
Pre-requisito (una sola vez, instalacion global):
|
|
172
|
-
npm install -g refacil-sdd-ai
|
|
173
|
-
|
|
174
|
-
En cada repo nuevo:
|
|
175
|
-
refacil-sdd-ai init
|
|
176
|
-
(reiniciar sesion de Claude Code o Cursor)
|
|
177
|
-
|
|
178
|
-
1. /refacil:setup
|
|
179
|
-
Verifica e instala todo lo necesario:
|
|
180
|
-
- Node.js >= 20.19.0
|
|
181
|
-
- OpenSpec (si no esta instalado, lo instala globalmente)
|
|
182
|
-
- Inicializacion del repo
|
|
183
|
-
- Configuracion de convenciones
|
|
184
|
-
- Verificacion de AGENTS.md y skills
|
|
185
|
-
|
|
186
|
-
Actualizar a nueva version:
|
|
187
|
-
npm update -g refacil-sdd-ai
|
|
188
|
-
refacil-sdd-ai update (en cada repo)
|
|
189
|
-
```
|
|
190
|
-
|
|
191
|
-
## Tips
|
|
192
|
-
|
|
193
|
-
Despues de explicar el flujo, ofrece estos tips segun la herramienta:
|
|
194
|
-
|
|
195
|
-
**Claude Code:**
|
|
196
|
-
- Los comandos se ejecutan escribiendo `/refacil:comando` en el chat
|
|
197
|
-
- Usa `/plan` antes de implementar para ver el plan sin escribir codigo
|
|
198
|
-
|
|
199
|
-
**Cursor:**
|
|
200
|
-
- Los comandos se ejecutan en Composer (Ctrl+I / Cmd+I) escribiendo `/refacil:comando`
|
|
201
|
-
- Usa @ para agregar archivos de contexto adicionales
|
|
202
|
-
- Activa "Codebase" en Composer para contexto completo del repo
|
|
30
|
+
- **Claude Code:** comandos `/refacil:*` en el chat.
|
|
31
|
+
- **Cursor:** comandos `/refacil:*` en Composer; `@` para archivos de contexto.
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# Deltas Refacil sobre OpenSpec
|
|
2
|
+
|
|
3
|
+
Lee este archivo **ademas** de la skill `openspec-*` que indique el comando `refacil:*`. No sustituye a OpenSpec; solo fija convenciones del equipo.
|
|
4
|
+
|
|
5
|
+
**Ubicacion en el repo:** mismo directorio que `SKILL.md` de `refacil-prereqs` (`.claude/skills/refacil-prereqs/` o `.cursor/skills/refacil-prereqs/`).
|
|
6
|
+
|
|
7
|
+
## Idioma (todas las delegaciones)
|
|
8
|
+
|
|
9
|
+
- Respuestas al usuario y artefactos bajo `openspec/`: **español**; terminos tecnicos (API, REST, nombres de tipos, etc.) en **ingles**.
|
|
10
|
+
|
|
11
|
+
## propose — `openspec-ff-change`
|
|
12
|
+
|
|
13
|
+
- Criterios de aceptacion: formato **Dado / Cuando / Entonces**.
|
|
14
|
+
- Incluir **criterios de rechazo** (edge cases) en specs.
|
|
15
|
+
- Tasks con estimacion de esfuerzo **S / M / L**.
|
|
16
|
+
- Design alineado a **patrones existentes** del repo (desde `AGENTS.md` o exploracion acotada).
|
|
17
|
+
|
|
18
|
+
### Specs: archivo unico vs arbol `specs/` (compatibilidad Refacil)
|
|
19
|
+
|
|
20
|
+
OpenSpec puede indicar `specs/**/*.md` y crear **un archivo por capability** (ej. `specs/product-amount-percentile/spec.md`). Los comandos **refacil:*** deben soportar **ambas** formas:
|
|
21
|
+
|
|
22
|
+
| Forma | Validacion |
|
|
23
|
+
|-------|------------|
|
|
24
|
+
| **A** | `specs.md` en la raiz del cambio (`openspec/changes/<id>/specs.md`) |
|
|
25
|
+
| **B** | Sin `specs.md`, pero existe al menos un `.md` bajo `openspec/changes/<id>/specs/` (recursivo) |
|
|
26
|
+
|
|
27
|
+
- **Si OpenSpec solo genera B:** no es error. **No hace falta** duplicar obligatoriamente en `specs.md` salvo que el equipo quiera un indice unico para humanos.
|
|
28
|
+
- **Si coexisten A y B:** lee **ambos**; si hay contradiccion clara entre `specs.md` y los fragmentos, **pregunta al usuario** cual manda antes de `apply`.
|
|
29
|
+
- Al cerrar **propose**, en el resumen de revision lista **todas** las rutas de spec (archivo raiz y/o cada `specs/**.md`).
|
|
30
|
+
|
|
31
|
+
## apply — `openspec-apply-change`
|
|
32
|
+
|
|
33
|
+
- Respetar **estrictamente** `AGENTS.md`.
|
|
34
|
+
- No agregar funcionalidad fuera del alcance de las specs aprobadas.
|
|
35
|
+
- No refactorizar codigo no relacionado con el cambio.
|
|
36
|
+
- Si una task es ambigua, **preguntar** antes de implementar.
|
|
37
|
+
- **Especificacion**: aplica la tabla del Paso 0 de `refacil:apply` (`specs.md` y/o `specs/**/*.md`); no asumas que solo existe `specs.md` en la raiz.
|
|
38
|
+
|
|
39
|
+
## archive — `openspec-archive-change`
|
|
40
|
+
|
|
41
|
+
- Si OpenSpec pregunta si sincronizar specs delta a `openspec/specs/`: responder **SI**. La sincronizacion es **obligatoria** en esta metodologia.
|
|
42
|
+
|
|
43
|
+
## explore — `openspec-explore`
|
|
44
|
+
|
|
45
|
+
- Solo lectura; no modificar archivos ni generar codigo.
|
|
46
|
+
- Enriquecer el informe con puntos de `AGENTS.md` relevantes al tema explorado (ya indicado en la skill `refacil:explore`).
|
|
47
|
+
|
|
48
|
+
## verify — `openspec-verify-change`
|
|
49
|
+
|
|
50
|
+
- Sin reglas extra sobre OpenSpec: aplica solo el bloque **Idioma** de arriba a informes y mensajes al usuario.
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: refacil:prereqs
|
|
3
|
+
description: Referencia interna — prerequisitos SDD-AI compartidos por el resto de skills refacil (no invocar manualmente)
|
|
4
|
+
user-invocable: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Prerequisitos SDD-AI (centralizado)
|
|
8
|
+
|
|
9
|
+
La metodologia SDD-AI es **la misma** en **Claude Code** y **Cursor**: `refacil-sdd-ai init` instala copias equivalentes bajo `.claude/skills/refacil-*` y `.cursor/skills/refacil-*`. Usa la ruta del directorio que corresponda al IDE que tengas abierto.
|
|
10
|
+
|
|
11
|
+
Las demas skills `refacil:*` remiten aqui para no duplicar instrucciones. **Lee esta skill cuando otra skill indique un perfil** y ejecuta los pasos en orden; si uno falla, **detente** y muestra al usuario el mensaje indicado.
|
|
12
|
+
|
|
13
|
+
## Perfil `openspec` (OpenSpec + repo + AGENTS.md)
|
|
14
|
+
|
|
15
|
+
Usar cuando la skill diga: *Aplica el perfil `openspec`.*
|
|
16
|
+
|
|
17
|
+
1. **OpenSpec instalado**: Ejecuta `openspec --version 2>&1`. Si el comando falla o no se reconoce, informa al usuario: "OpenSpec no esta instalado. Ejecuta `/refacil:setup` para instalarlo y configurar el repositorio." y **detente**.
|
|
18
|
+
|
|
19
|
+
2. **OpenSpec inicializado**: Verifica que exista la carpeta `openspec/` en la raiz del proyecto. Si no existe, informa al usuario: "OpenSpec no esta inicializado en este repositorio. Ejecuta `/refacil:setup` para configurarlo." y **detente**.
|
|
20
|
+
|
|
21
|
+
3. **AGENTS.md**: Si existe `AGENTS.md` en la raiz del proyecto, leelo para entender convenciones, arquitectura y patrones. Si NO existe, informa al usuario: "No se encontro AGENTS.md. Ejecuta `/refacil:setup` para generarlo." y **detente**.
|
|
22
|
+
|
|
23
|
+
- Si la skill activa es **`refacil:explore`**, usa lo leido en `AGENTS.md` como **contexto activo** durante toda la exploracion (no solo al inicio).
|
|
24
|
+
|
|
25
|
+
## Perfil `agents` (solo AGENTS.md)
|
|
26
|
+
|
|
27
|
+
Usar cuando la skill diga: *Aplica el perfil `agents`.*
|
|
28
|
+
|
|
29
|
+
Si existe `AGENTS.md` en la raiz del proyecto, leelo para entender convenciones, arquitectura y patrones. Si NO existe, informa al usuario: "No se encontro AGENTS.md. Ejecuta `/refacil:setup` para generarlo." y **detente**.
|
|
30
|
+
|
|
31
|
+
## Ubicacion de este archivo
|
|
32
|
+
|
|
33
|
+
En el repo del proyecto (elige segun herramienta):
|
|
34
|
+
|
|
35
|
+
- Claude Code: `.claude/skills/refacil-prereqs/SKILL.md`
|
|
36
|
+
- Cursor: `.cursor/skills/refacil-prereqs/SKILL.md`
|
|
37
|
+
|
|
38
|
+
En la **misma carpeta** esta `OPENSPEC-DELTAS.md`: convenciones Refacil al delegar en skills `openspec-*` (leer junto a la skill OpenSpec indicada).
|
|
39
|
+
|
|
40
|
+
Si ninguna existe, ejecuta `refacil-sdd-ai update` (o `init`).
|
package/skills/propose/SKILL.md
CHANGED
|
@@ -10,13 +10,7 @@ Este comando envuelve la funcionalidad de OpenSpec fast-forward (ff) y agrega la
|
|
|
10
10
|
|
|
11
11
|
## Antes de empezar
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
1. **OpenSpec instalado**: Ejecuta `openspec --version 2>&1`. Si el comando falla o no se reconoce, informa al usuario: "OpenSpec no esta instalado. Ejecuta `/refacil:setup` para instalarlo y configurar el repositorio." y **detente**.
|
|
16
|
-
|
|
17
|
-
2. **OpenSpec inicializado**: Verifica que exista la carpeta `openspec/` en la raiz del proyecto. Si no existe, informa al usuario: "OpenSpec no esta inicializado en este repositorio. Ejecuta `/refacil:setup` para configurarlo." y **detente**.
|
|
18
|
-
|
|
19
|
-
3. **AGENTS.md**: Si existe `AGENTS.md` en la raiz del proyecto, leelo para entender las convenciones, arquitectura y patrones. Si NO existe, informa al usuario: "No se encontro AGENTS.md. Ejecuta `/refacil:setup` para generarlo." y **detente**.
|
|
13
|
+
Lee `SKILL.md` en `.claude/skills/refacil-prereqs/` o `.cursor/skills/refacil-prereqs/` (misma skill en Claude Code y Cursor) y aplica el **perfil `openspec`** antes de continuar.
|
|
20
14
|
|
|
21
15
|
## Instrucciones
|
|
22
16
|
|
|
@@ -31,16 +25,9 @@ Si $ARGUMENTS ya es claro, no preguntes de nuevo.
|
|
|
31
25
|
|
|
32
26
|
### Paso 2: Delegar a OpenSpec ff (fast-forward)
|
|
33
27
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
**Indicaciones adicionales para la generacion de artefactos:**
|
|
39
|
-
- Los artefactos deben generarse en **español con terminos tecnicos en ingles**
|
|
40
|
-
- Los criterios de aceptacion deben usar formato **Dado/Cuando/Entonces**
|
|
41
|
-
- Incluir siempre **criterios de rechazo** (edge cases) en las specs
|
|
42
|
-
- Las tasks deben incluir **estimacion de esfuerzo** (S/M/L)
|
|
43
|
-
- El design debe referenciar **patrones existentes** del repo (encontrados en AGENTS.md o explorando el codebase)
|
|
28
|
+
1. Lee `openspec-ff-change/SKILL.md` en `.claude/skills/` o `.cursor/skills/`.
|
|
29
|
+
2. Lee `OPENSPEC-DELTAS.md` en la carpeta `refacil-prereqs` (misma ruta dual que en prereqs).
|
|
30
|
+
3. Ejecuta la skill OpenSpec siguiendo sus instrucciones y aplicando los deltas Refacil para generar los artefactos (proposal, specs, design, tasks) en una sola pasada.
|
|
44
31
|
|
|
45
32
|
### Paso 3: Revision del desarrollador (Human-in-the-Loop)
|
|
46
33
|
|
|
@@ -49,7 +36,7 @@ Lee esa skill y sigue sus instrucciones para generar todos los artefactos (propo
|
|
|
49
36
|
Despues de que OpenSpec genere los artefactos, presenta al usuario un resumen claro para su revision:
|
|
50
37
|
|
|
51
38
|
1. **Proposal**: Objetivo, alcance y justificacion del cambio
|
|
52
|
-
2. **Specs**: Criterios de aceptacion y rechazo —
|
|
39
|
+
2. **Specs**: Criterios de aceptacion y rechazo — listar **rutas reales**: `specs.md` y/o cada `specs/**/spec.md` (OpenSpec puede usar solo el arbol `specs/`)
|
|
53
40
|
3. **Design**: Archivos a crear/modificar y patrones a usar — verificar que se alineen con la arquitectura
|
|
54
41
|
4. **Tasks**: Lista de tareas con estimacion — verificar que el desglose sea correcto y completo
|
|
55
42
|
|
|
@@ -59,7 +46,7 @@ Pregunta explicitamente:
|
|
|
59
46
|
=== Revision requerida ===
|
|
60
47
|
Los artefactos estan listos para tu revision:
|
|
61
48
|
- openspec/changes/[nombre]/proposal.md
|
|
62
|
-
- openspec/changes/[nombre]/specs.md
|
|
49
|
+
- Especificacion: openspec/changes/[nombre]/specs.md y/o openspec/changes/[nombre]/specs/**/*.md (listar archivos)
|
|
63
50
|
- openspec/changes/[nombre]/design.md
|
|
64
51
|
- openspec/changes/[nombre]/tasks.md
|
|
65
52
|
|
|
@@ -82,7 +69,7 @@ Siguiente paso: ejecuta /refacil:apply para implementar las tasks.
|
|
|
82
69
|
|
|
83
70
|
## Reglas
|
|
84
71
|
|
|
85
|
-
- **NUNCA escribir, modificar o generar codigo fuente** en esta fase — solo artefactos SDD
|
|
72
|
+
- **NUNCA escribir, modificar o generar codigo fuente** en esta fase — solo artefactos SDD: `proposal.md`, `design.md`, `tasks.md`, y especificacion en `specs.md` y/o `specs/**/*.md` (convencion OpenSpec)
|
|
86
73
|
- Aunque el usuario pase una descripcion completa y detallada en $ARGUMENTS, la salida es EXCLUSIVAMENTE artefactos de planificacion
|
|
87
74
|
- Si el usuario pide que tambien implemente, responder: "La implementacion se hace con `/refacil:apply` despues de aprobar los artefactos."
|
|
88
75
|
- Siempre explorar el codebase ANTES de generar artefactos (para que el design sea realista)
|
package/skills/review/SKILL.md
CHANGED
|
@@ -10,8 +10,7 @@ Eres un reviewer exigente pero constructivo que evalua el codigo contra el check
|
|
|
10
10
|
|
|
11
11
|
## Contexto
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
Si NO existe `AGENTS.md`, informa al usuario: "No se encontro AGENTS.md. Ejecuta /refacil:setup para generarlo." y detente.
|
|
13
|
+
Lee `SKILL.md` en `.claude/skills/refacil-prereqs/` o `.cursor/skills/refacil-prereqs/` (misma skill en Claude Code y Cursor) y aplica el **perfil `agents`** antes de continuar.
|
|
15
14
|
Lee el archivo [checklist.md](checklist.md) para conocer los criterios de evaluacion.
|
|
16
15
|
|
|
17
16
|
## Instrucciones
|
package/skills/setup/SKILL.md
CHANGED
|
@@ -6,220 +6,75 @@ user-invocable: true
|
|
|
6
6
|
|
|
7
7
|
# refacil:setup — Configuracion del Repositorio
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Guia al desarrollador **paso a paso**. Tras cada paso, informa resultado; si falla, **detente** y da el error. Fallos de instalacion o PATH: ver [troubleshooting.md](troubleshooting.md) en esta skill (`refacil-setup`).
|
|
10
10
|
|
|
11
|
-
## Proceso
|
|
11
|
+
## Proceso
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
### Paso 1: Node.js
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
`node --version` >= 20.19.0. Si no: indicar requisito y detener.
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
### Paso 2: OpenSpec
|
|
18
18
|
|
|
19
|
-
|
|
20
|
-
- Si la version es < 20.19.0: informa que OpenSpec requiere Node.js >= 20.19.0. Pide que actualice Node.js y detente.
|
|
21
|
-
- Si no esta instalado: informa que necesita instalar Node.js >= 20.19.0 y detente.
|
|
19
|
+
`openspec --version 2>&1`. Si falla: ofrecer `npm install -g @fission-ai/openspec@latest`, re-verificar. Si sigue fallando: **troubleshooting.md**.
|
|
22
20
|
|
|
23
|
-
### Paso
|
|
24
|
-
|
|
25
|
-
Ejecuta `openspec --version 2>&1`.
|
|
26
|
-
|
|
27
|
-
- Si esta instalado: "OpenSpec [version] OK"
|
|
28
|
-
- Si no esta instalado o el comando falla, pregunta al usuario si desea instalarlo. Si acepta:
|
|
29
|
-
```bash
|
|
30
|
-
npm install -g @fission-ai/openspec@latest
|
|
31
|
-
```
|
|
32
|
-
Despues de instalar, ejecuta `openspec --version` de nuevo para verificar. Si falla, sugiere:
|
|
33
|
-
- Verificar permisos (puede necesitar `sudo` en Linux/Mac)
|
|
34
|
-
- Verificar que npm global bin esta en el PATH
|
|
35
|
-
|
|
36
|
-
### Paso 3: Configurar perfil OpenSpec con todos los workflows
|
|
37
|
-
|
|
38
|
-
Antes de inicializar, configura el perfil global para garantizar que se instalen TODOS los workflows requeridos:
|
|
21
|
+
### Paso 3: Perfil OpenSpec
|
|
39
22
|
|
|
40
23
|
```bash
|
|
41
24
|
openspec config set profile custom
|
|
42
25
|
openspec config set workflows "explore,new,continue,apply,ff,sync,archive,bulk-archive,verify,onboard"
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
Verifica que la configuracion quedo correcta:
|
|
46
|
-
```bash
|
|
47
26
|
openspec config list
|
|
48
27
|
```
|
|
49
28
|
|
|
50
|
-
Debe
|
|
51
|
-
|
|
52
|
-
### Paso 4: Inicializar OpenSpec en el repo
|
|
53
|
-
- ejecuta:
|
|
54
|
-
```bash
|
|
55
|
-
openspec init --tools claude,cursor
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
**IMPORTANTE**: `openspec init` tambien instala sus propios comandos (`opsx:*`) en `.claude/` y `.cursor/`. Esto es normal y esperado. Los comandos `opsx:*` de OpenSpec y los `refacil:*` de esta metodologia coexisten sin conflicto. Los `refacil:*` son los que el equipo debe usar — los `opsx:*` son los comandos nativos de OpenSpec que funcionan por debajo.
|
|
59
|
-
|
|
60
|
-
### Paso 5: Configurar OpenSpec
|
|
61
|
-
|
|
62
|
-
Verifica si existe `openspec/config.yaml`.
|
|
29
|
+
Debe verse `profile: custom` y los 10 workflows.
|
|
63
30
|
|
|
64
|
-
|
|
31
|
+
### Paso 4: Init en el repo
|
|
65
32
|
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
language: spanish
|
|
69
|
-
# Los terminos tecnicos (API, REST, gRPC, etc.) permanecen en ingles.
|
|
70
|
-
# Las descripciones, propuestas y specs se generan en espanol.
|
|
33
|
+
```bash
|
|
34
|
+
openspec init --tools claude,cursor
|
|
71
35
|
```
|
|
72
36
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
### Paso 6: Generar AGENTS.md
|
|
76
|
-
|
|
77
|
-
**Este es el paso mas importante.** Analiza el repositorio automaticamente para generar un `AGENTS.md` personalizado.
|
|
78
|
-
|
|
79
|
-
Verifica si ya existe `AGENTS.md` en la raiz. Si existe, pregunta al usuario si quiere regenerarlo. Si no quiere, salta este paso.
|
|
80
|
-
|
|
81
|
-
#### 6.1 Analizar el repositorio
|
|
82
|
-
|
|
83
|
-
Lee estos archivos si existen (no falles si alguno no existe, simplemente omitelo):
|
|
84
|
-
- `package.json` — nombre, scripts, dependencias (tech stack)
|
|
85
|
-
- `tsconfig.json` o `tsconfig.base.json` — paths aliases, target
|
|
86
|
-
- `nest-cli.json` — estructura monorepo NestJS (si aplica)
|
|
87
|
-
- `angular.json` — estructura Angular (si aplica)
|
|
88
|
-
- `README.md` — descripcion del proyecto
|
|
89
|
-
- `.eslintrc.*` o `eslint.config.*` — reglas de linting
|
|
90
|
-
- Seccion jest en package.json o `jest.config.*` — configuracion de tests
|
|
91
|
-
- Estructura de carpetas del primer nivel (ejecuta `ls` en la raiz)
|
|
92
|
-
- `Dockerfile` o `docker-compose.yml` — info de deployment
|
|
93
|
-
- `.env.example` — variables de entorno
|
|
94
|
-
|
|
95
|
-
#### 6.2 Generar el AGENTS.md
|
|
96
|
-
|
|
97
|
-
Con la informacion recopilada, genera un archivo `AGENTS.md` completo. El contenido debe ser en espanol con terminos tecnicos en ingles.
|
|
98
|
-
|
|
99
|
-
Secciones obligatorias:
|
|
100
|
-
|
|
101
|
-
1. **Encabezado**: Nombre del proyecto, descripcion breve y proposito. Incluir nota de compatibilidad con el estandar agents.md.
|
|
37
|
+
`openspec init` instala `opsx:*` en `.claude/` y `.cursor/`; convive con `refacil:*` — el equipo usa **refacil:*** como interfaz principal.
|
|
102
38
|
|
|
103
|
-
|
|
39
|
+
### Paso 5: `openspec/config.yaml`
|
|
104
40
|
|
|
105
|
-
|
|
41
|
+
Si no existe, crear con `language: spanish` (y comentario de terminos tecnicos en ingles). Si existe, asegurar `language: spanish`.
|
|
106
42
|
|
|
107
|
-
|
|
43
|
+
### Paso 6: Generar `AGENTS.md`
|
|
108
44
|
|
|
109
|
-
|
|
45
|
+
Analiza el repo y genera `AGENTS.md` (espanol, terminos tecnicos en ingles). Si ya existe `AGENTS.md`, pregunta si regenerar.
|
|
110
46
|
|
|
111
|
-
6. **
|
|
47
|
+
**6.1 Analisis** — Lee si existen: `package.json`, `tsconfig*.json`, `nest-cli.json`, `angular.json`, `README.md`, eslint, jest, `ls` raiz, Docker, `.env.example`.
|
|
112
48
|
|
|
113
|
-
|
|
49
|
+
**6.2 Estructura obligatoria del archivo**
|
|
114
50
|
|
|
115
|
-
|
|
51
|
+
1. **Resumen para IA (primero, obligatorio)** — Lo que un asistente necesita en **como mucho ~120 lineas** (una pantalla):
|
|
52
|
+
- Titulo + descripcion breve (2-4 lineas)
|
|
53
|
+
- Tabla mini: lenguaje, framework, tests, package manager
|
|
54
|
+
- Scripts esenciales (build, test, lint) con una linea de proposito cada uno
|
|
55
|
+
- **Reglas criticas condensadas**: Siempre / Nunca / Preguntar (hasta ~5 bullets por bloque si aplica)
|
|
56
|
+
- Tabla **comandos refacil:*** (nombre + una frase; no copiar el README entero)
|
|
57
|
+
- Linea fija: *Detalle ampliado debajo. Si hay anexos en `docs/agents-*.md`, leerlos solo cuando trabajes en esa area.*
|
|
116
58
|
|
|
117
|
-
|
|
118
|
-
- "Siempre hacer": convenciones obligatorias del proyecto
|
|
119
|
-
- "Nunca hacer": anti-patrones especificos para el stack
|
|
120
|
-
- "Preguntar primero": cambios de alto impacto que requieren confirmacion
|
|
59
|
+
2. **Detalle del proyecto** — Arquitectura, stack ampliado, alias, BD, testing extendido, comandos de desarrollo completos, reglas ampliadas.
|
|
121
60
|
|
|
122
|
-
|
|
61
|
+
3. **Anexos (opcional)** — Si el detalle seria muy largo (>~250 lineas en una sola seccion), crear `docs/agents-architecture.md`, `docs/agents-testing.md`, etc., y en `AGENTS.md` dejar solo enlaces + cuando leer cada uno.
|
|
123
62
|
|
|
124
|
-
|
|
63
|
+
**6.3 Fallback** — Si el analisis falla, `AGENTS.md` minimo con: resumen corto + tabla refacil + TODOs + linea que invite a re-ejecutar setup; misma idea de resumen primero.
|
|
125
64
|
|
|
126
|
-
|
|
127
|
-
# [nombre del proyecto]
|
|
128
|
-
|
|
129
|
-
> Generado por /refacil:setup — completar manualmente las secciones marcadas con TODO.
|
|
130
|
-
|
|
131
|
-
## Metodologia SDD-AI
|
|
132
|
-
|
|
133
|
-
| Comando | Descripcion |
|
|
134
|
-
|---------|-------------|
|
|
135
|
-
| `/refacil:setup` | Instalar OpenSpec y generar AGENTS.md |
|
|
136
|
-
| `/refacil:guide` | Guia interactiva — que comando usar |
|
|
137
|
-
| `/refacil:explore` | Explorar el codebase sin cambios |
|
|
138
|
-
| `/refacil:propose` | Crear propuesta de cambio |
|
|
139
|
-
| `/refacil:apply` | Implementar tasks del cambio |
|
|
140
|
-
| `/refacil:test` | Generar tests unitarios |
|
|
141
|
-
| `/refacil:verify` | Validar implementacion vs specs (con opcion de aplicar correcciones) |
|
|
142
|
-
| `/refacil:review` | Review con checklist de calidad |
|
|
143
|
-
| `/refacil:archive` | Archivar cambio completado |
|
|
144
|
-
| `/refacil:up-code` | Subir codigo a rama de desarrollo |
|
|
145
|
-
| `/refacil:bug` | Flujo guiado de bugfix |
|
|
146
|
-
|
|
147
|
-
## Stack tecnologico
|
|
148
|
-
TODO: Completar con el stack del proyecto
|
|
149
|
-
|
|
150
|
-
## Arquitectura
|
|
151
|
-
TODO: Completar con la estructura del proyecto
|
|
152
|
-
|
|
153
|
-
## Comandos de desarrollo
|
|
154
|
-
TODO: Completar con los scripts de package.json
|
|
155
|
-
|
|
156
|
-
## Reglas criticas
|
|
157
|
-
TODO: Completar con las convenciones del equipo
|
|
158
|
-
```
|
|
159
|
-
|
|
160
|
-
Informa al usuario que el AGENTS.md fue generado con secciones TODO que debe completar manualmente o ejecutando `/refacil:setup` de nuevo.
|
|
161
|
-
|
|
162
|
-
#### 6.4 Mostrar al usuario
|
|
163
|
-
|
|
164
|
-
Muestra el AGENTS.md generado completo. Pregunta si quiere ajustar algo antes de guardarlo.
|
|
165
|
-
|
|
166
|
-
Si el usuario aprueba (o no tiene cambios), escribe el archivo en la raiz del proyecto.
|
|
65
|
+
**6.4** — Muestra el resultado; si el usuario aprueba, escribe en la raiz.
|
|
167
66
|
|
|
168
67
|
### Paso 7: Verificar skills
|
|
169
68
|
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
Verifica que existan las 10 carpetas de skills de OpenSpec en `.claude/skills/` y `.cursor/skills/`:
|
|
173
|
-
- `openspec-apply-change`
|
|
174
|
-
- `openspec-archive-change`
|
|
175
|
-
- `openspec-bulk-archive-change`
|
|
176
|
-
- `openspec-continue-change`
|
|
177
|
-
- `openspec-explore`
|
|
178
|
-
- `openspec-ff-change`
|
|
179
|
-
- `openspec-new-change`
|
|
180
|
-
- `openspec-onboard`
|
|
181
|
-
- `openspec-sync-specs`
|
|
182
|
-
- `openspec-verify-change`
|
|
183
|
-
|
|
184
|
-
- Si las 10 existen: "Skills OpenSpec: 10/10 instaladas OK"
|
|
185
|
-
- Si faltan algunas: informa cuales faltan. Sugiere ejecutar de nuevo `openspec init --tools claude,cursor` o verificar el perfil con `openspec config list`.
|
|
186
|
-
|
|
187
|
-
#### 7.2 Verificar skills de Refacil
|
|
188
|
-
|
|
189
|
-
Verifica que existan las carpetas `.claude/skills/refacil-*` y/o `.cursor/skills/refacil-*`.
|
|
190
|
-
|
|
191
|
-
- Si existen: "Skills de Refacil: [N] instaladas OK"
|
|
192
|
-
- Si NO existen: informa al usuario:
|
|
193
|
-
```
|
|
194
|
-
Las skills de Refacil no estan instaladas.
|
|
195
|
-
|
|
196
|
-
Si ya tienes refacil-sdd-ai instalado globalmente:
|
|
197
|
-
refacil-sdd-ai init
|
|
198
|
-
|
|
199
|
-
Si no lo tienes instalado globalmente:
|
|
200
|
-
npm install -g refacil-sdd-ai
|
|
201
|
-
refacil-sdd-ai init
|
|
202
|
-
|
|
203
|
-
Luego reinicia esta sesion de Claude Code / Cursor.
|
|
204
|
-
```
|
|
69
|
+
- OpenSpec: 10 carpetas bajo `.claude/skills/` y `.cursor/skills/`: `openspec-apply-change`, `openspec-archive-change`, `openspec-bulk-archive-change`, `openspec-continue-change`, `openspec-explore`, `openspec-ff-change`, `openspec-new-change`, `openspec-onboard`, `openspec-sync-specs`, `openspec-verify-change`. Si falta alguna: sugerir `openspec init --tools claude,cursor` o `openspec config list`.
|
|
70
|
+
- Refacil: carpetas `refacil-*` en esas rutas. Si no: `refacil-sdd-ai init` + reiniciar sesion.
|
|
205
71
|
|
|
206
72
|
### Paso 8: Resumen final
|
|
207
73
|
|
|
208
74
|
```
|
|
209
75
|
=== refacil:setup completado ===
|
|
210
|
-
Node.js
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
config.yaml: Configurado OK
|
|
215
|
-
AGENTS.md: Generado OK
|
|
216
|
-
Skills OpenSpec: 10/10 instaladas OK
|
|
217
|
-
Skills Refacil: [N] instaladas OK
|
|
218
|
-
|
|
219
|
-
IMPORTANTE: Si acabas de instalar las skills por primera vez,
|
|
220
|
-
debes REINICIAR la sesion de Claude Code o Cursor para que
|
|
221
|
-
los comandos /refacil:* aparezcan disponibles.
|
|
222
|
-
|
|
223
|
-
El repositorio esta listo para usar la metodologia SDD-AI.
|
|
224
|
-
Ejecuta /refacil:guide para ver los comandos disponibles.
|
|
76
|
+
Node.js / OpenSpec / perfil / openspec/ / config / AGENTS.md / skills OK
|
|
77
|
+
|
|
78
|
+
Reiniciar sesion Claude Code o Cursor si es la primera instalacion de skills.
|
|
79
|
+
Siguiente: /refacil:guide
|
|
225
80
|
```
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# refacil:setup — Resolucion de problemas
|
|
2
|
+
|
|
3
|
+
Consulta este archivo **solo** si un paso de setup falla. No forma parte del flujo feliz.
|
|
4
|
+
|
|
5
|
+
## OpenSpec: comando no encontrado tras `npm install -g`
|
|
6
|
+
|
|
7
|
+
- Comprueba donde instala npm los binarios: `npm config get prefix`, luego anade `[prefix]/bin` (Linux/Mac) o `[prefix]` (Windows) al **PATH** y abre de nuevo la terminal / el IDE.
|
|
8
|
+
- En Linux/Mac a veces hace falta `sudo` para install global; preferible arreglar permisos de prefijo de npm (`npm config set prefix ~/.npm-global`) antes que usar sudo.
|
|
9
|
+
|
|
10
|
+
## `openspec --version` falla con error de Node
|
|
11
|
+
|
|
12
|
+
- OpenSpec exige **Node >= 20.19.0**. Actualiza Node y vuelve a intentar.
|
|
13
|
+
|
|
14
|
+
## `openspec init` no crea todas las skills
|
|
15
|
+
|
|
16
|
+
- Ejecuta `openspec config list` y confirma `profile: custom` y los 10 workflows del proceso principal de setup.
|
|
17
|
+
- Repite `openspec init --tools claude,cursor` desde la raiz del repo.
|
|
18
|
+
|
|
19
|
+
## Falta `openspec/config.yaml`
|
|
20
|
+
|
|
21
|
+
- Crealo manualmente con al menos:
|
|
22
|
+
|
|
23
|
+
```yaml
|
|
24
|
+
language: spanish
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Skills `refacil-*` no aparecen en el IDE
|
|
28
|
+
|
|
29
|
+
- Ejecuta `refacil-sdd-ai init` en la raiz del repo y **reinicia** la sesion de Claude Code o Cursor.
|
package/skills/test/SKILL.md
CHANGED
|
@@ -10,13 +10,7 @@ Eres un asistente de testing que genera pruebas unitarias de alta calidad, adapt
|
|
|
10
10
|
|
|
11
11
|
## Antes de empezar
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
1. **OpenSpec instalado**: Ejecuta `openspec --version 2>&1`. Si el comando falla o no se reconoce, informa al usuario: "OpenSpec no esta instalado. Ejecuta `/refacil:setup` para instalarlo y configurar el repositorio." y **detente**.
|
|
16
|
-
|
|
17
|
-
2. **OpenSpec inicializado**: Verifica que exista la carpeta `openspec/` en la raiz del proyecto. Si no existe, informa al usuario: "OpenSpec no esta inicializado en este repositorio. Ejecuta `/refacil:setup` para configurarlo." y **detente**.
|
|
18
|
-
|
|
19
|
-
3. **AGENTS.md**: Si existe `AGENTS.md` en la raiz del proyecto, leelo para entender las convenciones, arquitectura y patrones. Si NO existe, informa al usuario: "No se encontro AGENTS.md. Ejecuta `/refacil:setup` para generarlo." y **detente**.
|
|
13
|
+
Lee `SKILL.md` en `.claude/skills/refacil-prereqs/` o `.cursor/skills/refacil-prereqs/` (misma skill en Claude Code y Cursor) y aplica el **perfil `openspec`** antes de continuar.
|
|
20
14
|
|
|
21
15
|
### Detectar stack tecnologico
|
|
22
16
|
|
|
@@ -52,7 +46,7 @@ Si el usuario ejecuta `/refacil:test` sin argumentos:
|
|
|
52
46
|
1. **Buscar cambio activo**: Lista carpetas en `openspec/changes/` y pregunta cual testear si hay mas de uno.
|
|
53
47
|
|
|
54
48
|
2. **Leer artefactos**:
|
|
55
|
-
- `specs.md`
|
|
49
|
+
- **Especificacion**: lee `specs.md` si existe **y** todos los `.md` bajo `specs/` del cambio (recursivo). De ahi extrae criterios de aceptacion (CA-XX) y rechazo (CR-XX).
|
|
56
50
|
- `design.md` — Identificar componentes y archivos creados/modificados
|
|
57
51
|
- `tasks.md` — Identificar archivos implementados
|
|
58
52
|
|
package/skills/up-code/SKILL.md
CHANGED
|
@@ -10,8 +10,7 @@ Sube los cambios al repositorio remoto asegurando que NUNCA se haga push directo
|
|
|
10
10
|
|
|
11
11
|
## Antes de empezar
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
Si NO existe `AGENTS.md`, informa al usuario: "No se encontro AGENTS.md. Ejecuta /refacil:setup para generarlo." y detente.
|
|
13
|
+
Lee `SKILL.md` en `.claude/skills/refacil-prereqs/` o `.cursor/skills/refacil-prereqs/` (misma skill en Claude Code y Cursor) y aplica el **perfil `agents`** antes de continuar.
|
|
15
14
|
|
|
16
15
|
## Instrucciones
|
|
17
16
|
|
package/skills/verify/SKILL.md
CHANGED
|
@@ -10,23 +10,15 @@ Este comando envuelve la funcionalidad de OpenSpec verify y agrega verificacion
|
|
|
10
10
|
|
|
11
11
|
## Antes de empezar
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
1. **OpenSpec instalado**: Ejecuta `openspec --version 2>&1`. Si el comando falla o no se reconoce, informa al usuario: "OpenSpec no esta instalado. Ejecuta `/refacil:setup` para instalarlo y configurar el repositorio." y **detente**.
|
|
16
|
-
|
|
17
|
-
2. **OpenSpec inicializado**: Verifica que exista la carpeta `openspec/` en la raiz del proyecto. Si no existe, informa al usuario: "OpenSpec no esta inicializado en este repositorio. Ejecuta `/refacil:setup` para configurarlo." y **detente**.
|
|
18
|
-
|
|
19
|
-
3. **AGENTS.md**: Si existe `AGENTS.md` en la raiz del proyecto, leelo para entender las convenciones. Si NO existe, informa al usuario: "No se encontro AGENTS.md. Ejecuta `/refacil:setup` para generarlo." y **detente**.
|
|
13
|
+
Lee `SKILL.md` en `.claude/skills/refacil-prereqs/` o `.cursor/skills/refacil-prereqs/` (misma skill en Claude Code y Cursor) y aplica el **perfil `openspec`** antes de continuar.
|
|
20
14
|
|
|
21
15
|
## Instrucciones
|
|
22
16
|
|
|
23
17
|
### Paso 1: Delegar a OpenSpec verify
|
|
24
18
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
Esto generara un reporte de verificacion con issues CRITICAL/WARNING/SUGGESTION.
|
|
19
|
+
1. Lee `openspec-verify-change/SKILL.md` en `.claude/skills/` o `.cursor/skills/`.
|
|
20
|
+
2. Lee `OPENSPEC-DELTAS.md` en `refacil-prereqs` (seccion **idioma**).
|
|
21
|
+
3. Sigue OpenSpec con argumento **$ARGUMENTS** (reporte con issues CRITICAL/WARNING/SUGGESTION).
|
|
30
22
|
|
|
31
23
|
### Paso 2: Verificar tests (aporte Refacil)
|
|
32
24
|
|
package/templates/claude-md.md
CHANGED
|
@@ -5,7 +5,7 @@ Si AGENTS.md no existe, ejecuta `/refacil:setup` para generarlo automaticamente.
|
|
|
5
5
|
|
|
6
6
|
## Metodologia SDD-AI (Refacil)
|
|
7
7
|
|
|
8
|
-
Este proyecto usa la metodologia SDD-AI.
|
|
8
|
+
Este proyecto usa la metodologia SDD-AI en **Claude Code** y **Cursor** con el mismo conjunto de skills: estan en `.claude/skills/refacil-*/` y en `.cursor/skills/refacil-*/` (copias equivalentes; `refacil-sdd-ai init` instala ambas). Comandos disponibles:
|
|
9
9
|
|
|
10
10
|
| Comando | Descripcion |
|
|
11
11
|
|---------|-------------|
|
package/templates/cursorrules.md
CHANGED
|
@@ -5,7 +5,7 @@ Si AGENTS.md no existe, ejecuta /refacil:setup para generarlo automaticamente.
|
|
|
5
5
|
|
|
6
6
|
## Metodologia SDD-AI (Refacil)
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
Metodologia equivalente en Claude Code (`.claude/skills/refacil-*/`) y Cursor (`.cursor/skills/refacil-*/`). Comandos (en este IDE, bajo `.cursor/skills/refacil-*/`):
|
|
9
9
|
|
|
10
10
|
- /refacil:setup — Instalar OpenSpec y generar AGENTS.md
|
|
11
11
|
- /refacil:guide — Guia interactiva
|