@saulwade/swl-ses 2.3.0 → 2.4.1

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 (327) hide show
  1. package/CLAUDE.md +241 -199
  2. package/README.md +597 -597
  3. package/agentes/_intent-spec.md +73 -73
  4. package/agentes/_propose-step.md +90 -90
  5. package/agentes/accesibilidad-wcag-swl.md +2 -2
  6. package/agentes/arquitecto-swl.md +2 -2
  7. package/agentes/auto-evolucion-swl.md +2 -2
  8. package/agentes/backend-api-swl.md +2 -2
  9. package/agentes/backend-csharp-swl.md +2 -2
  10. package/agentes/backend-go-swl.md +2 -2
  11. package/agentes/backend-java-swl.md +2 -2
  12. package/agentes/backend-node-swl.md +2 -2
  13. package/agentes/backend-python-swl.md +2 -2
  14. package/agentes/backend-rust-swl.md +2 -2
  15. package/agentes/backend-workers-swl.md +2 -2
  16. package/agentes/cloud-infra-swl.md +2 -2
  17. package/agentes/consolidador-swl.md +2 -2
  18. package/agentes/datos-swl.md +2 -2
  19. package/agentes/depurador-swl.md +2 -2
  20. package/agentes/devops-ci-swl.md +2 -2
  21. package/agentes/disenador-ui-swl.md +2 -2
  22. package/agentes/documentador-swl.md +2 -2
  23. package/agentes/frontend-angular-swl.md +2 -2
  24. package/agentes/frontend-css-swl.md +2 -2
  25. package/agentes/frontend-react-swl.md +2 -2
  26. package/agentes/frontend-swl.md +2 -2
  27. package/agentes/frontend-tailwind-swl.md +2 -2
  28. package/agentes/gh-fix-ci-swl.md +275 -275
  29. package/agentes/implementador-swl.md +2 -2
  30. package/agentes/investigador-swl.md +2 -2
  31. package/agentes/investigador-ux-swl.md +2 -2
  32. package/agentes/llm-apps-swl.md +2 -2
  33. package/agentes/migrador-swl.md +2 -2
  34. package/agentes/mobile-android-swl.md +2 -2
  35. package/agentes/mobile-cross-swl.md +2 -2
  36. package/agentes/mobile-ios-swl.md +2 -2
  37. package/agentes/mobile-testing-swl.md +2 -2
  38. package/agentes/nemesis-auditor-swl.md +1 -1
  39. package/agentes/notificador-swl.md +2 -2
  40. package/agentes/observabilidad-swl.md +2 -2
  41. package/agentes/orquestador-swl.md +41 -14
  42. package/agentes/pagos-swl.md +2 -2
  43. package/agentes/perfilador-usuario-swl.md +2 -2
  44. package/agentes/planificador-swl.md +2 -2
  45. package/agentes/producto-prd-swl.md +2 -2
  46. package/agentes/red-team-swl.md +218 -218
  47. package/agentes/release-manager-swl.md +2 -2
  48. package/agentes/rendimiento-swl.md +2 -2
  49. package/agentes/resolutor-build-swl.md +2 -2
  50. package/agentes/revisor-angular-swl.md +2 -2
  51. package/agentes/revisor-codigo-swl.md +36 -3
  52. package/agentes/revisor-csharp-swl.md +2 -2
  53. package/agentes/revisor-go-swl.md +2 -2
  54. package/agentes/revisor-java-swl.md +2 -2
  55. package/agentes/revisor-kotlin-swl.md +2 -2
  56. package/agentes/revisor-nextjs-swl.md +2 -2
  57. package/agentes/revisor-php-swl.md +2 -2
  58. package/agentes/revisor-react-swl.md +2 -2
  59. package/agentes/revisor-rust-swl.md +2 -2
  60. package/agentes/revisor-seguridad-swl.md +2 -2
  61. package/agentes/revisor-swift-swl.md +2 -2
  62. package/agentes/revisor-typescript-swl.md +2 -2
  63. package/agentes/sre-swl.md +2 -2
  64. package/agentes/tdd-qa-swl.md +2 -2
  65. package/comandos/swl/briefing.md +119 -119
  66. package/comandos/swl/contexto.md +0 -2
  67. package/comandos/swl/contribuir.md +233 -233
  68. package/comandos/swl/deuda-codigo.md +97 -0
  69. package/comandos/swl/predecir.md +139 -139
  70. package/comandos/swl/sesiones.md +1 -1
  71. package/gateway/agent-executor.js +1 -1
  72. package/gateway/lib/event-channel.js +191 -191
  73. package/habilidades/agent-deep-links/SKILL.md +148 -148
  74. package/habilidades/agentes-como-servicio/SKILL.md +2 -2
  75. package/habilidades/angular-moderno/SKILL.md +24 -1
  76. package/habilidades/auto-evolucion-protocolo/SKILL.md +276 -276
  77. package/habilidades/backend-async-postgres-testing/SKILL.md +215 -215
  78. package/habilidades/backend-error-design/SKILL.md +221 -221
  79. package/habilidades/backend-production-resilience/SKILL.md +288 -288
  80. package/habilidades/benchmark-memoria/SKILL.md +186 -186
  81. package/habilidades/calidad-anti-patrones-universales/SKILL.md +368 -368
  82. package/habilidades/calidad-contract-testing/SKILL.md +165 -165
  83. package/habilidades/calidad-mutation-testing/SKILL.md +170 -170
  84. package/habilidades/changelog-generator/scripts/parse-commits.js +367 -367
  85. package/habilidades/checklist-seguridad/recursos/stride-cobertura.md +60 -60
  86. package/habilidades/contenedores-docker/SKILL.md +3 -1
  87. package/habilidades/diagrama-arquitectura/assets/template.html +276 -276
  88. package/habilidades/doubt-driven-review/recursos/EXAMPLES.md +130 -130
  89. package/habilidades/drift-detection/SKILL.md +179 -179
  90. package/habilidades/estructura-proyecto-claude/recursos/frontmatter-y-hooks-referencia.md +1 -1
  91. package/habilidades/estructura-proyecto-claude/recursos/mcp-json-template.json +57 -57
  92. package/habilidades/eval-framework/SKILL.md +212 -212
  93. package/habilidades/feynman-auditor-swl/recursos/preguntas-language-agnostic.md +108 -108
  94. package/habilidades/harness-claude-code/SKILL.md +4 -4
  95. package/habilidades/harness-claude-code/recursos/disciplina-harness-regla.md +253 -252
  96. package/habilidades/legacy-code-rescue/SKILL.md +268 -267
  97. package/habilidades/meta-skills-estandar/SKILL.md +1 -1
  98. package/habilidades/meta-skills-estandar/recursos/convencion-examples.md +93 -93
  99. package/habilidades/meta-skills-estandar/recursos/skills-as-agents.md +2 -2
  100. package/habilidades/patrones-python/recursos/patrones-avanzados.md +469 -469
  101. package/habilidades/perfil-usuario/SKILL.md +200 -200
  102. package/habilidades/postgresql-experto/SKILL.md +3 -1
  103. package/habilidades/prevencion-sobreingenieria/SKILL.md +70 -92
  104. package/habilidades/prevencion-sobreingenieria/recursos/EXAMPLES.md +580 -580
  105. package/habilidades/prevencion-sobreingenieria/recursos/soluciones-nativas.md +166 -0
  106. package/habilidades/prevencion-sobreingenieria/recursos/variables-residuales-post-refactor.md +85 -0
  107. package/habilidades/proceso-ddia-fundamentos/SKILL.md +255 -255
  108. package/habilidades/proceso-ddia-streaming/SKILL.md +231 -231
  109. package/habilidades/proceso-debate-adversarial/recursos/personas.md +105 -105
  110. package/habilidades/proceso-discovery-machote/SKILL.md +157 -157
  111. package/habilidades/proceso-dynamic-workflows/SKILL.md +138 -138
  112. package/habilidades/proceso-dynamic-workflows/recursos/template-adversarial-verify.js +65 -65
  113. package/habilidades/proceso-dynamic-workflows/recursos/template-triage.js +65 -65
  114. package/habilidades/proceso-intent-engineering/SKILL.md +269 -269
  115. package/habilidades/proceso-modular-split/SKILL.md +256 -256
  116. package/habilidades/prompt-engineering/recursos/patrones-avanzados.md +2 -2
  117. package/habilidades/state-inconsistency-auditor-swl/recursos/coupled-state-patterns.md +147 -147
  118. package/habilidades/structured-outputs/SKILL.md +2 -2
  119. package/habilidades/swl-claudemd/recursos/contrato-aprender.md +83 -83
  120. package/habilidades/swl-claudemd/recursos/duplicacion-reglas-globales.md +85 -85
  121. package/habilidades/swl-claudemd/recursos/plantillas-init.md +94 -94
  122. package/habilidades/swl-dashboard/SKILL.md +2 -2
  123. package/habilidades/tdd-workflow/recursos/gherkin-bdd.md +111 -111
  124. package/habilidades/validacion-ci-sistema/recursos/validadores-completos.md +1 -1
  125. package/habilidades/validacion-ci-sistema/scripts/validar-sistema.sh +1 -1
  126. package/hooks/audit-trail.js +4 -4
  127. package/hooks/calidad-pre-commit.js +15 -11
  128. package/hooks/captura-acciones-post.js +3 -2
  129. package/hooks/captura-acciones-session.js +3 -2
  130. package/hooks/ciclo-evolucion-subagente.js +26 -26
  131. package/hooks/ciclo-evolucion.js +26 -26
  132. package/hooks/claudemd-bloat-detector.js +161 -161
  133. package/hooks/claudemd-duplicacion-detector.js +170 -170
  134. package/hooks/contexto-iteracion.js +145 -144
  135. package/hooks/contexto-subagente.js +68 -0
  136. package/hooks/guardrail-modelo.js +14 -4
  137. package/hooks/inyeccion-contexto.js +12 -12
  138. package/hooks/lib/agent-routing.js +107 -107
  139. package/hooks/lib/auto-consolidator.js +335 -335
  140. package/hooks/lib/autonomia.js +208 -208
  141. package/hooks/lib/ciclo-evolucion.js +47 -47
  142. package/hooks/lib/deep-links.js +185 -185
  143. package/hooks/lib/error-classifier.js +308 -308
  144. package/hooks/lib/etapa-auto-evolucion.js +701 -701
  145. package/hooks/lib/etapa-metricas.js +388 -388
  146. package/hooks/lib/etapa-perfil-usuario.js +376 -376
  147. package/hooks/lib/loop-telemetry.js +321 -321
  148. package/hooks/lib/merkle-audit.js +96 -96
  149. package/hooks/lib/model-router.js +2 -2
  150. package/hooks/lib/propose-step.js +358 -358
  151. package/hooks/lib/provenance-tracker.js +191 -191
  152. package/hooks/lib/rate-limit-tracker.js +253 -253
  153. package/hooks/lib/resource-quota.js +122 -122
  154. package/hooks/lib/retry-jitter.js +165 -165
  155. package/hooks/lib/security-net.js +201 -201
  156. package/hooks/lib/skill-auditor.js +588 -588
  157. package/hooks/lib/sync-status.js +228 -228
  158. package/hooks/lib/taint-tracker.js +107 -107
  159. package/hooks/lib/text-similarity.js +241 -241
  160. package/hooks/lib/token-estimator.js +1 -0
  161. package/hooks/lib/toon-compressor.js +245 -245
  162. package/hooks/lib/usage-model.js +1 -1
  163. package/hooks/registro-turnos.js +210 -209
  164. package/hooks/session-briefing.js +98 -98
  165. package/hooks/spec-gate.js +212 -211
  166. package/hooks/sugerir-contribuir.js +2 -1
  167. package/hooks/sugerir-regenerar-inventario.js +171 -170
  168. package/hooks/tdd-gate.js +242 -241
  169. package/hooks/telemetria-skill-routing.js +100 -100
  170. package/hooks/validar-formato-post-subagente.js +140 -140
  171. package/hooks/validar-intent-spec.js +242 -242
  172. package/hooks/validar-memoria-hook.js +218 -218
  173. package/hooks/validar-planning-paths.js +134 -134
  174. package/instintos/autonomia.yaml +27 -27
  175. package/instintos/prompt-appendices.yaml +57 -57
  176. package/llms.txt +29 -29
  177. package/manifiestos/agent-output-schemas.json +57 -57
  178. package/manifiestos/canonical-hashes.json +2948 -1964
  179. package/manifiestos/hook-profiles.json +0 -2
  180. package/manifiestos/hooks-config.json +469 -477
  181. package/manifiestos/invariantes-criticos.json +30 -0
  182. package/manifiestos/modulos.json +1390 -1390
  183. package/manifiestos/planning-paths.json +44 -44
  184. package/manifiestos/skills-lock.json +1282 -1282
  185. package/package.json +93 -93
  186. package/plantillas/auditor-veto-template.md +105 -105
  187. package/plantillas/github-workflows/README.md +47 -47
  188. package/plantillas/github-workflows/release-please.yml +44 -44
  189. package/plantillas/github-workflows/swl-ci.yml +107 -107
  190. package/plantillas/github-workflows/swl-security.yml +51 -51
  191. package/plugin.json +369 -371
  192. package/reglas/accesibilidad.md +10 -10
  193. package/reglas/analisis-previo-tareas-grandes.md +172 -172
  194. package/reglas/api-diseno.md +9 -9
  195. package/reglas/arreglar-al-detectar.md +240 -240
  196. package/reglas/auditorias-documentales-estructurales.md +7 -7
  197. package/reglas/cloud-infra.md +8 -8
  198. package/reglas/consultar-vault-primero.md +195 -195
  199. package/reglas/debatir-antes-de-aceptar.md +158 -158
  200. package/reglas/fragmentos-compartidos.md +183 -183
  201. package/reglas/hooks.md +6 -6
  202. package/reglas/intent-engineering.md +218 -218
  203. package/reglas/markitdown.md +8 -8
  204. package/reglas/monitor-ci.md +309 -309
  205. package/reglas/patrones.md +6 -6
  206. package/reglas/sesiones-paralelas.md +180 -180
  207. package/reglas/sin-duplicacion-reglas-globales.md +182 -182
  208. package/reglas/skills-estandar.md +6 -6
  209. package/reglas/testing.md +7 -7
  210. package/reglas/tests-cleanup.md +224 -224
  211. package/reglas/usar-code-review-graph.md +155 -155
  212. package/reglas/usar-context7.md +226 -226
  213. package/reglas/verificar-citas-normativas.md +548 -548
  214. package/schemas/agent-frontmatter.schema.json +5 -3
  215. package/schemas/agent-message.schema.json +73 -73
  216. package/schemas/agent-output-implementacion.schema.json +114 -114
  217. package/schemas/agent-output-planificacion.schema.json +150 -150
  218. package/schemas/agent-output-review.schema.json +98 -98
  219. package/schemas/diary-entry.schema.json +112 -112
  220. package/schemas/hook-profiles.schema.json +54 -54
  221. package/schemas/hooks-config.schema.json +89 -89
  222. package/schemas/modulos.schema.json +38 -38
  223. package/schemas/perfiles.schema.json +36 -36
  224. package/schemas/plugin.schema.json +77 -77
  225. package/schemas/skill-evals.schema.json +119 -119
  226. package/schemas/skill-frontmatter.schema.json +245 -245
  227. package/scripts/audit-tools/audit-history.js +330 -330
  228. package/scripts/audit-tools/bundle-tracker.js +290 -290
  229. package/scripts/audit-tools/canary-monitor.js +352 -352
  230. package/scripts/audit-tools/code-profiler.js +605 -605
  231. package/scripts/audit-tools/dep-doctor.js +320 -320
  232. package/scripts/audit-tools/env-validator.js +206 -206
  233. package/scripts/audit-tools/lib/fs-walk.js +48 -48
  234. package/scripts/audit-tools/lib/output.js +23 -23
  235. package/scripts/audit-tools/migration-checker.js +392 -392
  236. package/scripts/audit-tools/pentest-scanner.js +1436 -1436
  237. package/scripts/benchmark-memoria.js +167 -167
  238. package/scripts/cli/aprobar-plan.js +73 -73
  239. package/scripts/cli/briefing.js +23 -23
  240. package/scripts/cli/ciclo-evolucion.js +26 -26
  241. package/scripts/cli/configurar-ci.js +40 -40
  242. package/scripts/cli/derivar-feature-list.js +25 -25
  243. package/scripts/cli/detectar-host.js +27 -27
  244. package/scripts/cli/diary-entry.js +69 -69
  245. package/scripts/cli/execution-state.js +18 -18
  246. package/scripts/cli/gateway-notify.js +41 -41
  247. package/scripts/cli/liberar-fase.js +42 -42
  248. package/scripts/cli/loop-telemetry.js +125 -125
  249. package/scripts/cli/mark-evolved.js +56 -56
  250. package/scripts/cli/metricas-dora.js +26 -26
  251. package/scripts/cli/near-duplicate.js +55 -55
  252. package/scripts/cli/notificaciones.js +123 -123
  253. package/scripts/cli/propose-step.js +29 -29
  254. package/scripts/cli/schedule-parse.js +19 -19
  255. package/scripts/cli/sugerir-modelo.js +20 -20
  256. package/scripts/cli/verificar-plan.js +36 -36
  257. package/scripts/cli/verificar-trazabilidad.js +35 -35
  258. package/scripts/configurar-branch-protection.js +418 -418
  259. package/scripts/detectar-aprendizajes-duplicados.js +151 -151
  260. package/scripts/field-report.js +199 -199
  261. package/scripts/generar-checklists-consolidados.js +273 -273
  262. package/scripts/generar-matriz-lenguajes.js +271 -271
  263. package/scripts/instalador.js +4 -1
  264. package/scripts/lib/artefactos-python.js +43 -43
  265. package/scripts/lib/auditar-invocaciones-comandos.js +104 -104
  266. package/scripts/lib/benchmark-metrics.js +160 -160
  267. package/scripts/lib/budget-enforcer.js +252 -252
  268. package/scripts/lib/ci-reader.js +193 -193
  269. package/scripts/lib/claude-sessions.js +1 -0
  270. package/scripts/lib/configurar-ci.js +380 -380
  271. package/scripts/lib/contadores-inventario.js +217 -217
  272. package/scripts/lib/detectar-host-swl.js +175 -175
  273. package/scripts/lib/detectar-stack-detallado.js +307 -307
  274. package/scripts/lib/detector-autoduplicacion-intra-archivo.js +234 -234
  275. package/scripts/lib/detector-reglas-duplicadas.js +220 -220
  276. package/scripts/lib/diary-entry.js +234 -234
  277. package/scripts/lib/eval-metrics-store.js +218 -218
  278. package/scripts/lib/eval-quality.js +171 -171
  279. package/scripts/lib/eval-schemas.js +144 -144
  280. package/scripts/lib/eval-self-correct.js +106 -106
  281. package/scripts/lib/eval-validator.js +185 -185
  282. package/scripts/lib/evidencia-release.js +322 -322
  283. package/scripts/lib/gate-hooks-requires.js +249 -249
  284. package/scripts/lib/gate-licencias.js +212 -212
  285. package/scripts/lib/git-metricas.js +257 -257
  286. package/scripts/lib/jaccard-similarity.js +98 -98
  287. package/scripts/lib/longmemeval-runner.js +125 -125
  288. package/scripts/lib/metricas-dora.js +204 -204
  289. package/scripts/lib/npm-version.js +261 -261
  290. package/scripts/lib/paquetes-conocidos.js +50 -50
  291. package/scripts/lib/plan-lock.js +275 -275
  292. package/scripts/lib/pr-analyzer.js +399 -399
  293. package/scripts/lib/preservar-usuario.js +39 -5
  294. package/scripts/lib/prompt-builder.js +264 -264
  295. package/scripts/lib/reglas-globales-conocidas.json +180 -180
  296. package/scripts/lib/resolver-plan-fase.js +37 -37
  297. package/scripts/lib/rrf-fusion.js +175 -175
  298. package/scripts/lib/schema-version.js +164 -164
  299. package/scripts/lib/scoring-instintos.js +277 -277
  300. package/scripts/lib/semantic-search.js +252 -252
  301. package/scripts/lib/tool-cost-analyzer.js +1 -0
  302. package/scripts/limpiar-artefactos-python.js +131 -131
  303. package/scripts/migrar-csv-a-array.js +168 -168
  304. package/scripts/migrar-fase-dominio.js +200 -200
  305. package/scripts/publicar.js +497 -497
  306. package/scripts/run-eval.js +141 -141
  307. package/scripts/tui/componentes/selector-multi.js +189 -189
  308. package/scripts/tui/componentes/selector-unico.js +158 -158
  309. package/scripts/tui/ejecutores.js +375 -375
  310. package/scripts/tui/index.js +162 -162
  311. package/scripts/tui/lib/colores.js +129 -129
  312. package/scripts/tui/lib/render.js +264 -264
  313. package/scripts/tui/lib/teclas.js +113 -113
  314. package/scripts/tui/pantallas/inspect.js +173 -173
  315. package/scripts/tui/pantallas/install-wizard.js +334 -334
  316. package/scripts/tui/pantallas/menu-principal.js +52 -52
  317. package/scripts/tui/pantallas/progreso.js +274 -274
  318. package/scripts/tui/pantallas/resumen.js +132 -132
  319. package/scripts/tui/pantallas/uninstall-wizard.js +208 -208
  320. package/scripts/tui/pantallas/update-wizard.js +232 -232
  321. package/scripts/tui/pantallas/welcome.js +187 -187
  322. package/scripts/validar-userland-vacio.js +110 -110
  323. package/scripts/validar.js +1 -1
  324. package/scripts/verificar-release.js +51 -0
  325. package/hooks/lib/context-compressor.js +0 -657
  326. package/hooks/linea-estado.js +0 -326
  327. package/hooks/monitor-contexto.js +0 -373
