@saulwade/swl-ses 2.5.2 → 2.6.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.
Files changed (183) hide show
  1. package/CLAUDE.md +194 -192
  2. package/README.md +600 -600
  3. package/agentes/auto-evolucion-swl.md +27 -3
  4. package/bin/swl-ses.js +32 -6
  5. package/comandos/swl/actualizar.md +174 -174
  6. package/comandos/swl/adoptar-proyecto.md +265 -265
  7. package/comandos/swl/aprender.md +836 -823
  8. package/comandos/swl/aprobar-plan.md +146 -146
  9. package/comandos/swl/auditar-deps.md +134 -134
  10. package/comandos/swl/autoresearch.md +264 -264
  11. package/comandos/swl/ayuda.md +224 -224
  12. package/comandos/swl/brainstorm.md +51 -51
  13. package/comandos/swl/briefing.md +119 -119
  14. package/comandos/swl/checkpoint.md +325 -325
  15. package/comandos/swl/claudemd.md +234 -234
  16. package/comandos/swl/compactar.md +310 -310
  17. package/comandos/swl/configurar-ci.md +235 -235
  18. package/comandos/swl/contexto.md +110 -110
  19. package/comandos/swl/contribuir.md +233 -233
  20. package/comandos/swl/crear-skill.md +292 -292
  21. package/comandos/swl/cron.md +194 -194
  22. package/comandos/swl/deuda-codigo.md +97 -97
  23. package/comandos/swl/discutir-fase.md +169 -169
  24. package/comandos/swl/ejecutar-fase.md +233 -233
  25. package/comandos/swl/evaluar-skill.md +520 -505
  26. package/comandos/swl/evolucion-continua.md +73 -0
  27. package/comandos/swl/evolucionar.md +267 -254
  28. package/comandos/swl/exportar-vault.md +583 -583
  29. package/comandos/swl/fix.md +118 -118
  30. package/comandos/swl/gateway.md +158 -158
  31. package/comandos/swl/inbox.md +116 -116
  32. package/comandos/swl/instalar.md +220 -220
  33. package/comandos/swl/instintos.md +86 -86
  34. package/comandos/swl/mapear-codebase.md +312 -312
  35. package/comandos/swl/mcp-status.md +175 -175
  36. package/comandos/swl/modelo.md +100 -100
  37. package/comandos/swl/nemesis.md +433 -433
  38. package/comandos/swl/notificaciones.md +299 -299
  39. package/comandos/swl/nuevo-proyecto.md +251 -251
  40. package/comandos/swl/planear-fase.md +263 -263
  41. package/comandos/swl/plugins.md +256 -256
  42. package/comandos/swl/predecir.md +169 -169
  43. package/comandos/swl/reflect-skills.md +125 -125
  44. package/comandos/swl/release.md +450 -450
  45. package/comandos/swl/revisar-impacto.md +201 -201
  46. package/comandos/swl/revisar.md +330 -330
  47. package/comandos/swl/seguridad.md +189 -189
  48. package/comandos/swl/sesiones.md +200 -200
  49. package/comandos/swl/skill-search.md +113 -113
  50. package/comandos/swl/status.md +343 -343
  51. package/comandos/swl/verificar.md +817 -817
  52. package/comandos/swl/wiki.md +620 -620
  53. package/gateway/cron/jobs.example.json +12 -0
  54. package/habilidades/auto-evolucion-protocolo/SKILL.md +294 -276
  55. package/habilidades/autoresearch/SKILL.md +3 -2
  56. package/habilidades/benchmark-memoria/SKILL.md +7 -7
  57. package/habilidades/changelog-generator/SKILL.md +174 -174
  58. package/habilidades/changelog-generator/scripts/parse-commits.js +2 -1
  59. package/habilidades/checkpoints-verificacion/SKILL.md +6 -0
  60. package/habilidades/context-builder/SKILL.md +4 -0
  61. package/habilidades/doubt-driven-review/SKILL.md +207 -191
  62. package/habilidades/drift-detection/SKILL.md +6 -1
  63. package/habilidades/ejecutar-fase/SKILL.md +6 -6
  64. package/habilidades/eval-framework/SKILL.md +8 -3
  65. package/habilidades/harness-claude-code/SKILL.md +314 -308
  66. package/habilidades/infra-github-actions/SKILL.md +4 -3
  67. package/habilidades/instalar-sistema/SKILL.md +227 -223
  68. package/habilidades/memoria-busqueda/SKILL.md +31 -39
  69. package/habilidades/planear-fase/SKILL.md +358 -350
  70. package/habilidades/proceso-ddia-fundamentos/SKILL.md +3 -2
  71. package/habilidades/release-semver/SKILL.md +4 -2
  72. package/habilidades/swl-claudemd/SKILL.md +6 -7
  73. package/habilidades/swl-dashboard/SKILL.md +11 -43
  74. package/habilidades/tdd-workflow/SKILL.md +749 -744
  75. package/habilidades/validacion-ci-sistema/SKILL.md +1 -1
  76. package/hooks/agente-lifecycle.js +2 -1
  77. package/hooks/aiisms-detector.js +13 -4
  78. package/hooks/audit-trail.js +2 -1
  79. package/hooks/auto-consolidacion.js +2 -1
  80. package/hooks/captura-acciones-post.js +2 -1
  81. package/hooks/captura-acciones-session.js +2 -1
  82. package/hooks/captura-feedback-usuario.js +3 -2
  83. package/hooks/claudemd-bloat-detector.js +12 -3
  84. package/hooks/claudemd-duplicacion-detector.js +13 -3
  85. package/hooks/contexto-iteracion.js +2 -1
  86. package/hooks/degradacion-instintos.js +2 -1
  87. package/hooks/extraccion-aprendizajes.js +109 -15
  88. package/hooks/grafo-contexto.js +2 -1
  89. package/hooks/guardrail-modelo.js +2 -1
  90. package/hooks/inbox-aviso.js +2 -1
  91. package/hooks/inyeccion-contexto.js +2 -1
  92. package/hooks/lib/agent-matcher.js +2 -1
  93. package/hooks/lib/agent-routing.js +2 -1
  94. package/hooks/lib/autonomia.js +5 -3
  95. package/hooks/lib/captura-acciones.js +2 -1
  96. package/hooks/lib/consolidation-lock.js +21 -10
  97. package/hooks/lib/etapa-auto-evolucion.js +10 -4
  98. package/hooks/lib/etapa-metricas.js +2 -1
  99. package/hooks/lib/etapa-perfil-usuario.js +20 -4
  100. package/hooks/lib/evolution-tracker.js +2 -1
  101. package/hooks/lib/gateway-notify.js +193 -179
  102. package/hooks/lib/loop-telemetry.js +5 -4
  103. package/hooks/lib/mcp-health.js +2 -1
  104. package/hooks/lib/memory-search.js +4 -0
  105. package/hooks/lib/merkle-audit.js +58 -6
  106. package/hooks/lib/nudge-tracker.js +2 -1
  107. package/hooks/lib/otlp-exporter.js +2 -1
  108. package/hooks/lib/propose-step.js +3 -2
  109. package/hooks/lib/raiz-proyecto.js +102 -0
  110. package/hooks/lib/run-log.js +2 -1
  111. package/hooks/lib/singleton-guard.js +218 -27
  112. package/hooks/lib/telegram-cliente.js +17 -8
  113. package/hooks/preservar-estado-pre-compact.js +2 -1
  114. package/hooks/proteccion-rutas.js +59 -3
  115. package/hooks/registro-turnos.js +2 -1
  116. package/hooks/resumen-sesion.js +2 -1
  117. package/hooks/risk-scoring.js +2 -1
  118. package/hooks/rotar-audit-auto.js +46 -20
  119. package/hooks/session-briefing.js +127 -1
  120. package/hooks/spec-gate.js +2 -1
  121. package/hooks/sugerir-contribuir.js +6 -3
  122. package/hooks/sugerir-regenerar-inventario.js +3 -2
  123. package/hooks/tdd-gate.js +2 -1
  124. package/hooks/telemetria-agentes.js +2 -1
  125. package/hooks/telemetria-skill-routing.js +2 -1
  126. package/hooks/tracking-costos.js +4 -3
  127. package/hooks/validar-formato-post-subagente.js +2 -1
  128. package/hooks/validar-intent-spec.js +2 -1
  129. package/hooks/validar-memoria-hook.js +13 -3
  130. package/hooks/validar-planning-paths.js +2 -1
  131. package/instintos/.backups/perfil-usuario.yaml.2026-07-10-165128.bak +53 -0
  132. package/instintos/.backups/proyecto.yaml.2026-07-10-165128.bak +372 -0
  133. package/instintos/perfil-usuario.yaml +506 -3
  134. package/instintos/proyecto.yaml +78 -0
  135. package/llms.txt +2 -2
  136. package/manifiestos/canonical-hashes.json +664 -2
  137. package/manifiestos/modulos.json +19 -14
  138. package/manifiestos/planning-paths.json +1 -0
  139. package/manifiestos/skills-lock.json +53 -53
  140. package/package.json +2 -3
  141. package/plugin.json +2 -2
  142. package/scripts/actualizar.js +3 -0
  143. package/scripts/auditar-clases-conocidas.js +32 -4
  144. package/scripts/benchmark-memoria.js +1 -0
  145. package/scripts/cli/autonomia.js +23 -0
  146. package/scripts/cli/benchmark-memoria.js +37 -0
  147. package/scripts/cli/ciclo-autonomo.js +73 -0
  148. package/scripts/cli/ciclo-fase-b.js +102 -0
  149. package/scripts/cli/guardrail-metrics.js +39 -0
  150. package/scripts/cli/loop-telemetry.js +4 -2
  151. package/scripts/cli/memoria-search.js +69 -0
  152. package/scripts/cli/nudge-accionar.js +39 -0
  153. package/scripts/cli/run-eval.js +38 -0
  154. package/scripts/cli/run-skill-evals.js +13 -2
  155. package/scripts/derivar-feature-list.js +15 -14
  156. package/scripts/desinstalar.js +11 -0
  157. package/scripts/doctor.js +24 -10
  158. package/scripts/instalador.js +106 -7
  159. package/scripts/lib/activar-hooks-proyecto.js +116 -0
  160. package/scripts/lib/auditar-invocaciones-comandos.js +96 -6
  161. package/scripts/lib/ciclo-autonomo/candidatos.js +174 -0
  162. package/scripts/lib/ciclo-autonomo/config.js +165 -0
  163. package/scripts/lib/ciclo-autonomo/drenador-feedback.js +174 -0
  164. package/scripts/lib/ciclo-autonomo/fallback.js +77 -0
  165. package/scripts/lib/ciclo-autonomo/guard-convivencia.js +139 -0
  166. package/scripts/lib/ciclo-autonomo/higiene-nudges.js +112 -0
  167. package/scripts/lib/ciclo-autonomo/index.js +301 -0
  168. package/scripts/lib/ciclo-autonomo/lock.js +124 -0
  169. package/scripts/lib/ciclo-autonomo/presupuesto.js +122 -0
  170. package/scripts/lib/ciclo-autonomo/puente-degradacion.js +240 -0
  171. package/scripts/lib/ciclo-autonomo/runner-fase-b.js +248 -0
  172. package/scripts/lib/ciclo-autonomo/writer-instintos.js +190 -0
  173. package/scripts/lib/ciclo-autonomo/yaml-instintos.js +535 -0
  174. package/scripts/lib/estado.js +9 -0
  175. package/scripts/lib/evidencia-valor.js +1 -1
  176. package/scripts/lib/gitignore-manifest.js +8 -1
  177. package/scripts/lib/hooks-settings.js +45 -0
  178. package/scripts/rotar-audit-logs.js +48 -2
  179. package/scripts/run-eval.js +1 -0
  180. package/scripts/run-skill-evals.js +287 -8
  181. package/scripts/smoke-test.js +16 -8
  182. package/scripts/tui/pantallas/install-wizard.js +403 -347
  183. package/scripts/validar.js +40 -1