package/README.md CHANGED
@@ -1,597 +1,597 @@
1
- # swl-ses v2.3.0
2
-
3
- > El paquete anterior `@saulwadeleon/swl-software-engineering-system` está deprecado. Migrar a `@saulwade/swl-ses` (npmjs.org canónico) o `@saul-wade/swl-ses` (mirror en GitHub Packages) — el CLI `swl-ses` no cambia.
4
-
5
- Sistema de ingeniería de software auto-evolutivo **multi-runtime** con agentes especializados, habilidades modulares, hooks de seguridad y orquestación ligera. 100% en español (México). Soporta 11 lenguajes: Python, TypeScript, Java, Go, Rust, C#, Kotlin, Swift, PHP, Next.js y C++.
6
-
7
- Soporta 7 runtimes de IA: Claude Code, OpenClaude, OpenCode y Gemini CLI (soporte completo); Cursor, Codex CLI y GitHub Copilot (soporte parcial — reglas + MCP server o consolidación en archivo de instrucciones según el runtime). Incluye sistema de transformadores que adapta el formato canónico SWL al formato nativo de cada runtime, **multi-target install** (`--target=claude,cursor,codex` en una sola invocación), y **`swl-mcp-server` v1.0.0** con auth opt-in para que Cursor, Codex y otros clientes MCP consulten la memoria SWL (aprendizajes, instintos, sesiones).
8
-
9
- Cubre el SDLC completo: discovery, requisitos, arquitectura, UX/UI, frontend, backend, mobile, datos, testing, seguridad, CI/CD, observabilidad, releases, documentación, notificaciones y auto-evolución. Incluye sistema de notificaciones Telegram opt-in (hook saliente, bot bidireccional con 15 comandos, autostart cross-platform), **auditoría profunda Nemesis** (loop iterativo Feynman + State Inconsistency hasta convergencia, ahora con loop evaluator-optimizer opt-in vía `/swl:nemesis --remediar` desde v1.5.2 - ADR-0021) con 8 tools ejecutables JSON-output para code-profiler, pentest-scanner, dep-doctor, bundle-tracker y más (ADR-0018, v1.4.1), e **instalador/actualizador TUI custom** zero-deps con paneles, multi-select y barra de progreso por categoría (v1.6.0).
10
-
11
- ## Inventario
12
-
13
- | Componente | Cantidad |
14
- |-----------|----------|
15
- | Agentes SWL | 60 |
16
- | Habilidades | 182 (todas <=300 líneas, con divulgación progresiva a recursos/) |
17
- | Comandos (/swl:*) | 43 (todos <=300 líneas, delegan a skills) |
18
- | Reglas | 37 base + 40 por lenguaje (8 lenguajes x 5) |
19
- | Hooks | 46 + 73 librerías en hooks/lib/ |
20
- | Tools ejecutables (audit-tools) | 8 (code-profiler, pentest-scanner, dep-doctor, bundle-tracker, env-validator, migration-checker, canary-monitor, audit-history) |
21
- | Schemas | 15 |
22
- | Perfiles de instalación | 17 |
23
- | Contextos | 3 (dev, review, research) |
24
- | Gateway multi-plataforma | Telegram, Discord, WhatsApp, Slack, Email, Webhook (salida bidireccional opt-in) |
25
-
26
- ## Lenguajes soportados (11)
27
-
28
- | Lenguaje | Reglas | Skills | Agente Revisor | Agente Implementador | Build Errors |
29
- |----------|--------|--------|----------------|---------------------|-------------|
30
- | Python | base | 7 | revisor-codigo-swl | backend-python-swl | build-errors-python |
31
- | TypeScript | base | 2 | revisor-codigo-swl | backend-node-swl | build-errors-typescript |
32
- | Java | 5 | 4 | revisor-java-swl | backend-java-swl | build-errors-java |
33
- | Go | 5 | 4 | revisor-go-swl | backend-go-swl | build-errors-go |
34
- | Rust | 5 | 4 | revisor-rust-swl | backend-rust-swl | build-errors-rust |
35
- | C#/.NET | 5 | 4 | revisor-csharp-swl | backend-csharp-swl | build-errors-csharp |
36
- | Kotlin | 5 | 4 | revisor-kotlin-swl | mobile-android-swl | build-errors-kotlin |
37
- | Swift | 5 | 4 | revisor-swift-swl | mobile-ios-swl | build-errors-swift |
38
- | PHP | 5 | 4 | revisor-php-swl | implementador-swl | build-errors-php |
39
- | Next.js | 5 | 4 | revisor-nextjs-swl | frontend-react-swl | build-errors-nextjs |
40
- | C++ | - | 1 | - | - | build-errors-cpp |
41
-
42
- ## Instalación
43
-
44
- ### Entender `init` vs `install`
45
-
46
- El setup requiere **dos comandos en orden**, con propósitos distintos:
47
-
48
- | Comando | Qué crea | Dónde | Instala agentes/skills |
49
- |---------|----------|-------|------------------------|
50
- | `npx @saulwade/swl-ses@latest init` | `.planning/` y `_userland/` (plantillas vacías) | En el proyecto actual | ❌ No |
51
- | `npx @saulwade/swl-ses@latest install` | Agentes, skills, reglas, hooks, comandos `/swl:*` | En `.claude/` del proyecto o en `~/.claude/` global | ✅ Sí |
52
-
53
- **`init` siempre es local al proyecto.** `install` puede ser local (`--local`, default) o global (`--global`).
54
-
55
- > Instalar globalmente (`--global` o `npm install -g swl-ses`) pone los componentes en `~/.claude/`
56
- > y los hace disponibles en todos tus proyectos. Aun así, cada proyecto necesita su propio `init`
57
- > para obtener `.planning/` y `_userland/`.
58
-
59
- ### Modo recomendado: TUI visual (v1.6.0+)
60
-
61
- Desde v1.6.0, al ejecutar `install` o `update` sin flags desde una terminal
62
- interactiva, swl-ses lanza un **TUI custom** con paneles, selectores con
63
- flechas, multi-select con espacio y barra de progreso por categoría.
64
-
65
- ```bash
66
- # Lanza el TUI: Welcome → Menú → Wizard → Progreso → Resumen
67
- npx -y @saulwade/swl-ses@latest install
68
- npx -y @saulwade/swl-ses@latest update
69
- ```
70
-
71
- Opt-out con `--no-tui` para usar el asistido lineal clásico, o pasa cualquier
72
- flag (`--target`, `--profile`, `--force`, etc.) y el CLI usa el flujo directo
73
- sin prompts. Ver [`MANUAL_USO.md`](./MANUAL_USO.md) sección "Opción C — Modo
74
- TUI visual" para capturas ASCII de cada pantalla.
75
-
76
- ### Opción 1: CLI vía npmjs (recomendada)
77
-
78
- ```bash
79
- cd /ruta/a/tu/proyecto
80
- npx @saulwade/swl-ses@latest init # Crea .planning/ y _userland/
81
- npx @saulwade/swl-ses@latest install --target claude --profile core # Instala agentes, skills, hooks y reglas
82
- npx @saulwade/swl-ses@latest doctor # Verifica que todo quedó correcto
83
- ```
84
-
85
- No requiere autenticación. El paquete `swl-ses` está publicado en npmjs.
86
-
87
- #### Instalación global (una vez, disponible en todos los proyectos)
88
-
89
- ```bash
90
- # Instalar swl-ses globalmente
91
- npm install -g swl-ses
92
-
93
- # En cada proyecto nuevo:
94
- cd /ruta/a/mi-proyecto
95
- swl-ses install --global --target claude --profile core # Componentes en ~/.claude/ (una sola vez)
96
- swl-ses init # Estructura .planning/ en este proyecto
97
- swl-ses doctor
98
- ```
99
-
100
- ### Opción 2: CLI vía GitHub Packages (mirror)
101
-
102
- ```bash
103
- # Requiere autenticación con GitHub (ver INSTALACION.md)
104
- npx @saul-wade/swl-ses@latest init
105
- npx @saul-wade/swl-ses@latest install --target claude --profile core
106
- ```
107
-
108
- Nota: la opción canónica es **npmjs.org** (`@saulwade/swl-ses`), GitHub Packages
109
- es un mirror para usuarios que prefieran ese registry. El binario y el contenido
110
- son idénticos.
111
-
112
- #### Por qué los scopes difieren
113
-
114
- La organización en npmjs.org se llama `saulwade` (sin guion) porque
115
- **npm no permite guiones en nombres de organización** — el registro
116
- los rechaza desde el formulario de creación. La organización en GitHub
117
- sí acepta guiones y se llama `saul-wade`. Como cada registry deriva el
118
- scope del paquete del nombre de la org propietaria, terminamos con
119
- `@saulwade/swl-ses` en npmjs y `@saul-wade/swl-ses` en GitHub Packages.
120
- El contenido publicado es idéntico; el comando CLI `swl-ses` no cambia.
121
-
122
- ### Opción 3: Clonar y usar directamente
123
-
124
- ```bash
125
- git clone https://github.com/saul-wade/swl-ses.git
126
- cd swl-ses
127
- claude
128
- # Claude lee CLAUDE.md y tiene acceso a todo el sistema
129
- ```
130
-
131
- ### Opción 4: Plugin de Claude Code
132
-
133
- ```bash
134
- # Dentro de una sesion de Claude Code:
135
- /plugin marketplace add https://github.com/saul-wade/swl-ses
136
- /plugin install swl-ses@saul-wade
137
- ```
138
-
139
- > Para forzar siempre la última versión:
140
- > `npx @saulwade/swl-ses@latest <comando>`
141
-
142
- ## Comandos del CLI
143
-
144
- > Las tablas siguientes usan el alias corto `swl-ses@latest` (sin scope) por
145
- > compatibilidad con instalación global (`npm install -g swl-ses` enlaza el
146
- > bin con ese nombre). Para forzar el paquete canónico desde npmjs sin
147
- > tocar la instalación global, sustituir por `@saulwade/swl-ses@latest`
148
- > (npmjs canónico) o `@saul-wade/swl-ses@latest` (mirror GitHub Packages).
149
-
150
- | Comando | Descripción |
151
- |---------|-------------|
152
- | `npx @saulwade/swl-ses@latest init` | Crea `.planning/` (plantillas de planificación) y `_userland/` (tus personalizaciones) en el proyecto actual. **No instala agentes ni skills.** |
153
- | `npx @saulwade/swl-ses@latest install` | Instala agentes, skills, reglas, hooks y comandos `/swl:*` en el runtime destino (`.claude/` local o `~/.claude/` global). |
154
- | `npx @saulwade/swl-ses@latest doctor` | Diagnostica problemas de la instalación |
155
- | `npx @saulwade/swl-ses@latest update` | Actualiza componentes instalados |
156
- | `npx @saulwade/swl-ses@latest uninstall` | Desinstala componentes del runtime |
157
- | `npx @saulwade/swl-ses@latest info` | Muestra información del sistema instalado |
158
- | `npx @saulwade/swl-ses@latest skills list` | Lista skills instalados |
159
- | `npx @saulwade/swl-ses@latest skills add <fuente>` | Agrega skill desde repo Git, owner/repo, o path local |
160
- | `npx @saulwade/swl-ses@latest skills remove <nombre>` | Remueve un skill individual |
161
- | `npx @saulwade/swl-ses@latest agents list` | Lista agentes instalados |
162
- | `npx @saulwade/swl-ses@latest agents add <fuente>` | Agrega agente desde repo Git o path local |
163
- | `npx @saulwade/swl-ses@latest agents remove <nombre>` | Remueve un agente individual |
164
-
165
- ### Opciones de install
166
-
167
- | Opción | Valores | Descripción |
168
- |--------|---------|-------------|
169
- | `--target <runtime>` | `claude`, `openclaude`, `copilot`, `opencode`, `codex`, `gemini` | Runtime destino (default: `claude`) |
170
- | `--profile <perfil>` | Ver perfiles abajo | Perfil de instalación (default: `completo`) |
171
- | `--global` | — | Instala los **componentes** en el directorio global (`~/.claude/`). No reinstala el binario CLI — ver "Modelo de dos planos" abajo. |
172
- | `--local` | — | Instala en directorio local del proyecto (`.claude/`) |
173
- | `--with <componentes>` | Separados por coma | Incluir módulos adicionales |
174
- | `--without <componentes>` | Separados por coma | Excluir módulos |
175
- | `--dry-run` | — | Muestra plan sin aplicar cambios |
176
- | `--force` | — | Sobrescribe archivos existentes. **Excepción**: los componentes evolucionados por el usuario (auto-evolución local) NUNCA se sobrescriben — se preservan y se genera un diff de reconciliación. Los componentes pre-evolucionados de fábrica que el usuario no tocó sí se actualizan, con backup previo. |
177
-
178
- ### Modelo de dos planos: binario CLI vs componentes
179
-
180
- Actualizar swl-ses tiene **dos planos independientes**:
181
-
182
- 1. **Binario CLI** (`swl-ses` en el PATH): se instala/actualiza con
183
- `npm install -g @saulwade/swl-ses@latest`. `npx … install` **no** lo toca.
184
- 2. **Componentes** (agentes, skills, comandos, reglas, hooks en `~/.claude/` o
185
- `.claude/`): se propagan con `npx -y @saulwade/swl-ses@latest install …`.
186
-
187
- Para una actualización completa, ejecuta **ambos**:
188
-
189
- ```bash
190
- npm install -g @saulwade/swl-ses@latest # plano 1: binario
191
- npx -y @saulwade/swl-ses@latest install --global --force # plano 2: componentes
192
- ```
193
-
194
- Correr solo uno deja el otro plano en una versión anterior.
195
-
196
- ### Perfiles de instalación
197
-
198
- | Perfil | Descripción |
199
- |--------|-------------|
200
- | `core` | Mínimo viable: orquestador + agentes base + reglas + comandos |
201
- | `backend-python` | FastAPI/Django + patrones + testing + async + API + datos |
202
- | `backend-node` | Express/Fastify/NestJS + TypeScript + API + datos |
203
- | `backend-java` | Spring Boot + Maven/Gradle + patrones Java + testing + API |
204
- | `backend-go` | Go + Gin/Echo + patrones Go + testing + API |
205
- | `backend-rust` | Rust + Axum/Actix + patrones Rust + testing + API |
206
- | `backend-csharp` | .NET + ASP.NET Core + patrones C# + testing + API |
207
- | `frontend-react` | React/Next.js + UX + estilos + accesibilidad |
208
- | `frontend-angular` | Angular v20+ + signals + UX + estilos |
209
- | `fullstack-python-angular` | Python backend + Angular frontend + datos + seguridad |
210
- | `fullstack-node-react` | Node.js backend + React frontend + datos + seguridad |
211
- | `fullstack-java-angular` | Java backend + Angular frontend + datos + seguridad |
212
- | `fullstack-go-react` | Go backend + React frontend + datos + seguridad |
213
- | `mobile` | Android + iOS + React Native/Flutter + UX |
214
- | `devops` | CI/CD + cloud + observabilidad + releases + seguridad |
215
- | `polyglot` | Todos los lenguajes: 11 lenguajes + revisores + build resolvers |
216
- | `completo` | Todo: 60 agentes + 182 habilidades + 44 comandos + 77 reglas + 50 hooks |
217
-
218
- ### Targets soportados
219
-
220
- | Target | Runtime | Soporte | Componentes |
221
- |--------|---------|---------|-------------|
222
- | `claude` | Claude Code | Completo | Agentes, skills, comandos, reglas, hooks |
223
- | `openclaude` | OpenClaude | Completo | Agentes, skills, comandos, reglas, hooks |
224
- | `opencode` | OpenCode | Completo | Agentes, skills, comandos, reglas, hooks |
225
- | `gemini` | Gemini CLI | Completo | Agentes, skills, comandos, reglas, hooks |
226
- | `copilot` | GitHub Copilot | Parcial | Solo agentes y reglas (limitación de plataforma) |
227
- | `codex` | Codex CLI | Completo | Agentes en `~/.codex/agents/<name>.toml` (Sub-fase 11) + AGENTS.md con marcadores como índice + skills en `~/.agents/skills/<name>/SKILL.md` (path oficial OpenAI) + hooks en `~/.codex/hooks.json` (6 eventos) + MCP en `~/.codex/config.toml` con `--with-mcp` |
228
- | `cursor` | Cursor | Completo | Agentes en `.cursor/agents/<name>.md` (Subagents) + skills en `.cursor/skills/<name>/SKILL.md` + reglas en `.cursor/rules/*.mdc` + hooks en `.cursor/hooks.json` (17 eventos) + MCP en `.cursor/mcp.json` con `--with-mcp` |
229
-
230
- > **OpenClaude** usa los mismos directorios de proyecto que Claude Code (`.claude/`). Instalar `--target openclaude` en un proyecto con Claude Code aplica a ambos simultáneamente.
231
-
232
- ### Ejemplos
233
-
234
- ```bash
235
- # Perfil básico en Claude Code
236
- npx @saulwade/swl-ses@latest install --target claude --profile core
237
-
238
- # Backend Python en Gemini CLI
239
- npx @saulwade/swl-ses@latest install --target gemini --profile backend-python
240
-
241
- # Frontend React en GitHub Copilot
242
- npx @saulwade/swl-ses@latest install --target copilot --profile frontend-react
243
-
244
- # Full-stack en OpenClaude (multi-proveedor, usa .claude/ igual que Claude Code)
245
- npx @saulwade/swl-ses@latest install --target openclaude --profile fullstack-python-angular
246
-
247
- # Full-stack en OpenCode
248
- npx @saulwade/swl-ses@latest install --target opencode --profile fullstack-python-angular
249
-
250
- # Perfil completo en directorio global
251
- npx @saulwade/swl-ses@latest install --target claude --profile completo --global
252
-
253
- # Agregar skills desde GitHub con selector interactivo
254
- npx @saulwade/swl-ses@latest skills add anthropics/skills
255
-
256
- # Agregar un skill específico por nombre
257
- npx @saulwade/swl-ses@latest skills add anthropics/skills --skill docx
258
-
259
- # Agregar todos los skills de un repo sin selector
260
- npx @saulwade/swl-ses@latest skills add anthropics/skills --all
261
-
262
- # Agregar skill desde URL completa
263
- npx @saulwade/swl-ses@latest skills add https://github.com/user/repo --skill mi-skill
264
-
265
- # Agregar agente desde path local
266
- npx @saulwade/swl-ses@latest agents add ./mis-agentes --agent mi-agente
267
-
268
- # Ver que se instalaria sin hacer cambios
269
- npx @saulwade/swl-ses@latest install --target codex --profile core --dry-run
270
-
271
- # Ver información del sistema
272
- npx @saulwade/swl-ses@latest info --target claude
273
- ```
274
-
275
- ## Agentes (59)
276
-
277
- ### Orquestación y Proceso
278
- `orquestador-swl`, `producto-prd-swl`, `consolidador-swl`, `auto-evolución-swl`
279
-
280
- ### Discovery e Investigación
281
- `investigador-swl`, `investigador-ux-swl`
282
-
283
- ### Arquitectura
284
- `arquitecto-swl`, `planificador-swl`
285
-
286
- ### UX / UI / Diseño
287
- `investigador-ux-swl`, `disenador-ui-swl`, `accesibilidad-wcag-swl`
288
-
289
- ### Frontend
290
- `frontend-swl`, `frontend-react-swl`, `frontend-angular-swl`, `frontend-css-swl`, `frontend-tailwind-swl`
291
-
292
- ### Backend
293
- `implementador-swl`, `backend-python-swl`, `backend-node-swl`, `backend-api-swl`, `backend-workers-swl`
294
-
295
- ### Backend Multi-Lenguaje (nuevo)
296
- `backend-java-swl`, `backend-go-swl`, `backend-csharp-swl`, `backend-rust-swl`
297
-
298
- ### Mobile
299
- `mobile-android-swl`, `mobile-ios-swl`, `mobile-cross-swl`
300
-
301
- ### Datos
302
- `datos-swl`, `migrador-swl`
303
-
304
- ### Calidad
305
- `tdd-qa-swl`, `revisor-codigo-swl`, `revisor-seguridad-swl`
306
-
307
- ### Revisores por Lenguaje (nuevo)
308
- `revisor-java-swl`, `revisor-go-swl`, `revisor-rust-swl`, `revisor-csharp-swl`, `revisor-kotlin-swl`, `revisor-swift-swl`, `revisor-php-swl`, `revisor-nextjs-swl`
309
-
310
- ### Infraestructura
311
- `devops-ci-swl`, `cloud-infra-swl`, `observabilidad-swl`
312
-
313
- ### Rendimiento y Releases
314
- `rendimiento-swl`, `release-manager-swl`
315
-
316
- ### Documentación, Notificaciones, Debugging
317
- `documentador-swl`, `notificador-swl`, `depurador-swl`
318
-
319
- ### Build Resolution
320
- `resolutor-build-swl`
321
-
322
- ### LLM, Pagos y SRE
323
- `llm-apps-swl`, `pagos-swl`, `sre-swl`
324
-
325
- ### Revisores adicionales
326
- `revisor-typescript-swl`, `revisor-react-swl`, `revisor-angular-swl`
327
-
328
- ## Comandos (/swl:*)
329
-
330
- | Comando | Función |
331
- |---------|---------|
332
- | `/swl:instalar` | Instalación interactiva dentro de Claude Code |
333
- | `/swl:actualizar` | Actualizar sin desinstalar |
334
- | `/swl:nuevo-proyecto` | Inicializar proyecto con PROYECTO.md y roadmap |
335
- | `/swl:discutir-fase` | Recopilar contexto antes de planificar |
336
- | `/swl:planear-fase` | Crear PLAN.md con vertical slices |
337
- | `/swl:ejecutar-fase` | Ejecutar plan con commits atómicos |
338
- | `/swl:verificar` | Verificar implementación contra spec |
339
- | `/swl:mapear-codebase` | Analizar codebase existente |
340
- | `/swl:checkpoint` | Guardar estado para continuar después |
341
- | `/swl:compactar` | Reducir contexto preservando info clave |
342
- | `/swl:aprender` | Extraer aprendizajes de la sesión |
343
- | `/swl:evolucionar` | Auto-evolución de agentes/skills |
344
- | `/swl:autoresearch` | Loop de auto-mejora iterativa contra checklist |
345
- | `/swl:crear-skill` | Crear nuevo skill con guía interactiva |
346
- | `/swl:status salud` | Diagnóstico de integridad del sistema |
347
- | `/swl:release` | Ciclo de release SemVer |
348
- | `/swl:auditar-deps` | Auditoría de dependencias (CVEs) |
349
- | `/swl:contexto` | Cambiar modo de desarrollo activo (dev/review/research) |
350
- | `/swl:sesiones` | Gestionar persistencia de sesiones de trabajo |
351
- | `/swl:instintos` | Inspeccionar y gestionar instintos del sistema |
352
- | `/swl:modelo` | Configurar modelo de IA por agente o globalmente |
353
- | `/swl:status metricas` | Ver métricas de sesión y productividad |
354
- | `/swl:status dashboard` | Dashboard histórico de uso multi-sesión (gráficas interactivas) |
355
- | `/swl:revisar-impacto` | Análisis de impacto estructural: blast radius, risk score, comunidades |
356
- | `/swl:evaluar-skill` | Evaluación formal de skills: 2 capas (estática + semántica), badges de calidad |
357
- | `/swl:wiki` | Gestionar wiki de conocimiento del proyecto (init/ingest/query/lint) |
358
- | `/swl:plugins` | Gestionar plugins y extensiones del sistema |
359
- | `/swl:revisar` | Revisión de código por tecnología |
360
- | `/swl:brainstorm` | Brainstorming estructurado |
361
- | `/swl:ayuda` | Ayuda interactiva: catálogo, detalle de comando, búsqueda por keyword |
362
- | `/swl:skill-search` | Buscar skills por keyword o dominio |
363
- | `/swl:mcp-status` | Estado de servidores MCP conectados |
364
- | `/swl:cron` | Gestionar tareas programadas |
365
- | `/swl:gateway` | Configurar gateway multi-plataforma + modo relay bidireccional Telegram → Claude |
366
- | `/swl:inbox` | Consumir comandos entrantes del gateway (enviados desde Telegram/Discord/webhook) |
367
- | `/swl:reflect-skills` | Analizar historial JSONL para detectar patrones candidatos a skill/comando emergente |
368
- | `/swl:contribuir` | Contribuir evoluciones al core (filtro dominio + PluginEval ≥80) |
369
- | `/swl:exportar-vault` | Exportar resumen de sesión al vault personal (Obsidian u otro) |
370
-
371
- Ver [COMANDOS.md](COMANDOS.md) para flags y opciones detalladas de cada comando.
372
- Ver [MANUAL_USO.md](MANUAL_USO.md) para explicaciones prácticas de cada comando y guías de cuándo usarlos.
373
-
374
- ## Arquitectura
375
-
376
- ### Thin Orchestrator
377
-
378
- ```
379
- Comando (/swl:planear-fase)
380
- +-> Cargar habilidad (planear-fase/SKILL.md)
381
- +-> Spawn agente (planificador-swl) con contexto fresco
382
- +-> Verificar resultado (revisor-codigo-swl)
383
- +-> Actualizar estado (.planning/ESTADO.md)
384
- ```
385
-
386
- ### Estado en archivos (.planning/)
387
-
388
- ```
389
- .planning/
390
- PROYECTO.md # Vision, contexto, objetivos
391
- REQUISITOS.md # Requisitos con IDs (REQ-001...)
392
- HOJA-RUTA.md # Fases con entregables y verificación
393
- ESTADO.md # Estado actual, decisiones, riesgos
394
- CONTEXTO.md # Modo de desarrollo activo
395
- METRICAS.md # Métricas de sesión
396
- research/ # Investigación del dominio
397
- fases/ # Documentos por fase (CONTEXTO, PLAN, RESUMEN, VERIFICACION)
398
- sessions/ # Persistencia de sesiones JSON
399
- comms/ # Comunicación entre agentes
400
- ```
401
-
402
- ### Arquitectura de 4 capas
403
-
404
- | Capa | Componente | Propósito |
405
- |------|-----------|-----------|
406
- | L1 | CLAUDE.md | Contexto persistente y reglas |
407
- | L2 | Skills | Paquetes de conocimiento versionados |
408
- | L3 | Hooks | Seguridad y automatización |
409
- | L4 | Agents | Subagentes con contexto aislado |
410
-
411
- ## Gateway bidireccional con Telegram (opt-in)
412
-
413
- El sistema incluye un gateway que permite **enviar comandos a Claude desde Telegram** (u otro adaptador) y recibir respuestas sin necesidad de estar frente al teclado. Todo el flujo es opt-in y queda en audit trail.
414
-
415
- ### Flujo
416
-
417
- ```
418
- Telegram (móvil) → CommandRelay (valida) → .planning/inbox/cmd-*.json → /swl:inbox en Claude
419
- o claude -p headless (auto)
420
- ```
421
-
422
- ### Protecciones del CommandRelay
423
-
424
- - Whitelist de usuarios por plataforma (`relay.platforms.<nombre>.allowedUsers`)
425
- - Rechazo de payload injection: `<script>`, `.env`, `id_rsa`, `.ssh/`, etc.
426
- - Límite de 4000 chars por mensaje
427
- - Rate limit: 10 msg/min por usuario (configurable)
428
- - Dedup por hash SHA-1 en ventana de 30s
429
- - Audit trail append-only en `.planning/inbox/audit.jsonl`
430
-
431
- ### Modos de consumo
432
-
433
- | Modo | Qué hace | Compatible |
434
- |---|---|---|
435
- | Portable (default) | Los mensajes se encolan; al ejecutar `/swl:inbox` en tu sesión Claude los procesas con juicio humano | Windows / Linux / macOS |
436
- | Auto-exec headless | El bot invoca `claude -p --model haiku-4-5 --max-budget-usd 0.50 --allowedTools <solo-lectura>` en el cwd del proyecto y responde con el output | Windows / Linux / macOS |
437
- | tmux inject (opt-in) | Daemon `scripts/inbox-tmux-inject.js` inyecta a una sesión tmux con `tmux send-keys` | Linux / macOS |
438
-
439
- Configuración en `manifiestos/gateway-config.json`. Ver [MANUAL_USO.md](MANUAL_USO.md) sección `/swl:gateway` para setup completo.
440
-
441
- ## Skills bundled de Claude Code
442
-
443
- Los agentes SWL pueden usar estos 17 skills que vienen con Claude Code:
444
-
445
- `/pdf`, `/pptx`, `/docx`, `/xlsx`, `/frontend-design`, `/web-artifacts-builder`,
446
- `/claude-api`, `/brand-guidelines`, `/skill-creator`, `/mcp-builder`,
447
- `/webapp-testing`, `/internal-comms`, `/doc-coauthoring`, `/canvas-design`,
448
- `/algorithmic-art`, `/theme-factory`, `/slack-gif-creator`
449
-
450
- ## Modo _userland/
451
-
452
- Coloca tus agentes y habilidades personalizados en `_userland/`:
453
-
454
- ```
455
- _userland/
456
- agentes/
457
- mi-agente-custom.md
458
- habilidades/
459
- mi-habilidad/
460
- SKILL.md
461
- ```
462
-
463
- El instalador detecta `_userland/`, hace merge con los componentes core y da prioridad a tus archivos.
464
-
465
- ## Publicación
466
-
467
- El paquete se publica en dos registros (dual-publish):
468
-
469
- | Registro | Paquete | Requiere auth |
470
- |----------|---------|---------------|
471
- | npmjs.org (canónico) | `@saulwade/swl-ses` | Solo para publicar |
472
- | GitHub Packages (mirror) | `@saul-wade/swl-ses` | Para instalar y publicar |
473
-
474
- ```bash
475
- # Publicar a ambos registros
476
- npm run publish:all
477
-
478
- # Solo GitHub Packages
479
- npm run publish:github
480
-
481
- # Solo npmjs
482
- npm run publish:npmjs
483
-
484
- # Simular sin publicar
485
- npm run publish:dry
486
- ```
487
-
488
- Ver [INSTALACION.md](INSTALACION.md) para configuración detallada de autenticación y publicación.
489
-
490
- ## Verificación (doctor)
491
-
492
- ```bash
493
- npx @saulwade/swl-ses@latest doctor
494
- ```
495
-
496
- Verifica: Node.js >= 22, runtimes detectados, `.planning/` completo, `_userland/` presente, estado íntegro, permisos, `.env` en `.gitignore`. Repara automáticamente hooks sin `"type": "command"` en settings.json.
497
-
498
- ## Estructura del repositorio
499
-
500
- ```
501
- swl-ses/
502
- package.json # Paquete npm con bin swl-ses
503
- plugin.json # Manifest para Claude Code plugin system
504
- bin/swl-ses.js # CLI principal
505
- scripts/ # Lógica del CLI
506
- comandos/ # Handlers de subcomandos (skills, agents, info)
507
- lib/ # Librerías compartidas
508
- transformadores/ # Transformadores por target (claude, copilot, opencode, codex, gemini)
509
- detectar-runtime.js # Detección de runtimes de IA
510
- gestor-componentes.js # Gestión de skills y agentes individuales
511
- resolver-externo.js # Resolución de repos Git y paths locales
512
- hooks-settings.js # Registro de hooks en settings.json
513
- estado.js # Estado de instalación (v3)
514
- manifiestos.js # Resolución de perfiles/módulos
515
- seguridad.js # Validaciones de seguridad
516
- manifiestos/ # Perfiles y módulos de instalación
517
- agentes/ # 60 agentes especializados
518
- habilidades/ # 160 habilidades modulares
519
- comandos/swl/ # 44 comandos slash
520
- reglas/ # 28 reglas base + 40 por lenguaje
521
- hooks/ # 50 hooks + 77 librerías en hooks/lib/
522
- schemas/ # 15 JSON Schemas
523
- contextos/ # 3 modos de desarrollo
524
- instintos/ # Instintos YAML con confianza
525
- plantillas/ # Templates para .planning/
526
- gateway/ # Gateway multi-plataforma (adapters + CommandRelay)
527
- adapters/ # Telegram, Discord, Slack, WhatsApp, Email, Webhook
528
- command-relay.js # Receptor bidireccional con whitelist + validaciones
529
- _userland/ # Personalización del usuario
530
- CLAUDE.md # Fuente de verdad del sistema
531
- COMANDOS.md # Referencia completa de comandos
532
- MANUAL_USO.md # Guía práctica de uso por comando
533
- INSTALACION.md # Guía de configuración y publicación
534
- ```
535
-
536
- ## ¿Por qué usar SWL? (Análisis y Ejemplo Práctico)
537
-
538
- El Sistema SWL transforma la manera tradicional de interactuar con la IA (prompts aislados y pérdida de contexto) en un flujo de **Ingeniería de Software Estructurada**.
539
-
540
- ### Beneficios Principales
541
-
542
- 1. **Estado Persistente y Cero Pérdida de Contexto:** El directorio `.planning/` mantiene documentado el producto (`PROYECTO.md`), los requerimientos (`REQUISITOS.md`) y el roadmap de desarrollo. La IA siempre sabrá en qué fase está el proyecto.
543
- 2. **Especialización (Agentes expertizados):** Delega las tareas a agentes especializados integrados (ej. `arquitecto-swl`, `frontend-react-swl`, `revisor-seguridad-swl`) en lugar de usar comandos genéricos.
544
- 3. **Desarrollo Metódico:** Fuerza un flujo de trabajo estructurado de *Planificar -> Ejecutar -> Verificar*.
545
- 4. **Comandos Simplificados (`/swl:*`):** Automatiza flujos de trabajo masivos de desarrollo (ej. `/swl:planear-fase` o `/swl:auditar-deps`).
546
- 5. **Personalización Absoluta:** El directorio `_userland/` permite inyectar plantillas, redefinir instintos de la IA y crear Habilidades (Skills) específicas para la lógica de negocio.
547
-
548
- ### Ejemplo de Flujo de Trabajo Real
549
-
550
- Un proyecto típico (ej. construir una App Fullstack) usando SWL sigue estos pasos:
551
-
552
- 1. **Instalación y Setup inicial**
553
- ```bash
554
- npx @saulwade/swl-ses@latest init
555
- npx @saulwade/swl-ses@latest install --target claude --profile fullstack-node-react
556
- ```
557
-
558
- 2. **Definición del Proyecto (Discovery)**
559
- Usa el comando `/swl:nuevo-proyecto` para estructurar la idea. El agente `producto-prd-swl` genera, tras hacerte un par de preguntas clave, los archivos `PROYECTO.md`, `REQUISITOS.md` y un `HOJA-RUTA.md` dividido en fases lógicas (Ej. Fase 1: Setup, Fase 2: Auth).
560
-
561
- 3. **Planeación de la Arquitectura**
562
- Usa `/swl:planear-fase Fase 2`. El agente `planificador-swl` investigará tu código y creará un `PLAN.md` que detalla los archivos a crear, dependencias a instalar y plan de pruebas. Todo documentado para tu revisión antes de escribir código.
563
-
564
- 4. **Ejecución de la Fase**
565
- Apruebas el plan y ejecutas `/swl:ejecutar-fase`. Los agentes de programación (ej. `backend-node-swl` y `frontend-react-swl`) implementan el código según el plan mediante commits "atómicos" que garantizan un desarrollo seguro.
566
-
567
- 5. **Revisión y Verificación**
568
- Finalizas con `/swl:verificar`. El agente `revisor-codigo-swl` audita el nuevo código bajo reglas estrictas (Seguridad, Clean Code, patrones específicos) y comprueba que cumpla con los requisitos iniciales.
569
-
570
- Con SWL, pasas de ser un "programador asistido por IA" a convertirte en el **Gerente de Ingeniería** de un equipo de IA altamente coordinado.
571
-
572
- ## Desarrollo
573
-
574
- ### Tests
575
-
576
- ```bash
577
- npm test # tests unitarios con node:test nativo
578
- npm run test:validate # Validación estructural del paquete
579
- npm run test:all # Ambos
580
- ```
581
-
582
- ### CI/CD
583
-
584
- El repositorio incluye GitHub Actions (`.github/workflows/ci.yml`) que ejecuta automáticamente en push/PR a main: sintaxis de hooks, validación estructural, tests unitarios y consistencia de versiones.
585
-
586
- Los mismos workflows son distribuibles a cualquier proyecto usuario vía `/swl:configurar-ci init`: revisión de seguridad con Claude en cada PR (`swl-security.yml`), CI genérico Node 22+24 (`swl-ci.yml`) y releases automáticos desde conventional commits (`release-please.yml`). Instalación opt-in, no afecta al repo destino sin consentimiento explícito.
587
-
588
- ### Herramientas de mantenimiento
589
-
590
- ```bash
591
- npm run generate:docs # Regenera INVENTARIO.md y SALUD.md desde el disco
592
- npm run field-report # Reporte de uso real de skills y agentes
593
- ```
594
-
595
- ## Licencia
596
-
597
- MIT
1
+ # swl-ses v2.4.1
2
+
3
+ > El paquete anterior `@saulwadeleon/swl-software-engineering-system` está deprecado. Migrar a `@saulwade/swl-ses` (npmjs.org canónico) o `@saul-wade/swl-ses` (mirror en GitHub Packages) — el CLI `swl-ses` no cambia.
4
+
5
+ Sistema de ingeniería de software auto-evolutivo **multi-runtime** con agentes especializados, habilidades modulares, hooks de seguridad y orquestación ligera. 100% en español (México). Soporta 11 lenguajes: Python, TypeScript, Java, Go, Rust, C#, Kotlin, Swift, PHP, Next.js y C++.
6
+
7
+ Soporta 7 runtimes de IA: Claude Code, OpenClaude, OpenCode y Gemini CLI (soporte completo); Cursor, Codex CLI y GitHub Copilot (soporte parcial — reglas + MCP server o consolidación en archivo de instrucciones según el runtime). Incluye sistema de transformadores que adapta el formato canónico SWL al formato nativo de cada runtime, **multi-target install** (`--target=claude,cursor,codex` en una sola invocación), y **`swl-mcp-server` v1.0.0** con auth opt-in para que Cursor, Codex y otros clientes MCP consulten la memoria SWL (aprendizajes, instintos, sesiones).
8
+
9
+ Cubre el SDLC completo: discovery, requisitos, arquitectura, UX/UI, frontend, backend, mobile, datos, testing, seguridad, CI/CD, observabilidad, releases, documentación, notificaciones y auto-evolución. Incluye sistema de notificaciones Telegram opt-in (hook saliente, bot bidireccional con 15 comandos, autostart cross-platform), **auditoría profunda Nemesis** (loop iterativo Feynman + State Inconsistency hasta convergencia, ahora con loop evaluator-optimizer opt-in vía `/swl:nemesis --remediar` desde v1.5.2 - ADR-0021) con 8 tools ejecutables JSON-output para code-profiler, pentest-scanner, dep-doctor, bundle-tracker y más (ADR-0018, v1.4.1), e **instalador/actualizador TUI custom** zero-deps con paneles, multi-select y barra de progreso por categoría (v1.6.0).
10
+
11
+ ## Inventario
12
+
13
+ | Componente | Cantidad |
14
+ |-----------|----------|
15
+ | Agentes SWL | 60 |
16
+ | Habilidades | 182 (todas <=300 líneas, con divulgación progresiva a recursos/) |
17
+ | Comandos (/swl:*) | 43 (todos <=300 líneas, delegan a skills) |
18
+ | Reglas | 37 base + 40 por lenguaje (8 lenguajes x 5) |
19
+ | Hooks | 46 + 73 librerías en hooks/lib/ |
20
+ | Tools ejecutables (audit-tools) | 8 (code-profiler, pentest-scanner, dep-doctor, bundle-tracker, env-validator, migration-checker, canary-monitor, audit-history) |
21
+ | Schemas | 15 |
22
+ | Perfiles de instalación | 17 |
23
+ | Contextos | 3 (dev, review, research) |
24
+ | Gateway multi-plataforma | Telegram, Discord, WhatsApp, Slack, Email, Webhook (salida bidireccional opt-in) |
25
+
26
+ ## Lenguajes soportados (11)
27
+
28
+ | Lenguaje | Reglas | Skills | Agente Revisor | Agente Implementador | Build Errors |
29
+ |----------|--------|--------|----------------|---------------------|-------------|
30
+ | Python | base | 7 | revisor-codigo-swl | backend-python-swl | build-errors-python |
31
+ | TypeScript | base | 2 | revisor-codigo-swl | backend-node-swl | build-errors-typescript |
32
+ | Java | 5 | 4 | revisor-java-swl | backend-java-swl | build-errors-java |
33
+ | Go | 5 | 4 | revisor-go-swl | backend-go-swl | build-errors-go |
34
+ | Rust | 5 | 4 | revisor-rust-swl | backend-rust-swl | build-errors-rust |
35
+ | C#/.NET | 5 | 4 | revisor-csharp-swl | backend-csharp-swl | build-errors-csharp |
36
+ | Kotlin | 5 | 4 | revisor-kotlin-swl | mobile-android-swl | build-errors-kotlin |
37
+ | Swift | 5 | 4 | revisor-swift-swl | mobile-ios-swl | build-errors-swift |
38
+ | PHP | 5 | 4 | revisor-php-swl | implementador-swl | build-errors-php |
39
+ | Next.js | 5 | 4 | revisor-nextjs-swl | frontend-react-swl | build-errors-nextjs |
40
+ | C++ | - | 1 | - | - | build-errors-cpp |
41
+
42
+ ## Instalación
43
+
44
+ ### Entender `init` vs `install`
45
+
46
+ El setup requiere **dos comandos en orden**, con propósitos distintos:
47
+
48
+ | Comando | Qué crea | Dónde | Instala agentes/skills |
49
+ |---------|----------|-------|------------------------|
50
+ | `npx @saulwade/swl-ses@latest init` | `.planning/` y `_userland/` (plantillas vacías) | En el proyecto actual | ❌ No |
51
+ | `npx @saulwade/swl-ses@latest install` | Agentes, skills, reglas, hooks, comandos `/swl:*` | En `.claude/` del proyecto o en `~/.claude/` global | ✅ Sí |
52
+
53
+ **`init` siempre es local al proyecto.** `install` puede ser local (`--local`, default) o global (`--global`).
54
+
55
+ > Instalar globalmente (`--global` o `npm install -g swl-ses`) pone los componentes en `~/.claude/`
56
+ > y los hace disponibles en todos tus proyectos. Aun así, cada proyecto necesita su propio `init`
57
+ > para obtener `.planning/` y `_userland/`.
58
+
59
+ ### Modo recomendado: TUI visual (v1.6.0+)
60
+
61
+ Desde v1.6.0, al ejecutar `install` o `update` sin flags desde una terminal
62
+ interactiva, swl-ses lanza un **TUI custom** con paneles, selectores con
63
+ flechas, multi-select con espacio y barra de progreso por categoría.
64
+
65
+ ```bash
66
+ # Lanza el TUI: Welcome → Menú → Wizard → Progreso → Resumen
67
+ npx -y @saulwade/swl-ses@latest install
68
+ npx -y @saulwade/swl-ses@latest update
69
+ ```
70
+
71
+ Opt-out con `--no-tui` para usar el asistido lineal clásico, o pasa cualquier
72
+ flag (`--target`, `--profile`, `--force`, etc.) y el CLI usa el flujo directo
73
+ sin prompts. Ver [`MANUAL_USO.md`](./MANUAL_USO.md) sección "Opción C — Modo
74
+ TUI visual" para capturas ASCII de cada pantalla.
75
+
76
+ ### Opción 1: CLI vía npmjs (recomendada)
77
+
78
+ ```bash
79
+ cd /ruta/a/tu/proyecto
80
+ npx @saulwade/swl-ses@latest init # Crea .planning/ y _userland/
81
+ npx @saulwade/swl-ses@latest install --target claude --profile core # Instala agentes, skills, hooks y reglas
82
+ npx @saulwade/swl-ses@latest doctor # Verifica que todo quedó correcto
83
+ ```
84
+
85
+ No requiere autenticación. El paquete `swl-ses` está publicado en npmjs.
86
+
87
+ #### Instalación global (una vez, disponible en todos los proyectos)
88
+
89
+ ```bash
90
+ # Instalar swl-ses globalmente
91
+ npm install -g swl-ses
92
+
93
+ # En cada proyecto nuevo:
94
+ cd /ruta/a/mi-proyecto
95
+ swl-ses install --global --target claude --profile core # Componentes en ~/.claude/ (una sola vez)
96
+ swl-ses init # Estructura .planning/ en este proyecto
97
+ swl-ses doctor
98
+ ```
99
+
100
+ ### Opción 2: CLI vía GitHub Packages (mirror)
101
+
102
+ ```bash
103
+ # Requiere autenticación con GitHub (ver INSTALACION.md)
104
+ npx @saul-wade/swl-ses@latest init
105
+ npx @saul-wade/swl-ses@latest install --target claude --profile core
106
+ ```
107
+
108
+ Nota: la opción canónica es **npmjs.org** (`@saulwade/swl-ses`), GitHub Packages
109
+ es un mirror para usuarios que prefieran ese registry. El binario y el contenido
110
+ son idénticos.
111
+
112
+ #### Por qué los scopes difieren
113
+
114
+ La organización en npmjs.org se llama `saulwade` (sin guion) porque
115
+ **npm no permite guiones en nombres de organización** — el registro
116
+ los rechaza desde el formulario de creación. La organización en GitHub
117
+ sí acepta guiones y se llama `saul-wade`. Como cada registry deriva el
118
+ scope del paquete del nombre de la org propietaria, terminamos con
119
+ `@saulwade/swl-ses` en npmjs y `@saul-wade/swl-ses` en GitHub Packages.
120
+ El contenido publicado es idéntico; el comando CLI `swl-ses` no cambia.
121
+
122
+ ### Opción 3: Clonar y usar directamente
123
+
124
+ ```bash
125
+ git clone https://github.com/saul-wade/swl-ses.git
126
+ cd swl-ses
127
+ claude
128
+ # Claude lee CLAUDE.md y tiene acceso a todo el sistema
129
+ ```
130
+
131
+ ### Opción 4: Plugin de Claude Code
132
+
133
+ ```bash
134
+ # Dentro de una sesion de Claude Code:
135
+ /plugin marketplace add https://github.com/saul-wade/swl-ses
136
+ /plugin install swl-ses@saul-wade
137
+ ```
138
+
139
+ > Para forzar siempre la última versión:
140
+ > `npx @saulwade/swl-ses@latest <comando>`
141
+
142
+ ## Comandos del CLI
143
+
144
+ > Las tablas siguientes usan el alias corto `swl-ses@latest` (sin scope) por
145
+ > compatibilidad con instalación global (`npm install -g swl-ses` enlaza el
146
+ > bin con ese nombre). Para forzar el paquete canónico desde npmjs sin
147
+ > tocar la instalación global, sustituir por `@saulwade/swl-ses@latest`
148
+ > (npmjs canónico) o `@saul-wade/swl-ses@latest` (mirror GitHub Packages).
149
+
150
+ | Comando | Descripción |
151
+ |---------|-------------|
152
+ | `npx @saulwade/swl-ses@latest init` | Crea `.planning/` (plantillas de planificación) y `_userland/` (tus personalizaciones) en el proyecto actual. **No instala agentes ni skills.** |
153
+ | `npx @saulwade/swl-ses@latest install` | Instala agentes, skills, reglas, hooks y comandos `/swl:*` en el runtime destino (`.claude/` local o `~/.claude/` global). |
154
+ | `npx @saulwade/swl-ses@latest doctor` | Diagnostica problemas de la instalación |
155
+ | `npx @saulwade/swl-ses@latest update` | Actualiza componentes instalados |
156
+ | `npx @saulwade/swl-ses@latest uninstall` | Desinstala componentes del runtime |
157
+ | `npx @saulwade/swl-ses@latest info` | Muestra información del sistema instalado |
158
+ | `npx @saulwade/swl-ses@latest skills list` | Lista skills instalados |
159
+ | `npx @saulwade/swl-ses@latest skills add <fuente>` | Agrega skill desde repo Git, owner/repo, o path local |
160
+ | `npx @saulwade/swl-ses@latest skills remove <nombre>` | Remueve un skill individual |
161
+ | `npx @saulwade/swl-ses@latest agents list` | Lista agentes instalados |
162
+ | `npx @saulwade/swl-ses@latest agents add <fuente>` | Agrega agente desde repo Git o path local |
163
+ | `npx @saulwade/swl-ses@latest agents remove <nombre>` | Remueve un agente individual |
164
+
165
+ ### Opciones de install
166
+
167
+ | Opción | Valores | Descripción |
168
+ |--------|---------|-------------|
169
+ | `--target <runtime>` | `claude`, `openclaude`, `copilot`, `opencode`, `codex`, `gemini` | Runtime destino (default: `claude`) |
170
+ | `--profile <perfil>` | Ver perfiles abajo | Perfil de instalación (default: `completo`) |
171
+ | `--global` | — | Instala los **componentes** en el directorio global (`~/.claude/`). No reinstala el binario CLI — ver "Modelo de dos planos" abajo. |
172
+ | `--local` | — | Instala en directorio local del proyecto (`.claude/`) |
173
+ | `--with <componentes>` | Separados por coma | Incluir módulos adicionales |
174
+ | `--without <componentes>` | Separados por coma | Excluir módulos |
175
+ | `--dry-run` | — | Muestra plan sin aplicar cambios |
176
+ | `--force` | — | Sobrescribe archivos existentes. **Excepción**: los componentes evolucionados por el usuario (auto-evolución local) NUNCA se sobrescriben — se preservan y se genera un diff de reconciliación. Los componentes pre-evolucionados de fábrica que el usuario no tocó sí se actualizan, con backup previo. |
177
+
178
+ ### Modelo de dos planos: binario CLI vs componentes
179
+
180
+ Actualizar swl-ses tiene **dos planos independientes**:
181
+
182
+ 1. **Binario CLI** (`swl-ses` en el PATH): se instala/actualiza con
183
+ `npm install -g @saulwade/swl-ses@latest`. `npx … install` **no** lo toca.
184
+ 2. **Componentes** (agentes, skills, comandos, reglas, hooks en `~/.claude/` o
185
+ `.claude/`): se propagan con `npx -y @saulwade/swl-ses@latest install …`.
186
+
187
+ Para una actualización completa, ejecuta **ambos**:
188
+
189
+ ```bash
190
+ npm install -g @saulwade/swl-ses@latest # plano 1: binario
191
+ npx -y @saulwade/swl-ses@latest install --global --force # plano 2: componentes
192
+ ```
193
+
194
+ Correr solo uno deja el otro plano en una versión anterior.
195
+
196
+ ### Perfiles de instalación
197
+
198
+ | Perfil | Descripción |
199
+ |--------|-------------|
200
+ | `core` | Mínimo viable: orquestador + agentes base + reglas + comandos |
201
+ | `backend-python` | FastAPI/Django + patrones + testing + async + API + datos |
202
+ | `backend-node` | Express/Fastify/NestJS + TypeScript + API + datos |
203
+ | `backend-java` | Spring Boot + Maven/Gradle + patrones Java + testing + API |
204
+ | `backend-go` | Go + Gin/Echo + patrones Go + testing + API |
205
+ | `backend-rust` | Rust + Axum/Actix + patrones Rust + testing + API |
206
+ | `backend-csharp` | .NET + ASP.NET Core + patrones C# + testing + API |
207
+ | `frontend-react` | React/Next.js + UX + estilos + accesibilidad |
208
+ | `frontend-angular` | Angular v20+ + signals + UX + estilos |
209
+ | `fullstack-python-angular` | Python backend + Angular frontend + datos + seguridad |
210
+ | `fullstack-node-react` | Node.js backend + React frontend + datos + seguridad |
211
+ | `fullstack-java-angular` | Java backend + Angular frontend + datos + seguridad |
212
+ | `fullstack-go-react` | Go backend + React frontend + datos + seguridad |
213
+ | `mobile` | Android + iOS + React Native/Flutter + UX |
214
+ | `devops` | CI/CD + cloud + observabilidad + releases + seguridad |
215
+ | `polyglot` | Todos los lenguajes: 11 lenguajes + revisores + build resolvers |
216
+ | `completo` | Todo: 60 agentes + 182 habilidades + 45 comandos + 77 reglas + 49 hooks |
217
+
218
+ ### Targets soportados
219
+
220
+ | Target | Runtime | Soporte | Componentes |
221
+ |--------|---------|---------|-------------|
222
+ | `claude` | Claude Code | Completo | Agentes, skills, comandos, reglas, hooks |
223
+ | `openclaude` | OpenClaude | Completo | Agentes, skills, comandos, reglas, hooks |
224
+ | `opencode` | OpenCode | Completo | Agentes, skills, comandos, reglas, hooks |
225
+ | `gemini` | Gemini CLI | Completo | Agentes, skills, comandos, reglas, hooks |
226
+ | `copilot` | GitHub Copilot | Parcial | Solo agentes y reglas (limitación de plataforma) |
227
+ | `codex` | Codex CLI | Completo | Agentes en `~/.codex/agents/<name>.toml` (Sub-fase 11) + AGENTS.md con marcadores como índice + skills en `~/.agents/skills/<name>/SKILL.md` (path oficial OpenAI) + hooks en `~/.codex/hooks.json` (6 eventos) + MCP en `~/.codex/config.toml` con `--with-mcp` |
228
+ | `cursor` | Cursor | Completo | Agentes en `.cursor/agents/<name>.md` (Subagents) + skills en `.cursor/skills/<name>/SKILL.md` + reglas en `.cursor/rules/*.mdc` + hooks en `.cursor/hooks.json` (17 eventos) + MCP en `.cursor/mcp.json` con `--with-mcp` |
229
+
230
+ > **OpenClaude** usa los mismos directorios de proyecto que Claude Code (`.claude/`). Instalar `--target openclaude` en un proyecto con Claude Code aplica a ambos simultáneamente.
231
+
232
+ ### Ejemplos
233
+
234
+ ```bash
235
+ # Perfil básico en Claude Code
236
+ npx @saulwade/swl-ses@latest install --target claude --profile core
237
+
238
+ # Backend Python en Gemini CLI
239
+ npx @saulwade/swl-ses@latest install --target gemini --profile backend-python
240
+
241
+ # Frontend React en GitHub Copilot
242
+ npx @saulwade/swl-ses@latest install --target copilot --profile frontend-react
243
+
244
+ # Full-stack en OpenClaude (multi-proveedor, usa .claude/ igual que Claude Code)
245
+ npx @saulwade/swl-ses@latest install --target openclaude --profile fullstack-python-angular
246
+
247
+ # Full-stack en OpenCode
248
+ npx @saulwade/swl-ses@latest install --target opencode --profile fullstack-python-angular
249
+
250
+ # Perfil completo en directorio global
251
+ npx @saulwade/swl-ses@latest install --target claude --profile completo --global
252
+
253
+ # Agregar skills desde GitHub con selector interactivo
254
+ npx @saulwade/swl-ses@latest skills add anthropics/skills
255
+
256
+ # Agregar un skill específico por nombre
257
+ npx @saulwade/swl-ses@latest skills add anthropics/skills --skill docx
258
+
259
+ # Agregar todos los skills de un repo sin selector
260
+ npx @saulwade/swl-ses@latest skills add anthropics/skills --all
261
+
262
+ # Agregar skill desde URL completa
263
+ npx @saulwade/swl-ses@latest skills add https://github.com/user/repo --skill mi-skill
264
+
265
+ # Agregar agente desde path local
266
+ npx @saulwade/swl-ses@latest agents add ./mis-agentes --agent mi-agente
267
+
268
+ # Ver que se instalaria sin hacer cambios
269
+ npx @saulwade/swl-ses@latest install --target codex --profile core --dry-run
270
+
271
+ # Ver información del sistema
272
+ npx @saulwade/swl-ses@latest info --target claude
273
+ ```
274
+
275
+ ## Agentes (59)
276
+
277
+ ### Orquestación y Proceso
278
+ `orquestador-swl`, `producto-prd-swl`, `consolidador-swl`, `auto-evolución-swl`
279
+
280
+ ### Discovery e Investigación
281
+ `investigador-swl`, `investigador-ux-swl`
282
+
283
+ ### Arquitectura
284
+ `arquitecto-swl`, `planificador-swl`
285
+
286
+ ### UX / UI / Diseño
287
+ `investigador-ux-swl`, `disenador-ui-swl`, `accesibilidad-wcag-swl`
288
+
289
+ ### Frontend
290
+ `frontend-swl`, `frontend-react-swl`, `frontend-angular-swl`, `frontend-css-swl`, `frontend-tailwind-swl`
291
+
292
+ ### Backend
293
+ `implementador-swl`, `backend-python-swl`, `backend-node-swl`, `backend-api-swl`, `backend-workers-swl`
294
+
295
+ ### Backend Multi-Lenguaje (nuevo)
296
+ `backend-java-swl`, `backend-go-swl`, `backend-csharp-swl`, `backend-rust-swl`
297
+
298
+ ### Mobile
299
+ `mobile-android-swl`, `mobile-ios-swl`, `mobile-cross-swl`
300
+
301
+ ### Datos
302
+ `datos-swl`, `migrador-swl`
303
+
304
+ ### Calidad
305
+ `tdd-qa-swl`, `revisor-codigo-swl`, `revisor-seguridad-swl`
306
+
307
+ ### Revisores por Lenguaje (nuevo)
308
+ `revisor-java-swl`, `revisor-go-swl`, `revisor-rust-swl`, `revisor-csharp-swl`, `revisor-kotlin-swl`, `revisor-swift-swl`, `revisor-php-swl`, `revisor-nextjs-swl`
309
+
310
+ ### Infraestructura
311
+ `devops-ci-swl`, `cloud-infra-swl`, `observabilidad-swl`
312
+
313
+ ### Rendimiento y Releases
314
+ `rendimiento-swl`, `release-manager-swl`
315
+
316
+ ### Documentación, Notificaciones, Debugging
317
+ `documentador-swl`, `notificador-swl`, `depurador-swl`
318
+
319
+ ### Build Resolution
320
+ `resolutor-build-swl`
321
+
322
+ ### LLM, Pagos y SRE
323
+ `llm-apps-swl`, `pagos-swl`, `sre-swl`
324
+
325
+ ### Revisores adicionales
326
+ `revisor-typescript-swl`, `revisor-react-swl`, `revisor-angular-swl`
327
+
328
+ ## Comandos (/swl:*)
329
+
330
+ | Comando | Función |
331
+ |---------|---------|
332
+ | `/swl:instalar` | Instalación interactiva dentro de Claude Code |
333
+ | `/swl:actualizar` | Actualizar sin desinstalar |
334
+ | `/swl:nuevo-proyecto` | Inicializar proyecto con PROYECTO.md y roadmap |
335
+ | `/swl:discutir-fase` | Recopilar contexto antes de planificar |
336
+ | `/swl:planear-fase` | Crear PLAN.md con vertical slices |
337
+ | `/swl:ejecutar-fase` | Ejecutar plan con commits atómicos |
338
+ | `/swl:verificar` | Verificar implementación contra spec |
339
+ | `/swl:mapear-codebase` | Analizar codebase existente |
340
+ | `/swl:checkpoint` | Guardar estado para continuar después |
341
+ | `/swl:compactar` | Reducir contexto preservando info clave |
342
+ | `/swl:aprender` | Extraer aprendizajes de la sesión |
343
+ | `/swl:evolucionar` | Auto-evolución de agentes/skills |
344
+ | `/swl:autoresearch` | Loop de auto-mejora iterativa contra checklist |
345
+ | `/swl:crear-skill` | Crear nuevo skill con guía interactiva |
346
+ | `/swl:status salud` | Diagnóstico de integridad del sistema |
347
+ | `/swl:release` | Ciclo de release SemVer |
348
+ | `/swl:auditar-deps` | Auditoría de dependencias (CVEs) |
349
+ | `/swl:contexto` | Cambiar modo de desarrollo activo (dev/review/research) |
350
+ | `/swl:sesiones` | Gestionar persistencia de sesiones de trabajo |
351
+ | `/swl:instintos` | Inspeccionar y gestionar instintos del sistema |
352
+ | `/swl:modelo` | Configurar modelo de IA por agente o globalmente |
353
+ | `/swl:status metricas` | Ver métricas de sesión y productividad |
354
+ | `/swl:status dashboard` | Dashboard histórico de uso multi-sesión (gráficas interactivas) |
355
+ | `/swl:revisar-impacto` | Análisis de impacto estructural: blast radius, risk score, comunidades |
356
+ | `/swl:evaluar-skill` | Evaluación formal de skills: 2 capas (estática + semántica), badges de calidad |
357
+ | `/swl:wiki` | Gestionar wiki de conocimiento del proyecto (init/ingest/query/lint) |
358
+ | `/swl:plugins` | Gestionar plugins y extensiones del sistema |
359
+ | `/swl:revisar` | Revisión de código por tecnología |
360
+ | `/swl:brainstorm` | Brainstorming estructurado |
361
+ | `/swl:ayuda` | Ayuda interactiva: catálogo, detalle de comando, búsqueda por keyword |
362
+ | `/swl:skill-search` | Buscar skills por keyword o dominio |
363
+ | `/swl:mcp-status` | Estado de servidores MCP conectados |
364
+ | `/swl:cron` | Gestionar tareas programadas |
365
+ | `/swl:gateway` | Configurar gateway multi-plataforma + modo relay bidireccional Telegram → Claude |
366
+ | `/swl:inbox` | Consumir comandos entrantes del gateway (enviados desde Telegram/Discord/webhook) |
367
+ | `/swl:reflect-skills` | Analizar historial JSONL para detectar patrones candidatos a skill/comando emergente |
368
+ | `/swl:contribuir` | Contribuir evoluciones al core (filtro dominio + PluginEval ≥80) |
369
+ | `/swl:exportar-vault` | Exportar resumen de sesión al vault personal (Obsidian u otro) |
370
+
371
+ Ver [COMANDOS.md](COMANDOS.md) para flags y opciones detalladas de cada comando.
372
+ Ver [MANUAL_USO.md](MANUAL_USO.md) para explicaciones prácticas de cada comando y guías de cuándo usarlos.
373
+
374
+ ## Arquitectura
375
+
376
+ ### Thin Orchestrator
377
+
378
+ ```
379
+ Comando (/swl:planear-fase)
380
+ +-> Cargar habilidad (planear-fase/SKILL.md)
381
+ +-> Spawn agente (planificador-swl) con contexto fresco
382
+ +-> Verificar resultado (revisor-codigo-swl)
383
+ +-> Actualizar estado (.planning/ESTADO.md)
384
+ ```
385
+
386
+ ### Estado en archivos (.planning/)
387
+
388
+ ```
389
+ .planning/
390
+ PROYECTO.md # Vision, contexto, objetivos
391
+ REQUISITOS.md # Requisitos con IDs (REQ-001...)
392
+ HOJA-RUTA.md # Fases con entregables y verificación
393
+ ESTADO.md # Estado actual, decisiones, riesgos
394
+ CONTEXTO.md # Modo de desarrollo activo
395
+ METRICAS.md # Métricas de sesión
396
+ research/ # Investigación del dominio
397
+ fases/ # Documentos por fase (CONTEXTO, PLAN, RESUMEN, VERIFICACION)
398
+ sessions/ # Persistencia de sesiones JSON
399
+ comms/ # Comunicación entre agentes
400
+ ```
401
+
402
+ ### Arquitectura de 4 capas
403
+
404
+ | Capa | Componente | Propósito |
405
+ |------|-----------|-----------|
406
+ | L1 | CLAUDE.md | Contexto persistente y reglas |
407
+ | L2 | Skills | Paquetes de conocimiento versionados |
408
+ | L3 | Hooks | Seguridad y automatización |
409
+ | L4 | Agents | Subagentes con contexto aislado |
410
+
411
+ ## Gateway bidireccional con Telegram (opt-in)
412
+
413
+ El sistema incluye un gateway que permite **enviar comandos a Claude desde Telegram** (u otro adaptador) y recibir respuestas sin necesidad de estar frente al teclado. Todo el flujo es opt-in y queda en audit trail.
414
+
415
+ ### Flujo
416
+
417
+ ```
418
+ Telegram (móvil) → CommandRelay (valida) → .planning/inbox/cmd-*.json → /swl:inbox en Claude
419
+ o claude -p headless (auto)
420
+ ```
421
+
422
+ ### Protecciones del CommandRelay
423
+
424
+ - Whitelist de usuarios por plataforma (`relay.platforms.<nombre>.allowedUsers`)
425
+ - Rechazo de payload injection: `<script>`, `.env`, `id_rsa`, `.ssh/`, etc.
426
+ - Límite de 4000 chars por mensaje
427
+ - Rate limit: 10 msg/min por usuario (configurable)
428
+ - Dedup por hash SHA-1 en ventana de 30s
429
+ - Audit trail append-only en `.planning/inbox/audit.jsonl`
430
+
431
+ ### Modos de consumo
432
+
433
+ | Modo | Qué hace | Compatible |
434
+ |---|---|---|
435
+ | Portable (default) | Los mensajes se encolan; al ejecutar `/swl:inbox` en tu sesión Claude los procesas con juicio humano | Windows / Linux / macOS |
436
+ | Auto-exec headless | El bot invoca `claude -p --model haiku-4-5 --max-budget-usd 0.50 --allowedTools <solo-lectura>` en el cwd del proyecto y responde con el output | Windows / Linux / macOS |
437
+ | tmux inject (opt-in) | Daemon `scripts/inbox-tmux-inject.js` inyecta a una sesión tmux con `tmux send-keys` | Linux / macOS |
438
+
439
+ Configuración en `manifiestos/gateway-config.json`. Ver [MANUAL_USO.md](MANUAL_USO.md) sección `/swl:gateway` para setup completo.
440
+
441
+ ## Skills bundled de Claude Code
442
+
443
+ Los agentes SWL pueden usar estos 17 skills que vienen con Claude Code:
444
+
445
+ `/pdf`, `/pptx`, `/docx`, `/xlsx`, `/frontend-design`, `/web-artifacts-builder`,
446
+ `/claude-api`, `/brand-guidelines`, `/skill-creator`, `/mcp-builder`,
447
+ `/webapp-testing`, `/internal-comms`, `/doc-coauthoring`, `/canvas-design`,
448
+ `/algorithmic-art`, `/theme-factory`, `/slack-gif-creator`
449
+
450
+ ## Modo _userland/
451
+
452
+ Coloca tus agentes y habilidades personalizados en `_userland/`:
453
+
454
+ ```
455
+ _userland/
456
+ agentes/
457
+ mi-agente-custom.md
458
+ habilidades/
459
+ mi-habilidad/
460
+ SKILL.md
461
+ ```
462
+
463
+ El instalador detecta `_userland/`, hace merge con los componentes core y da prioridad a tus archivos.
464
+
465
+ ## Publicación
466
+
467
+ El paquete se publica en dos registros (dual-publish):
468
+
469
+ | Registro | Paquete | Requiere auth |
470
+ |----------|---------|---------------|
471
+ | npmjs.org (canónico) | `@saulwade/swl-ses` | Solo para publicar |
472
+ | GitHub Packages (mirror) | `@saul-wade/swl-ses` | Para instalar y publicar |
473
+
474
+ ```bash
475
+ # Publicar a ambos registros
476
+ npm run publish:all
477
+
478
+ # Solo GitHub Packages
479
+ npm run publish:github
480
+
481
+ # Solo npmjs
482
+ npm run publish:npmjs
483
+
484
+ # Simular sin publicar
485
+ npm run publish:dry
486
+ ```
487
+
488
+ Ver [INSTALACION.md](INSTALACION.md) para configuración detallada de autenticación y publicación.
489
+
490
+ ## Verificación (doctor)
491
+
492
+ ```bash
493
+ npx @saulwade/swl-ses@latest doctor
494
+ ```
495
+
496
+ Verifica: Node.js >= 22, runtimes detectados, `.planning/` completo, `_userland/` presente, estado íntegro, permisos, `.env` en `.gitignore`. Repara automáticamente hooks sin `"type": "command"` en settings.json.
497
+
498
+ ## Estructura del repositorio
499
+
500
+ ```
501
+ swl-ses/
502
+ package.json # Paquete npm con bin swl-ses
503
+ plugin.json # Manifest para Claude Code plugin system
504
+ bin/swl-ses.js # CLI principal
505
+ scripts/ # Lógica del CLI
506
+ comandos/ # Handlers de subcomandos (skills, agents, info)
507
+ lib/ # Librerías compartidas
508
+ transformadores/ # Transformadores por target (claude, copilot, opencode, codex, gemini)
509
+ detectar-runtime.js # Detección de runtimes de IA
510
+ gestor-componentes.js # Gestión de skills y agentes individuales
511
+ resolver-externo.js # Resolución de repos Git y paths locales
512
+ hooks-settings.js # Registro de hooks en settings.json
513
+ estado.js # Estado de instalación (v3)
514
+ manifiestos.js # Resolución de perfiles/módulos
515
+ seguridad.js # Validaciones de seguridad
516
+ manifiestos/ # Perfiles y módulos de instalación
517
+ agentes/ # 60 agentes especializados
518
+ habilidades/ # 160 habilidades modulares
519
+ comandos/swl/ # 45 comandos slash
520
+ reglas/ # 28 reglas base + 40 por lenguaje
521
+ hooks/ # 49 hooks + 76 librerías en hooks/lib/
522
+ schemas/ # 15 JSON Schemas
523
+ contextos/ # 3 modos de desarrollo
524
+ instintos/ # Instintos YAML con confianza
525
+ plantillas/ # Templates para .planning/
526
+ gateway/ # Gateway multi-plataforma (adapters + CommandRelay)
527
+ adapters/ # Telegram, Discord, Slack, WhatsApp, Email, Webhook
528
+ command-relay.js # Receptor bidireccional con whitelist + validaciones
529
+ _userland/ # Personalización del usuario
530
+ CLAUDE.md # Fuente de verdad del sistema
531
+ COMANDOS.md # Referencia completa de comandos
532
+ MANUAL_USO.md # Guía práctica de uso por comando
533
+ INSTALACION.md # Guía de configuración y publicación
534
+ ```
535
+
536
+ ## ¿Por qué usar SWL? (Análisis y Ejemplo Práctico)
537
+
538
+ El Sistema SWL transforma la manera tradicional de interactuar con la IA (prompts aislados y pérdida de contexto) en un flujo de **Ingeniería de Software Estructurada**.
539
+
540
+ ### Beneficios Principales
541
+
542
+ 1. **Estado Persistente y Cero Pérdida de Contexto:** El directorio `.planning/` mantiene documentado el producto (`PROYECTO.md`), los requerimientos (`REQUISITOS.md`) y el roadmap de desarrollo. La IA siempre sabrá en qué fase está el proyecto.
543
+ 2. **Especialización (Agentes expertizados):** Delega las tareas a agentes especializados integrados (ej. `arquitecto-swl`, `frontend-react-swl`, `revisor-seguridad-swl`) en lugar de usar comandos genéricos.
544
+ 3. **Desarrollo Metódico:** Fuerza un flujo de trabajo estructurado de *Planificar -> Ejecutar -> Verificar*.
545
+ 4. **Comandos Simplificados (`/swl:*`):** Automatiza flujos de trabajo masivos de desarrollo (ej. `/swl:planear-fase` o `/swl:auditar-deps`).
546
+ 5. **Personalización Absoluta:** El directorio `_userland/` permite inyectar plantillas, redefinir instintos de la IA y crear Habilidades (Skills) específicas para la lógica de negocio.
547
+
548
+ ### Ejemplo de Flujo de Trabajo Real
549
+
550
+ Un proyecto típico (ej. construir una App Fullstack) usando SWL sigue estos pasos:
551
+
552
+ 1. **Instalación y Setup inicial**
553
+ ```bash
554
+ npx @saulwade/swl-ses@latest init
555
+ npx @saulwade/swl-ses@latest install --target claude --profile fullstack-node-react
556
+ ```
557
+
558
+ 2. **Definición del Proyecto (Discovery)**
559
+ Usa el comando `/swl:nuevo-proyecto` para estructurar la idea. El agente `producto-prd-swl` genera, tras hacerte un par de preguntas clave, los archivos `PROYECTO.md`, `REQUISITOS.md` y un `HOJA-RUTA.md` dividido en fases lógicas (Ej. Fase 1: Setup, Fase 2: Auth).
560
+
561
+ 3. **Planeación de la Arquitectura**
562
+ Usa `/swl:planear-fase Fase 2`. El agente `planificador-swl` investigará tu código y creará un `PLAN.md` que detalla los archivos a crear, dependencias a instalar y plan de pruebas. Todo documentado para tu revisión antes de escribir código.
563
+
564
+ 4. **Ejecución de la Fase**
565
+ Apruebas el plan y ejecutas `/swl:ejecutar-fase`. Los agentes de programación (ej. `backend-node-swl` y `frontend-react-swl`) implementan el código según el plan mediante commits "atómicos" que garantizan un desarrollo seguro.
566
+
567
+ 5. **Revisión y Verificación**
568
+ Finalizas con `/swl:verificar`. El agente `revisor-codigo-swl` audita el nuevo código bajo reglas estrictas (Seguridad, Clean Code, patrones específicos) y comprueba que cumpla con los requisitos iniciales.
569
+
570
+ Con SWL, pasas de ser un "programador asistido por IA" a convertirte en el **Gerente de Ingeniería** de un equipo de IA altamente coordinado.
571
+
572
+ ## Desarrollo
573
+
574
+ ### Tests
575
+
576
+ ```bash
577
+ npm test # tests unitarios con node:test nativo
578
+ npm run test:validate # Validación estructural del paquete
579
+ npm run test:all # Ambos
580
+ ```
581
+
582
+ ### CI/CD
583
+
584
+ El repositorio incluye GitHub Actions (`.github/workflows/ci.yml`) que ejecuta automáticamente en push/PR a main: sintaxis de hooks, validación estructural, tests unitarios y consistencia de versiones.
585
+
586
+ Los mismos workflows son distribuibles a cualquier proyecto usuario vía `/swl:configurar-ci init`: revisión de seguridad con Claude en cada PR (`swl-security.yml`), CI genérico Node 22+24 (`swl-ci.yml`) y releases automáticos desde conventional commits (`release-please.yml`). Instalación opt-in, no afecta al repo destino sin consentimiento explícito.
587
+
588
+ ### Herramientas de mantenimiento
589
+
590
+ ```bash
591
+ npm run generate:docs # Regenera INVENTARIO.md y SALUD.md desde el disco
592
+ npm run field-report # Reporte de uso real de skills y agentes
593
+ ```
594
+
595
+ ## Licencia
596
+
597
+ MIT