@@ -1,220 +1,220 @@
1
- ---
2
- name: swl:instalar
3
- description: Instala o actualiza el sistema SWL en el proyecto actual desde dentro de Claude Code. Pregunta interactivamente al usuario el perfil y la ubicación (local/global) antes de ejecutar. Ejecuta init + install + doctor automáticamente.
4
- allowed_tools: ["Read", "Bash", "Glob"]
5
- ---
6
-
7
- # /swl:instalar — Instalar sistema SWL desde Claude Code
8
-
9
- Eres el instalador del sistema SWL dentro de Claude Code. Tu misión es ejecutar la instalación completa del sistema de ingeniería de software, de forma que todos los agentes, skills, comandos, reglas y hooks queden operativos.
10
-
11
- **IMPORTANTE**: Este comando es INTERACTIVO. Debes consultar al usuario antes de proceder con la instalación. No asumas valores por defecto silenciosamente.
12
-
13
- ## Paso 0 — Verificación de prerrequisitos
14
-
15
- Antes de preguntar nada al usuario, verifica silenciosamente:
16
-
17
- 1. Node.js >= 18:
18
- ```bash
19
- node --version
20
- ```
21
-
22
- 2. npx disponible:
23
- ```bash
24
- npx --version
25
- ```
26
-
27
- 3. Registry de GitHub Packages configurado:
28
- ```bash
29
- npm config get @saul-wade:registry
30
- ```
31
-
32
- Si Node.js < 18 o npx no existe, DETENTE y dile al usuario qué instalar.
33
-
34
- Si el registry no está configurado, informa al usuario:
35
- - "Para instalar SWL necesitas configurar el registry de GitHub Packages. Ejecuta en tu terminal:"
36
- - `npm config set @saul-wade:registry https://npm.pkg.github.com`
37
- - "Y asegúrate de tener un token de acceso configurado en ~/.npmrc"
38
- - DETENTE hasta que el usuario confirme que lo configuró.
39
-
40
- ## Paso 1 — Detectar estado actual
41
-
42
- Verifica si SWL ya está instalado:
43
-
44
- ```bash
45
- cat .claude/.swl-install-state.json 2>/dev/null
46
- ```
47
-
48
- Si ya existe una instalación, informa:
49
- - "SWL ya está instalado con perfil **X** (versión Y)."
50
- - Pregunta: "¿Deseas **actualizar** a la última versión (mismo perfil), **cambiar de perfil**, o **cancelar**?"
51
- - Si actualiza: usa el mismo perfil con `--force`
52
- - Si cambia perfil: continúa al Paso 2 para elegir nuevo perfil
53
-
54
- Si NO existe instalación, continúa al Paso 2.
55
-
56
- ## Paso 2 — Preguntar ubicación de instalación
57
-
58
- Pregunta al usuario dónde quiere instalar. Presenta las dos opciones con explicación clara:
59
-
60
- **Pregunta**: "¿Dónde quieres instalar SWL?"
61
-
62
- - **Local (este proyecto)** — Instala en `.claude/` del proyecto actual. Cada proyecto puede tener su propio perfil y configuración. Los hooks y reglas solo aplican a este proyecto. **Recomendado para la mayoría de casos.**
63
-
64
- - **Global (todos los proyectos)** — Instala en `~/.claude/` (directorio home). SWL estará disponible en todos los proyectos donde uses Claude Code. Los hooks y reglas se aplican globalmente. **Recomendado solo si usas SWL en todos tus proyectos.**
65
-
66
- Espera la respuesta del usuario antes de continuar.
67
-
68
- ## Paso 3 — Preguntar perfil de instalación
69
-
70
- Si el usuario no especificó perfil en los argumentos del comando, pregunta qué perfil quiere.
71
-
72
- **Pregunta**: "¿Qué perfil de SWL quieres instalar?"
73
-
74
- Presenta los perfiles organizados por caso de uso:
75
-
76
- **Mínimo**:
77
- - `core` — Orquestador + agentes base + reglas + comandos esenciales (50 archivos)
78
-
79
- **Backend**:
80
- - `backend-python` — Core + Python, FastAPI, Django, APIs, datos (75 archivos)
81
- - `backend-node` — Core + Node.js, TypeScript, APIs (70 archivos)
82
-
83
- **Frontend**:
84
- - `frontend-react` — Core + React, Next.js, CSS, UX (72 archivos)
85
- - `frontend-angular` — Core + Angular, CSS, UX (72 archivos)
86
-
87
- **Fullstack**:
88
- - `fullstack-python-angular` — Backend Python + Frontend Angular (100 archivos)
89
- - `fullstack-node-react` — Backend Node + Frontend React (100 archivos)
90
-
91
- **Especializado**:
92
- - `mobile` — Core + Android, iOS, React Native, Flutter (65 archivos)
93
- - `devops` — Core + infra, cloud, CI/CD, seguridad (78 archivos)
94
-
95
- **Completo**:
96
- - `completo` — Todo SWL: 37 agentes + 61 skills + 15 comandos + 11 reglas + 6 hooks (128 archivos)
97
-
98
- Espera la respuesta del usuario antes de continuar.
99
-
100
- ## Paso 4 — Confirmar antes de ejecutar
101
-
102
- Antes de ejecutar, muestra un resumen de lo que se va a hacer:
103
-
104
- ```
105
- === Plan de instalación SWL ===
106
-
107
- Ubicación: <Local (.claude/) | Global (~/.claude/)>
108
- Perfil: <perfil seleccionado>
109
- Componentes: ~<N> archivos
110
-
111
- Se ejecutarán 3 pasos:
112
- 1. init — crear .planning/ y _userland/
113
- 2. install — copiar agentes, skills, comandos, reglas y hooks
114
- 3. doctor — verificar que todo quedó correctamente instalado
115
-
116
- ¿Proceder con la instalación?
117
- ```
118
-
119
- Espera confirmación explícita del usuario.
120
-
121
- ## Paso 5 — Ejecutar init
122
-
123
- ```bash
124
- npx @saulwade/swl-ses@latest init
125
- ```
126
-
127
- Esto crea:
128
- - `.planning/` con plantillas (PROYECTO.md, REQUISITOS.md, HOJA-RUTA.md, ESTADO.md)
129
- - `.planning/research/` con templates de investigación
130
- - `_userland/agentes/` y `_userland/habilidades/` para extensiones del usuario
131
-
132
- Si reporta archivos omitidos (ya existen), eso es normal.
133
-
134
- ## Paso 6 — Ejecutar install
135
-
136
- Construye el comando según las respuestas del usuario:
137
-
138
- ```bash
139
- npx @saulwade/swl-ses@latest install --target claude --profile <PERFIL> [--global] [--force]
140
- ```
141
-
142
- - `<PERFIL>`: el perfil que eligió el usuario
143
- - `--global`: agregar si eligió instalación global
144
- - `--force`: agregar si ya existía una instalación previa
145
-
146
- Este paso:
147
- - Copia agentes a `.claude/agents/` (o `~/.claude/agents/` si global)
148
- - Copia skills a `.claude/skills/`
149
- - Copia comandos a `.claude/commands/swl/`
150
- - Copia reglas a `.claude/rules/`
151
- - Copia hooks a `./hooks/` (o `~/.claude/hooks/` si global)
152
- - Registra hooks en `.claude/settings.json` automáticamente
153
- - Guarda estado en `.claude/.swl-install-state.json`
154
-
155
- ## Paso 7 — Ejecutar doctor
156
-
157
- ```bash
158
- npx @saulwade/swl-ses@latest doctor
159
- ```
160
-
161
- Verifica que todo quedó correctamente instalado:
162
- - Node.js compatible
163
- - Runtime detectado
164
- - `.planning/` completo
165
- - Archivos íntegros
166
- - Hooks registrados en settings.json
167
-
168
- ## Paso 8 — Reportar resultado al usuario
169
-
170
- Presenta un resumen claro:
171
-
172
- ```
173
- === Instalación SWL completada ===
174
-
175
- Perfil: <perfil>
176
- Ubicación: <local (.claude/) | global (~/.claude/)>
177
- Agentes: <N> instalados
178
- Skills: <N> instalados
179
- Comandos: <N> instalados
180
- Reglas: <N> instaladas
181
- Hooks: <N> registrados en settings.json
182
-
183
- Doctor: <resultado>
184
-
185
- Siguiente paso:
186
- /swl:nuevo-proyecto → si es un proyecto nuevo
187
- /swl:mapear-codebase → si ya hay código existente
188
- /swl:status salud → para diagnóstico profundo del sistema
189
- ```
190
-
191
- Si la instalación fue local, menciona: "Para instalar SWL en otro proyecto, abre Claude Code en ese proyecto y ejecuta `/swl:instalar` nuevamente."
192
-
193
- Si la instalación fue global, menciona: "SWL estará disponible en todos los proyectos donde uses Claude Code."
194
-
195
- ## Atajos (argumentos en línea)
196
-
197
- Si el usuario pasa argumentos directamente, usa esos valores sin preguntar lo que ya especificó:
198
-
199
- ```
200
- /swl:instalar --profile backend-python → preguntar solo ubicación
201
- /swl:instalar --global → preguntar solo perfil
202
- /swl:instalar --profile completo --global → confirmar y ejecutar directamente
203
- /swl:instalar --profile core --local → confirmar y ejecutar directamente
204
- ```
205
-
206
- Solo pregunta lo que NO se especificó en los argumentos.
207
-
208
- ## Reglas de comportamiento
209
-
210
- - SIEMPRE pregunta ubicación (local/global) si no se especificó en argumentos.
211
- - SIEMPRE pregunta perfil si no se especificó en argumentos.
212
- - SIEMPRE confirma el plan antes de ejecutar.
213
- - SIEMPRE ejecuta los 3 pasos (init, install, doctor) en orden secuencial.
214
- - NUNCA omitas el paso de doctor — es la verificación de que todo funciona.
215
- - Si algún paso falla, DETENTE y reporta el error. No continúes con los siguientes pasos.
216
- - Si el usuario no tiene Node.js 18+, sugiere instalarlo antes de continuar.
217
- - Si el usuario no tiene el registry configurado, NO intentes instalar — solo guíalo.
218
- - Si el usuario pide un perfil que no existe, muestra la tabla de perfiles disponibles.
219
- - Este comando NO modifica código del proyecto — solo instala componentes SWL en `.claude/` y `.planning/`.
220
- - Para actualización: `npx @saulwade/swl-ses@latest update` detecta automáticamente el perfil instalado y actualiza sin preguntar perfil.
1
+ ---
2
+ name: swl:instalar
3
+ description: Instala o actualiza el sistema SWL en el proyecto actual desde dentro de Claude Code. Pregunta interactivamente al usuario el perfil y la ubicación (local/global) antes de ejecutar. Ejecuta init + install + doctor automáticamente.
4
+ allowed_tools: ["Read", "Bash", "Glob"]
5
+ ---
6
+
7
+ # /swl:instalar — Instalar sistema SWL desde Claude Code
8
+
9
+ Eres el instalador del sistema SWL dentro de Claude Code. Tu misión es ejecutar la instalación completa del sistema de ingeniería de software, de forma que todos los agentes, skills, comandos, reglas y hooks queden operativos.
10
+
11
+ **IMPORTANTE**: Este comando es INTERACTIVO. Debes consultar al usuario antes de proceder con la instalación. No asumas valores por defecto silenciosamente.
12
+
13
+ ## Paso 0 — Verificación de prerrequisitos
14
+
15
+ Antes de preguntar nada al usuario, verifica silenciosamente:
16
+
17
+ 1. Node.js >= 18:
18
+ ```bash
19
+ node --version
20
+ ```
21
+
22
+ 2. npx disponible:
23
+ ```bash
24
+ npx --version
25
+ ```
26
+
27
+ 3. Registry de GitHub Packages configurado:
28
+ ```bash
29
+ npm config get @saul-wade:registry
30
+ ```
31
+
32
+ Si Node.js < 18 o npx no existe, DETENTE y dile al usuario qué instalar.
33
+
34
+ Si el registry no está configurado, informa al usuario:
35
+ - "Para instalar SWL necesitas configurar el registry de GitHub Packages. Ejecuta en tu terminal:"
36
+ - `npm config set @saul-wade:registry https://npm.pkg.github.com`
37
+ - "Y asegúrate de tener un token de acceso configurado en ~/.npmrc"
38
+ - DETENTE hasta que el usuario confirme que lo configuró.
39
+
40
+ ## Paso 1 — Detectar estado actual
41
+
42
+ Verifica si SWL ya está instalado:
43
+
44
+ ```bash
45
+ cat .claude/.swl-install-state.json 2>/dev/null
46
+ ```
47
+
48
+ Si ya existe una instalación, informa:
49
+ - "SWL ya está instalado con perfil **X** (versión Y)."
50
+ - Pregunta: "¿Deseas **actualizar** a la última versión (mismo perfil), **cambiar de perfil**, o **cancelar**?"
51
+ - Si actualiza: usa el mismo perfil con `--force`
52
+ - Si cambia perfil: continúa al Paso 2 para elegir nuevo perfil
53
+
54
+ Si NO existe instalación, continúa al Paso 2.
55
+
56
+ ## Paso 2 — Preguntar ubicación de instalación
57
+
58
+ Pregunta al usuario dónde quiere instalar. Presenta las dos opciones con explicación clara:
59
+
60
+ **Pregunta**: "¿Dónde quieres instalar SWL?"
61
+
62
+ - **Local (este proyecto)** — Instala en `.claude/` del proyecto actual. Cada proyecto puede tener su propio perfil y configuración. Los hooks y reglas solo aplican a este proyecto. **Recomendado para la mayoría de casos.**
63
+
64
+ - **Global (todos los proyectos)** — Instala en `~/.claude/` (directorio home). SWL estará disponible en todos los proyectos donde uses Claude Code. Los hooks y reglas se aplican globalmente. **Recomendado solo si usas SWL en todos tus proyectos.**
65
+
66
+ Espera la respuesta del usuario antes de continuar.
67
+
68
+ ## Paso 3 — Preguntar perfil de instalación
69
+
70
+ Si el usuario no especificó perfil en los argumentos del comando, pregunta qué perfil quiere.
71
+
72
+ **Pregunta**: "¿Qué perfil de SWL quieres instalar?"
73
+
74
+ Presenta los perfiles organizados por caso de uso:
75
+
76
+ **Mínimo**:
77
+ - `core` — Orquestador + agentes base + reglas + comandos esenciales (50 archivos)
78
+
79
+ **Backend**:
80
+ - `backend-python` — Core + Python, FastAPI, Django, APIs, datos (75 archivos)
81
+ - `backend-node` — Core + Node.js, TypeScript, APIs (70 archivos)
82
+
83
+ **Frontend**:
84
+ - `frontend-react` — Core + React, Next.js, CSS, UX (72 archivos)
85
+ - `frontend-angular` — Core + Angular, CSS, UX (72 archivos)
86
+
87
+ **Fullstack**:
88
+ - `fullstack-python-angular` — Backend Python + Frontend Angular (100 archivos)
89
+ - `fullstack-node-react` — Backend Node + Frontend React (100 archivos)
90
+
91
+ **Especializado**:
92
+ - `mobile` — Core + Android, iOS, React Native, Flutter (65 archivos)
93
+ - `devops` — Core + infra, cloud, CI/CD, seguridad (78 archivos)
94
+
95
+ **Completo**:
96
+ - `completo` — Todo SWL: 37 agentes + 61 skills + 15 comandos + 11 reglas + 6 hooks (128 archivos)
97
+
98
+ Espera la respuesta del usuario antes de continuar.
99
+
100
+ ## Paso 4 — Confirmar antes de ejecutar
101
+
102
+ Antes de ejecutar, muestra un resumen de lo que se va a hacer:
103
+
104
+ ```
105
+ === Plan de instalación SWL ===
106
+
107
+ Ubicación: <Local (.claude/) | Global (~/.claude/)>
108
+ Perfil: <perfil seleccionado>
109
+ Componentes: ~<N> archivos
110
+
111
+ Se ejecutarán 3 pasos:
112
+ 1. init — crear .planning/ y _userland/
113
+ 2. install — copiar agentes, skills, comandos, reglas y hooks
114
+ 3. doctor — verificar que todo quedó correctamente instalado
115
+
116
+ ¿Proceder con la instalación?
117
+ ```
118
+
119
+ Espera confirmación explícita del usuario.
120
+
121
+ ## Paso 5 — Ejecutar init
122
+
123
+ ```bash
124
+ npx -y @saulwade/swl-ses@latest init
125
+ ```
126
+
127
+ Esto crea:
128
+ - `.planning/` con plantillas (PROYECTO.md, REQUISITOS.md, HOJA-RUTA.md, ESTADO.md)
129
+ - `.planning/research/` con templates de investigación
130
+ - `_userland/agentes/` y `_userland/habilidades/` para extensiones del usuario
131
+
132
+ Si reporta archivos omitidos (ya existen), eso es normal.
133
+
134
+ ## Paso 6 — Ejecutar install
135
+
136
+ Construye el comando según las respuestas del usuario:
137
+
138
+ ```bash
139
+ npx -y @saulwade/swl-ses@latest install --target claude --profile <PERFIL> [--global] [--force]
140
+ ```
141
+
142
+ - `<PERFIL>`: el perfil que eligió el usuario
143
+ - `--global`: agregar si eligió instalación global
144
+ - `--force`: agregar si ya existía una instalación previa
145
+
146
+ Este paso:
147
+ - Copia agentes a `.claude/agents/` (o `~/.claude/agents/` si global)
148
+ - Copia skills a `.claude/skills/`
149
+ - Copia comandos a `.claude/commands/swl/`
150
+ - Copia reglas a `.claude/rules/`
151
+ - Copia hooks a `./hooks/` (o `~/.claude/hooks/` si global)
152
+ - Registra hooks en `.claude/settings.json` automáticamente
153
+ - Guarda estado en `.claude/.swl-install-state.json`
154
+
155
+ ## Paso 7 — Ejecutar doctor
156
+
157
+ ```bash
158
+ npx -y @saulwade/swl-ses@latest doctor
159
+ ```
160
+
161
+ Verifica que todo quedó correctamente instalado:
162
+ - Node.js compatible
163
+ - Runtime detectado
164
+ - `.planning/` completo
165
+ - Archivos íntegros
166
+ - Hooks registrados en settings.json
167
+
168
+ ## Paso 8 — Reportar resultado al usuario
169
+
170
+ Presenta un resumen claro:
171
+
172
+ ```
173
+ === Instalación SWL completada ===
174
+
175
+ Perfil: <perfil>
176
+ Ubicación: <local (.claude/) | global (~/.claude/)>
177
+ Agentes: <N> instalados
178
+ Skills: <N> instalados
179
+ Comandos: <N> instalados
180
+ Reglas: <N> instaladas
181
+ Hooks: <N> registrados en settings.json
182
+
183
+ Doctor: <resultado>
184
+
185
+ Siguiente paso:
186
+ /swl:nuevo-proyecto → si es un proyecto nuevo
187
+ /swl:mapear-codebase → si ya hay código existente
188
+ /swl:status salud → para diagnóstico profundo del sistema
189
+ ```
190
+
191
+ Si la instalación fue local, menciona: "Para instalar SWL en otro proyecto, abre Claude Code en ese proyecto y ejecuta `/swl:instalar` nuevamente."
192
+
193
+ Si la instalación fue global, menciona: "SWL estará disponible en todos los proyectos donde uses Claude Code."
194
+
195
+ ## Atajos (argumentos en línea)
196
+
197
+ Si el usuario pasa argumentos directamente, usa esos valores sin preguntar lo que ya especificó:
198
+
199
+ ```
200
+ /swl:instalar --profile backend-python → preguntar solo ubicación
201
+ /swl:instalar --global → preguntar solo perfil
202
+ /swl:instalar --profile completo --global → confirmar y ejecutar directamente
203
+ /swl:instalar --profile core --local → confirmar y ejecutar directamente
204
+ ```
205
+
206
+ Solo pregunta lo que NO se especificó en los argumentos.
207
+
208
+ ## Reglas de comportamiento
209
+
210
+ - SIEMPRE pregunta ubicación (local/global) si no se especificó en argumentos.
211
+ - SIEMPRE pregunta perfil si no se especificó en argumentos.
212
+ - SIEMPRE confirma el plan antes de ejecutar.
213
+ - SIEMPRE ejecuta los 3 pasos (init, install, doctor) en orden secuencial.
214
+ - NUNCA omitas el paso de doctor — es la verificación de que todo funciona.
215
+ - Si algún paso falla, DETENTE y reporta el error. No continúes con los siguientes pasos.
216
+ - Si el usuario no tiene Node.js 18+, sugiere instalarlo antes de continuar.
217
+ - Si el usuario no tiene el registry configurado, NO intentes instalar — solo guíalo.
218
+ - Si el usuario pide un perfil que no existe, muestra la tabla de perfiles disponibles.
219
+ - Este comando NO modifica código del proyecto — solo instala componentes SWL en `.claude/` y `.planning/`.
220
+ - Para actualización: `npx -y @saulwade/swl-ses@latest update` detecta automáticamente el perfil instalado y actualiza sin preguntar perfil.
@@ -1,86 +1,86 @@
1
- ---
2
- name: swl:instintos
3
- description: Gestiona instintos YAML del sistema de aprendizaje continuo
4
- allowed_tools: ["Read", "Write", "Edit", "Bash", "Glob", "Grep"]
5
- ---
6
-
7
- # /swl:instintos
8
-
9
- Gestiona los instintos del sistema de aprendizaje continuo SWL.
10
-
11
- ## Uso
12
-
13
- ```
14
- /swl:instintos — Lista instintos activos ordenados por confianza
15
- /swl:instintos list — Lista todos los instintos con su estado
16
- /swl:instintos add "patrón" — Agrega un instinto manual con confidence 0.5
17
- /swl:instintos promote [id] — Promueve un instinto (confidence > 0.8) a skill
18
- /swl:instintos merge [id1] [id2] — Fusiona instintos relacionados
19
- /swl:instintos degrade [id] — Degrada manualmente un instinto
20
- /swl:instintos stats — Muestra estadísticas del sistema de instintos
21
- ```
22
-
23
- ## Comportamiento
24
-
25
- ### list
26
-
27
- 1. Leer `instintos/proyecto.yaml` y `instintos/global.yaml`
28
- 2. Mostrar tabla ordenada por confidence descendente:
29
-
30
- ```
31
- | ID | Patrón | Conf. | Scope | Evidencias | Estado |
32
- |----------|-------------------------|-------|---------|------------|----------|
33
- | inst-001 | conventional commits | 0.90 | project | 12 | active |
34
- ```
35
-
36
- ### add "patrón"
37
-
38
- 1. Generar siguiente ID secuencial
39
- 2. Crear instinto con confidence 0.5, scope project, status active
40
- 3. Escribir en `instintos/proyecto.yaml`
41
- 4. Incrementar `total_instintos` en el archivo
42
-
43
- ### promote [id]
44
-
45
- 1. Verificar que confidence > 0.8
46
- 2. Generar estructura de skill en `habilidades/` basada en el patrón
47
- 3. Cambiar status a "promoted"
48
- 4. Registrar en manifiestos
49
-
50
- ### merge [id1] [id2]
51
-
52
- 1. Combinar evidence_count
53
- 2. Promediar confidence
54
- 3. Archivar el instinto con menos evidencia (status: archived)
55
- 4. Actualizar el sobreviviente con el evidence_count combinado
56
-
57
- ### degrade [id]
58
-
59
- 1. Incrementar `contradictions` en 1
60
- 2. Reducir confidence en 0.1
61
- 3. Si confidence < 0.3: cambiar status a "degraded"
62
- 4. Escribir cambios en el archivo YAML correspondiente
63
-
64
- ### stats
65
-
66
- Mostrar:
67
- - Total de instintos por scope
68
- - Promedio de confidence
69
- - Instintos más fuertes (top 5 por confidence)
70
- - Instintos en riesgo de degradación (confidence < 0.4)
71
- - Instintos promovidos a skills
72
-
73
- ## Integración
74
-
75
- - `extraccion-aprendizajes.js` crea instintos automáticamente al finalizar sesiones
76
- - `degradacion-instintos.js` reduce confidence cuando se contradicen patrones
77
- - `/swl:evolucionar` analiza instintos para proponer mejoras al sistema
78
- - `/swl:aprender` puede generar instintos nuevos como resultado del análisis
79
-
80
- ## Archivos
81
-
82
- | Archivo | Descripción |
83
- |---------|-------------|
84
- | `instintos/proyecto.yaml` | Instintos de scope project y domain |
85
- | `instintos/global.yaml` | Instintos promovidos a scope global (confidence > 0.8) |
86
- | `schemas/instinct.schema.json` | Schema JSON para validación de estructura |
1
+ ---
2
+ name: swl:instintos
3
+ description: Gestiona instintos YAML del sistema de aprendizaje continuo
4
+ allowed_tools: ["Read", "Write", "Edit", "Bash", "Glob", "Grep"]
5
+ ---
6
+
7
+ # /swl:instintos
8
+
9
+ Gestiona los instintos del sistema de aprendizaje continuo SWL.
10
+
11
+ ## Uso
12
+
13
+ ```
14
+ /swl:instintos — Lista instintos activos ordenados por confianza
15
+ /swl:instintos list — Lista todos los instintos con su estado
16
+ /swl:instintos add "patrón" — Agrega un instinto manual con confidence 0.5
17
+ /swl:instintos promote [id] — Promueve un instinto (confidence > 0.8) a skill
18
+ /swl:instintos merge [id1] [id2] — Fusiona instintos relacionados
19
+ /swl:instintos degrade [id] — Degrada manualmente un instinto
20
+ /swl:instintos stats — Muestra estadísticas del sistema de instintos
21
+ ```
22
+
23
+ ## Comportamiento
24
+
25
+ ### list
26
+
27
+ 1. Leer `instintos/proyecto.yaml` y `instintos/global.yaml`
28
+ 2. Mostrar tabla ordenada por confidence descendente:
29
+
30
+ ```
31
+ | ID | Patrón | Conf. | Scope | Evidencias | Estado |
32
+ |----------|-------------------------|-------|---------|------------|----------|
33
+ | inst-001 | conventional commits | 0.90 | project | 12 | active |
34
+ ```
35
+
36
+ ### add "patrón"
37
+
38
+ 1. Generar siguiente ID secuencial
39
+ 2. Crear instinto con confidence 0.5, scope project, status active
40
+ 3. Escribir en `instintos/proyecto.yaml`
41
+ 4. Incrementar `total_instintos` en el archivo
42
+
43
+ ### promote [id]
44
+
45
+ 1. Verificar que confidence > 0.8
46
+ 2. Generar estructura de skill en `habilidades/` basada en el patrón
47
+ 3. Cambiar status a "promoted"
48
+ 4. Registrar en manifiestos
49
+
50
+ ### merge [id1] [id2]
51
+
52
+ 1. Combinar evidence_count
53
+ 2. Promediar confidence
54
+ 3. Archivar el instinto con menos evidencia (status: archived)
55
+ 4. Actualizar el sobreviviente con el evidence_count combinado
56
+
57
+ ### degrade [id]
58
+
59
+ 1. Incrementar `contradictions` en 1
60
+ 2. Reducir confidence en 0.1
61
+ 3. Si confidence < 0.3: cambiar status a "degraded"
62
+ 4. Escribir cambios en el archivo YAML correspondiente
63
+
64
+ ### stats
65
+
66
+ Mostrar:
67
+ - Total de instintos por scope
68
+ - Promedio de confidence
69
+ - Instintos más fuertes (top 5 por confidence)
70
+ - Instintos en riesgo de degradación (confidence < 0.4)
71
+ - Instintos promovidos a skills
72
+
73
+ ## Integración
74
+
75
+ - `extraccion-aprendizajes.js` crea instintos automáticamente al finalizar sesiones
76
+ - `degradacion-instintos.js` reduce confidence cuando se contradicen patrones
77
+ - `/swl:evolucionar` analiza instintos para proponer mejoras al sistema
78
+ - `/swl:aprender` puede generar instintos nuevos como resultado del análisis
79
+
80
+ ## Archivos
81
+
82
+ | Archivo | Descripción |
83
+ |---------|-------------|
84
+ | `instintos/proyecto.yaml` | Instintos de scope project y domain |
85
+ | `instintos/global.yaml` | Instintos promovidos a scope global (confidence > 0.8) |
86
+ | `schemas/instinct.schema.json` | Schema JSON para validación de estructura |