@saulwade/swl-ses 2.6.0 → 2.8.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 (435) hide show
  1. package/CLAUDE.md +209 -197
  2. package/README.md +647 -600
  3. package/agentes/accesibilidad-wcag-swl.md +690 -690
  4. package/agentes/arquitecto-swl.md +267 -267
  5. package/agentes/auto-evolucion-swl.md +932 -932
  6. package/agentes/backend-csharp-swl.md +420 -420
  7. package/agentes/backend-go-swl.md +390 -390
  8. package/agentes/backend-java-swl.md +281 -281
  9. package/agentes/backend-rust-swl.md +364 -364
  10. package/agentes/backend-workers-swl.md +482 -482
  11. package/agentes/cloud-infra-swl.md +509 -509
  12. package/agentes/consolidador-swl.md +541 -541
  13. package/agentes/depurador-swl.md +352 -352
  14. package/agentes/devops-ci-swl.md +400 -400
  15. package/agentes/disenador-ui-swl.md +569 -569
  16. package/agentes/documentador-swl.md +345 -345
  17. package/agentes/frontend-angular-swl.md +621 -621
  18. package/agentes/frontend-css-swl.md +716 -716
  19. package/agentes/frontend-react-swl.md +692 -692
  20. package/agentes/frontend-swl.md +496 -496
  21. package/agentes/frontend-tailwind-swl.md +826 -826
  22. package/agentes/investigador-swl.md +432 -432
  23. package/agentes/investigador-ux-swl.md +505 -505
  24. package/agentes/migrador-swl.md +442 -442
  25. package/agentes/mobile-android-swl.md +511 -511
  26. package/agentes/mobile-cross-swl.md +541 -541
  27. package/agentes/mobile-ios-swl.md +502 -502
  28. package/agentes/mobile-testing-swl.md +302 -302
  29. package/agentes/nemesis-auditor-swl.md +285 -285
  30. package/agentes/observabilidad-swl.md +438 -438
  31. package/agentes/pagos-swl.md +310 -310
  32. package/agentes/perfilador-usuario-swl.md +321 -321
  33. package/agentes/planificador-swl.md +399 -399
  34. package/agentes/producto-prd-swl.md +589 -589
  35. package/agentes/red-team-swl.md +218 -218
  36. package/agentes/release-manager-swl.md +590 -590
  37. package/agentes/rendimiento-swl.md +713 -713
  38. package/agentes/revisor-angular-swl.md +278 -278
  39. package/agentes/revisor-csharp-swl.md +264 -264
  40. package/agentes/revisor-go-swl.md +259 -259
  41. package/agentes/revisor-java-swl.md +257 -257
  42. package/agentes/revisor-kotlin-swl.md +273 -273
  43. package/agentes/revisor-nextjs-swl.md +281 -281
  44. package/agentes/revisor-php-swl.md +271 -271
  45. package/agentes/revisor-react-swl.md +278 -278
  46. package/agentes/revisor-rust-swl.md +346 -346
  47. package/agentes/revisor-seguridad-swl.md +399 -399
  48. package/agentes/revisor-swift-swl.md +268 -268
  49. package/agentes/revisor-typescript-swl.md +346 -346
  50. package/agentes/tdd-qa-swl.md +393 -393
  51. package/bin/swl-ses.js +10 -0
  52. package/comandos/swl/actualizar.md +174 -174
  53. package/comandos/swl/adoptar-proyecto.md +265 -265
  54. package/comandos/swl/aprender.md +836 -836
  55. package/comandos/swl/aprobar-plan.md +146 -146
  56. package/comandos/swl/auditar-deps.md +134 -134
  57. package/comandos/swl/autoresearch.md +264 -264
  58. package/comandos/swl/ayuda.md +224 -224
  59. package/comandos/swl/brainstorm.md +52 -51
  60. package/comandos/swl/checkpoint.md +325 -325
  61. package/comandos/swl/claudemd.md +234 -234
  62. package/comandos/swl/compactar.md +310 -310
  63. package/comandos/swl/configurar-ci.md +235 -235
  64. package/comandos/swl/contexto.md +110 -110
  65. package/comandos/swl/crear-skill.md +292 -292
  66. package/comandos/swl/cron.md +194 -194
  67. package/comandos/swl/deuda-codigo.md +97 -97
  68. package/comandos/swl/discutir-fase.md +169 -169
  69. package/comandos/swl/ejecutar-fase.md +233 -233
  70. package/comandos/swl/evaluar-skill.md +520 -520
  71. package/comandos/swl/evolucion-continua.md +73 -73
  72. package/comandos/swl/evolucionar.md +267 -267
  73. package/comandos/swl/exportar-vault.md +583 -583
  74. package/comandos/swl/fix.md +118 -118
  75. package/comandos/swl/gateway.md +158 -158
  76. package/comandos/swl/inbox.md +116 -116
  77. package/comandos/swl/instalar.md +220 -220
  78. package/comandos/swl/instintos.md +86 -86
  79. package/comandos/swl/mapear-codebase.md +312 -312
  80. package/comandos/swl/mcp-status.md +176 -175
  81. package/comandos/swl/modelo.md +100 -100
  82. package/comandos/swl/nemesis.md +433 -433
  83. package/comandos/swl/notificaciones.md +299 -299
  84. package/comandos/swl/nuevo-proyecto.md +251 -251
  85. package/comandos/swl/planear-fase.md +263 -263
  86. package/comandos/swl/plugins.md +256 -256
  87. package/comandos/swl/predecir.md +169 -169
  88. package/comandos/swl/reflect-skills.md +125 -125
  89. package/comandos/swl/release.md +450 -450
  90. package/comandos/swl/revisar-impacto.md +201 -201
  91. package/comandos/swl/revisar.md +330 -330
  92. package/comandos/swl/seguridad.md +189 -189
  93. package/comandos/swl/sesiones.md +200 -200
  94. package/comandos/swl/skill-search.md +113 -113
  95. package/comandos/swl/status.md +345 -345
  96. package/comandos/swl/verificar.md +817 -817
  97. package/comandos/swl/wiki.md +620 -620
  98. package/gateway/cron/jobs.example.json +12 -12
  99. package/gateway/lib/event-channel.js +191 -191
  100. package/habilidades/agent-deep-links/SKILL.md +148 -148
  101. package/habilidades/auto-evolucion-protocolo/SKILL.md +294 -294
  102. package/habilidades/backend-async-postgres-testing/SKILL.md +216 -215
  103. package/habilidades/backend-error-design/SKILL.md +221 -221
  104. package/habilidades/backend-production-resilience/SKILL.md +288 -288
  105. package/habilidades/calidad-anti-patrones-universales/SKILL.md +105 -1
  106. package/habilidades/calidad-contract-testing/SKILL.md +165 -165
  107. package/habilidades/calidad-mutation-testing/SKILL.md +25 -1
  108. package/habilidades/changelog-generator/SKILL.md +174 -174
  109. package/habilidades/checklist-seguridad/recursos/stride-cobertura.md +60 -60
  110. package/habilidades/ci-cd-pipelines/SKILL.md +5 -1
  111. package/habilidades/compactacion-contexto/SKILL.md +2 -1
  112. package/habilidades/contenedores-docker/SKILL.md +4 -2
  113. package/habilidades/css-moderno/SKILL.md +7 -1
  114. package/habilidades/diagrama-arquitectura/assets/template.html +276 -276
  115. package/habilidades/doubt-driven-review/SKILL.md +207 -207
  116. package/habilidades/doubt-driven-review/recursos/EXAMPLES.md +130 -130
  117. package/habilidades/drift-detection/SKILL.md +1 -1
  118. package/habilidades/ejecutar-task-iterativo/SKILL.md +278 -278
  119. package/habilidades/estructura-proyecto-claude/recursos/mcp-json-template.json +57 -57
  120. package/habilidades/extractor-de-aprendizajes/SKILL.md +12 -2
  121. package/habilidades/feynman-auditor-swl/recursos/preguntas-language-agnostic.md +108 -108
  122. package/habilidades/git-worktrees-paralelo/SKILL.md +19 -1
  123. package/habilidades/harness-claude-code/SKILL.md +315 -314
  124. package/habilidades/instalar-sistema/SKILL.md +227 -227
  125. package/habilidades/meta-skills-estandar/recursos/convencion-examples.md +93 -93
  126. package/habilidades/patrones-python/recursos/patrones-avanzados.md +469 -469
  127. package/habilidades/perfil-usuario/SKILL.md +200 -200
  128. package/habilidades/planear-fase/SKILL.md +358 -358
  129. package/habilidades/prevencion-sobreingenieria/recursos/EXAMPLES.md +580 -580
  130. package/habilidades/proceso-ddia-streaming/SKILL.md +231 -231
  131. package/habilidades/proceso-discovery-machote/SKILL.md +157 -157
  132. package/habilidades/proceso-dynamic-workflows/SKILL.md +60 -0
  133. package/habilidades/proceso-dynamic-workflows/recursos/template-adversarial-verify.js +65 -65
  134. package/habilidades/proceso-dynamic-workflows/recursos/template-triage.js +65 -65
  135. package/habilidades/proceso-ingenieria-requerimientos/SKILL.md +147 -147
  136. package/habilidades/proceso-intent-engineering/SKILL.md +269 -269
  137. package/habilidades/proceso-modular-split/SKILL.md +256 -256
  138. package/habilidades/release-semver/SKILL.md +2 -2
  139. package/habilidades/state-inconsistency-auditor-swl/recursos/coupled-state-patterns.md +147 -147
  140. package/habilidades/swl-claudemd/recursos/contrato-aprender.md +83 -83
  141. package/habilidades/swl-claudemd/recursos/duplicacion-reglas-globales.md +85 -85
  142. package/habilidades/swl-claudemd/recursos/plantillas-init.md +94 -94
  143. package/habilidades/tdd-workflow/SKILL.md +749 -749
  144. package/habilidades/tdd-workflow/recursos/gherkin-bdd.md +111 -111
  145. package/hooks/agente-lifecycle.js +1 -1
  146. package/hooks/audit-trail.js +1 -1
  147. package/hooks/auto-consolidacion.js +1 -1
  148. package/hooks/calidad-pre-commit.js +159 -10
  149. package/hooks/captura-acciones-post.js +1 -1
  150. package/hooks/captura-acciones-session.js +1 -1
  151. package/hooks/captura-feedback-usuario.js +1 -1
  152. package/hooks/ciclo-evolucion-subagente.js +26 -26
  153. package/hooks/ciclo-evolucion.js +26 -26
  154. package/hooks/contexto-iteracion.js +1 -1
  155. package/hooks/degradacion-instintos.js +1 -1
  156. package/hooks/grafo-contexto.js +1 -1
  157. package/hooks/guardrail-modelo.js +1 -1
  158. package/hooks/inbox-aviso.js +1 -1
  159. package/hooks/inyeccion-contexto.js +1 -1
  160. package/hooks/lib/agent-matcher.js +1 -1
  161. package/hooks/lib/agent-routing.js +1 -1
  162. package/hooks/lib/auto-consolidator.js +335 -335
  163. package/hooks/lib/captura-acciones.js +1 -1
  164. package/hooks/lib/ciclo-evolucion.js +47 -47
  165. package/hooks/lib/deep-links.js +185 -185
  166. package/hooks/lib/error-classifier.js +308 -308
  167. package/hooks/lib/etapa-metricas.js +1 -1
  168. package/hooks/lib/evolution-tracker.js +1 -1
  169. package/hooks/lib/gateway-notify.js +193 -193
  170. package/hooks/lib/mcp-health.js +1 -1
  171. package/hooks/lib/notificacion-formato.js +92 -0
  172. package/hooks/lib/nudge-tracker.js +1 -1
  173. package/hooks/lib/otlp-exporter.js +1 -1
  174. package/hooks/lib/propose-step.js +1 -1
  175. package/hooks/lib/provenance-tracker.js +191 -191
  176. package/hooks/lib/raiz-proyecto.js +158 -102
  177. package/hooks/lib/resource-quota.js +122 -122
  178. package/hooks/lib/retry-jitter.js +165 -165
  179. package/hooks/lib/run-log.js +1 -1
  180. package/hooks/lib/security-net.js +201 -201
  181. package/hooks/lib/singleton-guard.js +20 -13
  182. package/hooks/lib/skill-auditor.js +588 -588
  183. package/hooks/lib/sync-status.js +228 -228
  184. package/hooks/lib/taint-tracker.js +107 -107
  185. package/hooks/lib/telegram-cliente.js +11 -3
  186. package/hooks/lib/text-similarity.js +241 -241
  187. package/hooks/lib/toon-compressor.js +245 -245
  188. package/hooks/notificacion-telegram.js +17 -13
  189. package/hooks/preservar-estado-pre-compact.js +1 -1
  190. package/hooks/registro-turnos.js +1 -1
  191. package/hooks/resumen-sesion.js +1 -1
  192. package/hooks/risk-scoring.js +1 -1
  193. package/hooks/session-briefing.js +13 -5
  194. package/hooks/spec-gate.js +1 -1
  195. package/hooks/sugerir-regenerar-inventario.js +1 -1
  196. package/hooks/tdd-gate.js +1 -1
  197. package/hooks/telemetria-agentes.js +1 -1
  198. package/hooks/telemetria-skill-routing.js +1 -1
  199. package/hooks/tracking-costos.js +1 -1
  200. package/hooks/validar-formato-post-subagente.js +1 -1
  201. package/hooks/validar-intent-spec.js +1 -1
  202. package/hooks/validar-planning-paths.js +1 -1
  203. package/instintos/autonomia.yaml +27 -27
  204. package/instintos/prompt-appendices.yaml +57 -57
  205. package/llms.txt +29 -29
  206. package/manifiestos/agent-output-schemas.json +57 -57
  207. package/manifiestos/canonical-hashes.json +6250 -5257
  208. package/manifiestos/harness-ir.json +47536 -0
  209. package/manifiestos/modulos.json +1429 -1428
  210. package/manifiestos/policy-bundle.json +2065 -0
  211. package/manifiestos/policy-corpus-w2.json +3926 -0
  212. package/manifiestos/runtime-adapters-core3.json +208 -0
  213. package/manifiestos/runtime-conformance.json +139 -0
  214. package/manifiestos/skills-lock.json +1275 -1275
  215. package/package.json +94 -94
  216. package/plantillas/auditor-veto-template.md +105 -105
  217. package/plantillas/github-workflows/release-please.yml +44 -44
  218. package/plantillas/github-workflows/swl-ci.yml +107 -107
  219. package/plantillas/github-workflows/swl-security.yml +51 -51
  220. package/plugin.json +369 -369
  221. package/reglas/accesibilidad.md +10 -10
  222. package/reglas/auditorias-documentales-estructurales.md +7 -7
  223. package/reglas/cloud-infra.md +8 -8
  224. package/reglas/consultar-vault-primero.md +195 -195
  225. package/reglas/git-workflow.md +1 -0
  226. package/reglas/hooks.md +6 -6
  227. package/reglas/intent-engineering.md +218 -218
  228. package/reglas/markitdown.md +8 -8
  229. package/reglas/monitor-ci.md +12 -0
  230. package/reglas/patrones.md +6 -6
  231. package/reglas/testing.md +7 -7
  232. package/reglas/tests-cleanup.md +224 -224
  233. package/schemas/agent-message.schema.json +73 -73
  234. package/schemas/agent-output-implementacion.schema.json +114 -114
  235. package/schemas/agent-output-planificacion.schema.json +150 -150
  236. package/schemas/agent-output-review.schema.json +98 -98
  237. package/schemas/diary-entry.schema.json +112 -112
  238. package/schemas/gate-state.schema.json +76 -0
  239. package/schemas/harness-ir.schema.json +369 -0
  240. package/schemas/hook-profiles.schema.json +54 -54
  241. package/schemas/hooks-config.schema.json +89 -89
  242. package/schemas/legacy-gates.schema.json +45 -0
  243. package/schemas/modulos.schema.json +38 -38
  244. package/schemas/perfiles.schema.json +36 -36
  245. package/schemas/plugin.schema.json +77 -77
  246. package/schemas/policy-bundle.schema.json +140 -0
  247. package/schemas/policy-enforcement.schema.json +117 -0
  248. package/schemas/policy-operation.schema.json +261 -0
  249. package/schemas/runtime-adapter.schema.json +176 -0
  250. package/schemas/runtime-build-attestation.schema.json +100 -0
  251. package/schemas/runtime-conformance.schema.json +239 -0
  252. package/schemas/runtime-diagnostic.schema.json +395 -0
  253. package/schemas/skill-evals.schema.json +119 -119
  254. package/schemas/skill-frontmatter.schema.json +245 -245
  255. package/schemas/w4-certification-request.schema.json +72 -0
  256. package/schemas/w4-certification-verdict.schema.json +224 -0
  257. package/schemas/w4-corpus.schema.json +172 -0
  258. package/schemas/w4-mutation-report.schema.json +116 -0
  259. package/schemas/w4-replay-result.schema.json +164 -0
  260. package/schemas/w4-scoring-report.schema.json +89 -0
  261. package/scripts/audit-tools/audit-history.js +330 -330
  262. package/scripts/audit-tools/bundle-tracker.js +290 -290
  263. package/scripts/audit-tools/canary-monitor.js +352 -352
  264. package/scripts/audit-tools/code-profiler.js +605 -605
  265. package/scripts/audit-tools/dep-doctor.js +320 -320
  266. package/scripts/audit-tools/env-validator.js +206 -206
  267. package/scripts/audit-tools/lib/fs-walk.js +48 -48
  268. package/scripts/audit-tools/lib/output.js +23 -23
  269. package/scripts/audit-tools/migration-checker.js +392 -392
  270. package/scripts/audit-tools/pentest-scanner.js +1436 -1436
  271. package/scripts/auditar-clases-conocidas.js +134 -134
  272. package/scripts/bootstrap-instintos.js +88 -14
  273. package/scripts/canario-hooks.js +166 -166
  274. package/scripts/cli/aprobar-plan.js +73 -73
  275. package/scripts/cli/autonomia.js +23 -23
  276. package/scripts/cli/benchmark-memoria.js +37 -37
  277. package/scripts/cli/briefing.js +23 -23
  278. package/scripts/cli/ciclo-autonomo.js +73 -73
  279. package/scripts/cli/ciclo-evolucion.js +26 -26
  280. package/scripts/cli/ciclo-fase-b.js +102 -102
  281. package/scripts/cli/derivar-feature-list.js +25 -25
  282. package/scripts/cli/detectar-host.js +27 -27
  283. package/scripts/cli/diary-entry.js +69 -69
  284. package/scripts/cli/execution-state.js +18 -18
  285. package/scripts/cli/gateway-notify.js +41 -41
  286. package/scripts/cli/guardrail-metrics.js +39 -39
  287. package/scripts/cli/liberar-fase.js +42 -42
  288. package/scripts/cli/mark-evolved.js +56 -56
  289. package/scripts/cli/memoria-search.js +69 -69
  290. package/scripts/cli/metricas-dora.js +26 -26
  291. package/scripts/cli/near-duplicate.js +55 -55
  292. package/scripts/cli/notificaciones.js +123 -123
  293. package/scripts/cli/nudge-accionar.js +39 -39
  294. package/scripts/cli/propose-step.js +29 -29
  295. package/scripts/cli/run-eval.js +38 -38
  296. package/scripts/cli/schedule-parse.js +19 -19
  297. package/scripts/cli/sugerir-modelo.js +20 -20
  298. package/scripts/cli/verificar-plan.js +36 -36
  299. package/scripts/cli/verificar-trazabilidad.js +35 -35
  300. package/scripts/comandos/install-asistido.js +8 -7
  301. package/scripts/configurar-branch-protection.js +418 -418
  302. package/scripts/detectar-aprendizajes-duplicados.js +151 -151
  303. package/scripts/doctor.js +61 -13
  304. package/scripts/evidencia-valor.js +101 -101
  305. package/scripts/field-report.js +16 -16
  306. package/scripts/generar-checklists-consolidados.js +273 -273
  307. package/scripts/generar-claims-runtime.js +1342 -0
  308. package/scripts/generar-harness-ir.js +257 -0
  309. package/scripts/generar-inventario.js +52 -54
  310. package/scripts/generar-policy-bundle.js +202 -0
  311. package/scripts/instalador.js +39 -7
  312. package/scripts/lib/activar-hooks-proyecto.js +116 -116
  313. package/scripts/lib/approval-receipts.js +190 -0
  314. package/scripts/lib/artefactos-python.js +43 -43
  315. package/scripts/lib/benchmark-metrics.js +160 -160
  316. package/scripts/lib/budget-enforcer.js +252 -252
  317. package/scripts/lib/certificacion-loop-state.js +421 -0
  318. package/scripts/lib/ci-reader.js +193 -193
  319. package/scripts/lib/ciclo-autonomo/candidatos.js +174 -174
  320. package/scripts/lib/ciclo-autonomo/config.js +165 -165
  321. package/scripts/lib/ciclo-autonomo/drenador-feedback.js +174 -174
  322. package/scripts/lib/ciclo-autonomo/fallback.js +77 -77
  323. package/scripts/lib/ciclo-autonomo/guard-convivencia.js +139 -139
  324. package/scripts/lib/ciclo-autonomo/higiene-nudges.js +112 -112
  325. package/scripts/lib/ciclo-autonomo/index.js +301 -301
  326. package/scripts/lib/ciclo-autonomo/lock.js +124 -124
  327. package/scripts/lib/ciclo-autonomo/presupuesto.js +122 -122
  328. package/scripts/lib/ciclo-autonomo/puente-degradacion.js +240 -240
  329. package/scripts/lib/ciclo-autonomo/runner-fase-b.js +248 -248
  330. package/scripts/lib/ciclo-autonomo/writer-instintos.js +190 -190
  331. package/scripts/lib/ciclo-autonomo/yaml-instintos.js +591 -535
  332. package/scripts/lib/clasificar-directorio.js +92 -0
  333. package/scripts/lib/contadores-inventario.js +217 -217
  334. package/scripts/lib/detectar-host-swl.js +175 -175
  335. package/scripts/lib/detectar-runtime.js +29 -20
  336. package/scripts/lib/detectar-stack-detallado.js +307 -307
  337. package/scripts/lib/detector-autoduplicacion-intra-archivo.js +234 -234
  338. package/scripts/lib/detector-reglas-duplicadas.js +220 -220
  339. package/scripts/lib/eval-metrics-store.js +218 -218
  340. package/scripts/lib/eval-quality.js +171 -171
  341. package/scripts/lib/eval-schemas.js +144 -144
  342. package/scripts/lib/eval-self-correct.js +106 -106
  343. package/scripts/lib/eval-validator.js +185 -185
  344. package/scripts/lib/evidence-verifier.js +192 -0
  345. package/scripts/lib/evidencia-release.js +322 -322
  346. package/scripts/lib/evidencia-valor.js +228 -228
  347. package/scripts/lib/expandir-targets.js +71 -71
  348. package/scripts/lib/frontmatter-canonico.js +509 -0
  349. package/scripts/lib/gate-engine.js +871 -0
  350. package/scripts/lib/gate-hooks-requires.js +249 -249
  351. package/scripts/lib/gate-licencias.js +212 -212
  352. package/scripts/lib/git-config-preflight.js +48 -0
  353. package/scripts/lib/git-metricas.js +257 -257
  354. package/scripts/lib/harness-ir.js +778 -0
  355. package/scripts/lib/harness-source-snapshot.js +309 -0
  356. package/scripts/lib/integrity-ledger.js +1147 -0
  357. package/scripts/lib/jaccard-similarity.js +98 -98
  358. package/scripts/lib/legacy-gate-migration.js +324 -0
  359. package/scripts/lib/limpiar-basura-global.js +204 -0
  360. package/scripts/lib/longmemeval-runner.js +125 -125
  361. package/scripts/lib/metricas-dora.js +204 -204
  362. package/scripts/lib/notificaciones-telegram.js +1 -0
  363. package/scripts/lib/npm-version.js +1 -0
  364. package/scripts/lib/paquetes-conocidos.js +50 -50
  365. package/scripts/lib/plan-lock.js +61 -13
  366. package/scripts/lib/policy-broker.js +338 -0
  367. package/scripts/lib/policy-bundle.js +342 -0
  368. package/scripts/lib/policy-context-provider.js +310 -0
  369. package/scripts/lib/policy-contract.js +479 -0
  370. package/scripts/lib/policy-verifier-utils.js +65 -0
  371. package/scripts/lib/pr-analyzer.js +399 -399
  372. package/scripts/lib/principal-verifier.js +178 -0
  373. package/scripts/lib/prompt-builder.js +264 -264
  374. package/scripts/lib/resolver-plan-fase.js +37 -37
  375. package/scripts/lib/rrf-fusion.js +175 -175
  376. package/scripts/lib/runtime-adapter-contract.js +267 -0
  377. package/scripts/lib/runtime-artifact-verifier.js +426 -0
  378. package/scripts/lib/runtime-build-attestation.js +127 -0
  379. package/scripts/lib/runtime-bundle-installer.js +586 -0
  380. package/scripts/lib/runtime-compiler.js +327 -0
  381. package/scripts/lib/runtime-conformance.js +202 -0
  382. package/scripts/lib/runtime-doctor-core3.js +567 -0
  383. package/scripts/lib/runtime-doctor-input.js +59 -0
  384. package/scripts/lib/runtime-operation-adapter.js +267 -0
  385. package/scripts/lib/schema-version.js +164 -164
  386. package/scripts/lib/semantic-search.js +252 -252
  387. package/scripts/lib/signed-envelope.js +545 -0
  388. package/scripts/lib/single-use-store.js +359 -0
  389. package/scripts/lib/skills-externas.js +31 -0
  390. package/scripts/lib/toml-merge.js +204 -204
  391. package/scripts/lib/transformadores/codex.js +15 -8
  392. package/scripts/lib/transformadores/gemini.js +79 -5
  393. package/scripts/lib/w4-attestation-adapter.js +158 -0
  394. package/scripts/lib/w4-canario.js +337 -0
  395. package/scripts/lib/w4-claims.js +182 -0
  396. package/scripts/lib/w4-corpus-generador.js +542 -0
  397. package/scripts/lib/w4-gate-c5.js +115 -0
  398. package/scripts/lib/w4-harness-bajo-prueba.js +155 -0
  399. package/scripts/lib/w4-matriz-combos.js +55 -0
  400. package/scripts/lib/w4-motor-mutacion.js +1348 -0
  401. package/scripts/lib/w4-motor-replay.js +735 -0
  402. package/scripts/lib/w4-pin-origen.js +54 -0
  403. package/scripts/lib/w4-publicar-request.js +132 -0
  404. package/scripts/lib/w4-revocacion.js +62 -0
  405. package/scripts/lib/w4-runtimes-core3.js +38 -0
  406. package/scripts/lib/w4-scorer-certificacion.js +692 -0
  407. package/scripts/lib/w4-superficie-candidato.js +49 -0
  408. package/scripts/lib/w4-veredicto.js +452 -0
  409. package/scripts/lib/w4-verificar-veredicto.js +302 -0
  410. package/scripts/limpiar-artefactos-python.js +131 -131
  411. package/scripts/mcp-server/auth.js +105 -105
  412. package/scripts/mcp-server/cache.js +106 -106
  413. package/scripts/migrar-csv-a-array.js +168 -168
  414. package/scripts/migrar-fase-dominio.js +200 -200
  415. package/scripts/migrar-gates-legacy.js +108 -0
  416. package/scripts/publicar-certification-request.js +115 -0
  417. package/scripts/runtime-doctor.js +107 -0
  418. package/scripts/tui/componentes/selector-multi.js +189 -189
  419. package/scripts/tui/componentes/selector-unico.js +158 -158
  420. package/scripts/tui/ejecutores.js +375 -375
  421. package/scripts/tui/lib/colores.js +129 -129
  422. package/scripts/tui/lib/render.js +264 -264
  423. package/scripts/tui/lib/teclas.js +113 -113
  424. package/scripts/tui/pantallas/install-wizard.js +408 -403
  425. package/scripts/tui/pantallas/menu-principal.js +52 -52
  426. package/scripts/tui/pantallas/progreso.js +274 -274
  427. package/scripts/tui/pantallas/resumen.js +132 -132
  428. package/scripts/validar-userland-vacio.js +110 -110
  429. package/scripts/verificar-aislamiento-swl-eval.js +87 -0
  430. package/scripts/verificar-empaquetado-downstream.js +375 -0
  431. package/scripts/verificar-loop-constructor.js +215 -0
  432. package/scripts/verificar-trazabilidad.js +13 -6
  433. package/scripts/verificar-veredicto-real.js +84 -0
  434. package/instintos/.backups/perfil-usuario.yaml.2026-07-10-165128.bak +0 -53
  435. package/instintos/.backups/proyecto.yaml.2026-07-10-165128.bak +0 -372
package/README.md CHANGED
@@ -1,600 +1,647 @@
1
- # swl-ses v2.6.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 | 61 |
16
- | Habilidades | 179 (todas <=300 líneas, con divulgación progresiva a recursos/) |
17
- | Comandos (/swl:*) | 47 (todos <=300 líneas, delegan a skills) |
18
- | Reglas | 37 base + 40 por lenguaje (8 lenguajes x 5) |
19
- | Hooks | 49 + 76 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 -y @saulwade/swl-ses@latest init` | `.planning/` y `_userland/` (plantillas vacías) | En el proyecto actual | ❌ No |
51
- | `npx -y @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 -y @saulwade/swl-ses@latest init # Crea .planning/ y _userland/
81
- npx -y @saulwade/swl-ses@latest install --target claude --profile core # Instala agentes, skills, hooks y reglas
82
- npx -y @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 -y @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 -y @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 -y @saulwade/swl-ses@latest install` | Instala agentes, skills, reglas, hooks y comandos `/swl:*` en el runtime destino (`.claude/` local o `~/.claude/` global). |
154
- | `npx -y @saulwade/swl-ses@latest doctor` | Diagnostica problemas de la instalación |
155
- | `npx -y @saulwade/swl-ses@latest update` | Actualiza componentes instalados |
156
- | `npx -y @saulwade/swl-ses@latest uninstall` | Desinstala componentes del runtime |
157
- | `npx -y @saulwade/swl-ses@latest info` | Muestra información del sistema instalado |
158
- | `npx -y @saulwade/swl-ses@latest skills list` | Lista skills instalados |
159
- | `npx -y @saulwade/swl-ses@latest skills add <fuente>` | Agrega skill desde repo Git, owner/repo, o path local |
160
- | `npx -y @saulwade/swl-ses@latest skills remove <nombre>` | Remueve un skill individual |
161
- | `npx -y @saulwade/swl-ses@latest agents list` | Lista agentes instalados |
162
- | `npx -y @saulwade/swl-ses@latest agents add <fuente>` | Agrega agente desde repo Git o path local |
163
- | `npx -y @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: 61 agentes + 181 habilidades + 48 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 -y @saulwade/swl-ses@latest install --target claude --profile core
237
-
238
- # Backend Python en Gemini CLI
239
- npx -y @saulwade/swl-ses@latest install --target gemini --profile backend-python
240
-
241
- # Frontend React en GitHub Copilot
242
- npx -y @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 -y @saulwade/swl-ses@latest install --target openclaude --profile fullstack-python-angular
246
-
247
- # Full-stack en OpenCode
248
- npx -y @saulwade/swl-ses@latest install --target opencode --profile fullstack-python-angular
249
-
250
- # Perfil completo en directorio global
251
- npx -y @saulwade/swl-ses@latest install --target claude --profile completo --global
252
-
253
- # Agregar skills desde GitHub con selector interactivo
254
- npx -y @saulwade/swl-ses@latest skills add anthropics/skills
255
-
256
- # Agregar un skill específico por nombre
257
- npx -y @saulwade/swl-ses@latest skills add anthropics/skills --skill docx
258
-
259
- # Agregar todos los skills de un repo sin selector
260
- npx -y @saulwade/swl-ses@latest skills add anthropics/skills --all
261
-
262
- # Agregar skill desde URL completa
263
- npx -y @saulwade/swl-ses@latest skills add https://github.com/user/repo --skill mi-skill
264
-
265
- # Agregar agente desde path local
266
- npx -y @saulwade/swl-ses@latest agents add ./mis-agentes --agent mi-agente
267
-
268
- # Ver que se instalaria sin hacer cambios
269
- npx -y @saulwade/swl-ses@latest install --target codex --profile core --dry-run
270
-
271
- # Ver información del sistema
272
- npx -y @saulwade/swl-ses@latest info --target claude
273
- ```
274
-
275
- ## Agentes (61)
276
-
277
- ### Orquestación y Proceso
278
- `orquestador-swl`, `producto-prd-swl`, `consolidador-swl`, `auto-evolución-swl`, `abogado-diablo-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:seguridad` | Postura de seguridad del proyecto completo (secretos, deps, OWASP, pipeline) |
340
- | `/swl:fix` | Triage y despacho unificado de reparaciones (bug/build/CI/hallazgos) |
341
- | `/swl:predecir` | Panel predictivo pre-implementación; `--abogado-diablo` critica la decisión |
342
- | `/swl:mapear-codebase` | Analizar codebase existente |
343
- | `/swl:checkpoint` | Guardar estado para continuar después |
344
- | `/swl:compactar` | Reducir contexto preservando info clave |
345
- | `/swl:aprender` | Extraer aprendizajes de la sesión |
346
- | `/swl:evolucionar` | Auto-evolución de agentes/skills |
347
- | `/swl:autoresearch` | Loop de auto-mejora iterativa contra checklist |
348
- | `/swl:crear-skill` | Crear nuevo skill con guía interactiva |
349
- | `/swl:status salud` | Diagnóstico de integridad del sistema |
350
- | `/swl:release` | Ciclo de release SemVer |
351
- | `/swl:auditar-deps` | Auditoría de dependencias (CVEs) |
352
- | `/swl:contexto` | Cambiar modo de desarrollo activo (dev/review/research) |
353
- | `/swl:sesiones` | Gestionar persistencia de sesiones de trabajo |
354
- | `/swl:instintos` | Inspeccionar y gestionar instintos del sistema |
355
- | `/swl:modelo` | Configurar modelo de IA por agente o globalmente |
356
- | `/swl:status metricas` | Ver métricas de sesión y productividad |
357
- | `/swl:status dashboard` | Dashboard histórico de uso multi-sesión (gráficas interactivas) |
358
- | `/swl:revisar-impacto` | Análisis de impacto estructural: blast radius, risk score, comunidades |
359
- | `/swl:evaluar-skill` | Evaluación formal de skills: 2 capas (estática + semántica), badges de calidad |
360
- | `/swl:wiki` | Gestionar wiki de conocimiento del proyecto (init/ingest/query/lint) |
361
- | `/swl:plugins` | Gestionar plugins y extensiones del sistema |
362
- | `/swl:revisar` | Revisión de código por tecnología |
363
- | `/swl:brainstorm` | Brainstorming estructurado |
364
- | `/swl:ayuda` | Ayuda interactiva: catálogo, detalle de comando, búsqueda por keyword |
365
- | `/swl:skill-search` | Buscar skills por keyword o dominio |
366
- | `/swl:mcp-status` | Estado de servidores MCP conectados |
367
- | `/swl:cron` | Gestionar tareas programadas |
368
- | `/swl:gateway` | Configurar gateway multi-plataforma + modo relay bidireccional Telegram → Claude |
369
- | `/swl:inbox` | Consumir comandos entrantes del gateway (enviados desde Telegram/Discord/webhook) |
370
- | `/swl:reflect-skills` | Analizar historial JSONL para detectar patrones candidatos a skill/comando emergente |
371
- | `/swl:contribuir` | Contribuir evoluciones al core (filtro dominio + PluginEval ≥80) |
372
- | `/swl:exportar-vault` | Exportar resumen de sesión al vault personal (Obsidian u otro) |
373
-
374
- Ver [COMANDOS.md](COMANDOS.md) para flags y opciones detalladas de cada comando.
375
- Ver [MANUAL_USO.md](MANUAL_USO.md) para explicaciones prácticas de cada comando y guías de cuándo usarlos.
376
-
377
- ## Arquitectura
378
-
379
- ### Thin Orchestrator
380
-
381
- ```
382
- Comando (/swl:planear-fase)
383
- +-> Cargar habilidad (planear-fase/SKILL.md)
384
- +-> Spawn agente (planificador-swl) con contexto fresco
385
- +-> Verificar resultado (revisor-codigo-swl)
386
- +-> Actualizar estado (.planning/ESTADO.md)
387
- ```
388
-
389
- ### Estado en archivos (.planning/)
390
-
391
- ```
392
- .planning/
393
- PROYECTO.md # Vision, contexto, objetivos
394
- REQUISITOS.md # Requisitos con IDs (REQ-001...)
395
- HOJA-RUTA.md # Fases con entregables y verificación
396
- ESTADO.md # Estado actual, decisiones, riesgos
397
- CONTEXTO.md # Modo de desarrollo activo
398
- METRICAS.md # Métricas de sesión
399
- research/ # Investigación del dominio
400
- fases/ # Documentos por fase (CONTEXTO, PLAN, RESUMEN, VERIFICACION)
401
- sessions/ # Persistencia de sesiones JSON
402
- comms/ # Comunicación entre agentes
403
- ```
404
-
405
- ### Arquitectura de 4 capas
406
-
407
- | Capa | Componente | Propósito |
408
- |------|-----------|-----------|
409
- | L1 | CLAUDE.md | Contexto persistente y reglas |
410
- | L2 | Skills | Paquetes de conocimiento versionados |
411
- | L3 | Hooks | Seguridad y automatización |
412
- | L4 | Agents | Subagentes con contexto aislado |
413
-
414
- ## Gateway bidireccional con Telegram (opt-in)
415
-
416
- 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.
417
-
418
- ### Flujo
419
-
420
- ```
421
- Telegram (móvil) → CommandRelay (valida) → .planning/inbox/cmd-*.json → /swl:inbox en Claude
422
- o claude -p headless (auto)
423
- ```
424
-
425
- ### Protecciones del CommandRelay
426
-
427
- - Whitelist de usuarios por plataforma (`relay.platforms.<nombre>.allowedUsers`)
428
- - Rechazo de payload injection: `<script>`, `.env`, `id_rsa`, `.ssh/`, etc.
429
- - Límite de 4000 chars por mensaje
430
- - Rate limit: 10 msg/min por usuario (configurable)
431
- - Dedup por hash SHA-1 en ventana de 30s
432
- - Audit trail append-only en `.planning/inbox/audit.jsonl`
433
-
434
- ### Modos de consumo
435
-
436
- | Modo | Qué hace | Compatible |
437
- |---|---|---|
438
- | Portable (default) | Los mensajes se encolan; al ejecutar `/swl:inbox` en tu sesión Claude los procesas con juicio humano | Windows / Linux / macOS |
439
- | 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 |
440
- | tmux inject (opt-in) | Daemon `scripts/inbox-tmux-inject.js` inyecta a una sesión tmux con `tmux send-keys` | Linux / macOS |
441
-
442
- Configuración en `manifiestos/gateway-config.json`. Ver [MANUAL_USO.md](MANUAL_USO.md) sección `/swl:gateway` para setup completo.
443
-
444
- ## Skills bundled de Claude Code
445
-
446
- Los agentes SWL pueden usar estos 17 skills que vienen con Claude Code:
447
-
448
- `/pdf`, `/pptx`, `/docx`, `/xlsx`, `/frontend-design`, `/web-artifacts-builder`,
449
- `/claude-api`, `/brand-guidelines`, `/skill-creator`, `/mcp-builder`,
450
- `/webapp-testing`, `/internal-comms`, `/doc-coauthoring`, `/canvas-design`,
451
- `/algorithmic-art`, `/theme-factory`, `/slack-gif-creator`
452
-
453
- ## Modo _userland/
454
-
455
- Coloca tus agentes y habilidades personalizados en `_userland/`:
456
-
457
- ```
458
- _userland/
459
- agentes/
460
- mi-agente-custom.md
461
- habilidades/
462
- mi-habilidad/
463
- SKILL.md
464
- ```
465
-
466
- El instalador detecta `_userland/`, hace merge con los componentes core y da prioridad a tus archivos.
467
-
468
- ## Publicación
469
-
470
- El paquete se publica en dos registros (dual-publish):
471
-
472
- | Registro | Paquete | Requiere auth |
473
- |----------|---------|---------------|
474
- | npmjs.org (canónico) | `@saulwade/swl-ses` | Solo para publicar |
475
- | GitHub Packages (mirror) | `@saul-wade/swl-ses` | Para instalar y publicar |
476
-
477
- ```bash
478
- # Publicar a ambos registros
479
- npm run publish:all
480
-
481
- # Solo GitHub Packages
482
- npm run publish:github
483
-
484
- # Solo npmjs
485
- npm run publish:npmjs
486
-
487
- # Simular sin publicar
488
- npm run publish:dry
489
- ```
490
-
491
- Ver [INSTALACION.md](INSTALACION.md) para configuración detallada de autenticación y publicación.
492
-
493
- ## Verificación (doctor)
494
-
495
- ```bash
496
- npx -y @saulwade/swl-ses@latest doctor
497
- ```
498
-
499
- 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.
500
-
501
- ## Estructura del repositorio
502
-
503
- ```
504
- swl-ses/
505
- package.json # Paquete npm con bin swl-ses
506
- plugin.json # Manifest para Claude Code plugin system
507
- bin/swl-ses.js # CLI principal
508
- scripts/ # Lógica del CLI
509
- comandos/ # Handlers de subcomandos (skills, agents, info)
510
- lib/ # Librerías compartidas
511
- transformadores/ # Transformadores por target (claude, copilot, opencode, codex, gemini)
512
- detectar-runtime.js # Detección de runtimes de IA
513
- gestor-componentes.js # Gestión de skills y agentes individuales
514
- resolver-externo.js # Resolución de repos Git y paths locales
515
- hooks-settings.js # Registro de hooks en settings.json
516
- estado.js # Estado de instalación (v3)
517
- manifiestos.js # Resolución de perfiles/módulos
518
- seguridad.js # Validaciones de seguridad
519
- manifiestos/ # Perfiles y módulos de instalación
520
- agentes/ # 61 agentes especializados
521
- habilidades/ # 181 habilidades modulares
522
- comandos/swl/ # 48 comandos slash
523
- reglas/ # 37 reglas base + 40 por lenguaje
524
- hooks/ # 49 hooks + 76 librerías en hooks/lib/
525
- schemas/ # 15 JSON Schemas
526
- contextos/ # 3 modos de desarrollo
527
- instintos/ # Instintos YAML con confianza
528
- plantillas/ # Templates para .planning/
529
- gateway/ # Gateway multi-plataforma (adapters + CommandRelay)
530
- adapters/ # Telegram, Discord, Slack, WhatsApp, Email, Webhook
531
- command-relay.js # Receptor bidireccional con whitelist + validaciones
532
- _userland/ # Personalización del usuario
533
- CLAUDE.md # Fuente de verdad del sistema
534
- COMANDOS.md # Referencia completa de comandos
535
- MANUAL_USO.md # Guía práctica de uso por comando
536
- INSTALACION.md # Guía de configuración y publicación
537
- ```
538
-
539
- ## ¿Por qué usar SWL? (Análisis y Ejemplo Práctico)
540
-
541
- 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**.
542
-
543
- ### Beneficios Principales
544
-
545
- 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.
546
- 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.
547
- 3. **Desarrollo Metódico:** Fuerza un flujo de trabajo estructurado de *Planificar -> Ejecutar -> Verificar*.
548
- 4. **Comandos Simplificados (`/swl:*`):** Automatiza flujos de trabajo masivos de desarrollo (ej. `/swl:planear-fase` o `/swl:auditar-deps`).
549
- 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.
550
-
551
- ### Ejemplo de Flujo de Trabajo Real
552
-
553
- Un proyecto típico (ej. construir una App Fullstack) usando SWL sigue estos pasos:
554
-
555
- 1. **Instalación y Setup inicial**
556
- ```bash
557
- npx -y @saulwade/swl-ses@latest init
558
- npx -y @saulwade/swl-ses@latest install --target claude --profile fullstack-node-react
559
- ```
560
-
561
- 2. **Definición del Proyecto (Discovery)**
562
- 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).
563
-
564
- 3. **Planeación de la Arquitectura**
565
- 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.
566
-
567
- 4. **Ejecución de la Fase**
568
- 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.
569
-
570
- 5. **Revisión y Verificación**
571
- 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.
572
-
573
- 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.
574
-
575
- ## Desarrollo
576
-
577
- ### Tests
578
-
579
- ```bash
580
- npm test # tests unitarios con node:test nativo
581
- npm run test:validate # Validación estructural del paquete
582
- npm run test:all # Ambos
583
- ```
584
-
585
- ### CI/CD
586
-
587
- 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.
588
-
589
- 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`), releases automáticos desde conventional commits (`release-please.yml`) y gates devsecops opt-in — gitleaks + auditoría de dependencias (`swl-devsecops.yml`, flag `--with-devsecops`). Instalación opt-in, no afecta al repo destino sin consentimiento explícito.
590
-
591
- ### Herramientas de mantenimiento
592
-
593
- ```bash
594
- npm run generate:docs # Regenera INVENTARIO.md y SALUD.md desde el disco
595
- npm run field-report # Reporte de uso real de skills y agentes
596
- ```
597
-
598
- ## Licencia
599
-
600
- MIT
1
+ # swl-ses v2.8.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
+ SWL reconoce siete targets de instalación de IA. La disponibilidad de un transformador no certifica conformidad con el harness; los estados públicos se derivan del manifiesto canónico. Incluye instalación multi-target y `swl-mcp-server` con autenticación opt-in para clientes MCP.
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 | 61 |
16
+ | Habilidades | 181 (todas <=300 líneas, con divulgación progresiva a recursos/) |
17
+ | Comandos (/swl:*) | 48 (todos <=300 líneas, delegan a skills) |
18
+ | Reglas | 37 base + 40 por lenguaje (8 lenguajes x 5) |
19
+ | Hooks | 49 + 78 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 | 31 |
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
+ ### Harness IR diagnóstico
27
+
28
+ Desde v2.7.0, SWL compila sus 416 agentes, comandos, habilidades, reglas y hooks a
29
+ una vista intermedia neutral. El artefacto `manifiestos/harness-ir.json` conserva
30
+ procedencia SHA-256 y diagnósticos bloqueantes; no convierte el contenido legacy en
31
+ capacidades consumibles ni certifica runtimes.
32
+
33
+ ```bash
34
+ node scripts/generar-harness-ir.js --check # Detecta ausencia o drift sin escribir
35
+ node scripts/generar-harness-ir.js --write # Publicación atómica con fsync y CAS
36
+ ```
37
+
38
+ La API productiva expone sólo compilación, serialización y validación del contrato.
39
+ El CLI rechaza overrides de raíz, fuentes o mappings para mantener el corpus confinado
40
+ al repositorio Git actual.
41
+
42
+ ### Kernel de políticas W2
43
+
44
+ El paquete 2.8.0 distribuye 13 módulos zero-deps para identidad, contexto, approvals,
45
+ evidencia, ledger, gates G0-G4, autorización fail-closed y migración legacy. También
46
+ incluye cuatro schemas cerrados, `manifiestos/policy-bundle.json` y el corpus público
47
+ de 500 vectores `manifiestos/policy-corpus-w2.json`.
48
+
49
+ Estos artefactos son una API interna para proyectos downstream: viajan en el tarball,
50
+ pero los perfiles no los copian como hooks ni los presentan como integración de un
51
+ runtime. W3 conectará operaciones nativas de Claude, Codex y Gemini; W6 ligará cada
52
+ grant al efecto real mediante sandbox, fencing y rollback. Por ello, W2 no certifica
53
+ conformidad de ningún runtime y todos conservan estado público `unverified`.
54
+
55
+ ## Lenguajes soportados (11)
56
+
57
+ | Lenguaje | Reglas | Skills | Agente Revisor | Agente Implementador | Build Errors |
58
+ |----------|--------|--------|----------------|---------------------|-------------|
59
+ | Python | base | 7 | revisor-codigo-swl | backend-python-swl | build-errors-python |
60
+ | TypeScript | base | 2 | revisor-codigo-swl | backend-node-swl | build-errors-typescript |
61
+ | Java | 5 | 4 | revisor-java-swl | backend-java-swl | build-errors-java |
62
+ | Go | 5 | 4 | revisor-go-swl | backend-go-swl | build-errors-go |
63
+ | Rust | 5 | 4 | revisor-rust-swl | backend-rust-swl | build-errors-rust |
64
+ | C#/.NET | 5 | 4 | revisor-csharp-swl | backend-csharp-swl | build-errors-csharp |
65
+ | Kotlin | 5 | 4 | revisor-kotlin-swl | mobile-android-swl | build-errors-kotlin |
66
+ | Swift | 5 | 4 | revisor-swift-swl | mobile-ios-swl | build-errors-swift |
67
+ | PHP | 5 | 4 | revisor-php-swl | implementador-swl | build-errors-php |
68
+ | Next.js | 5 | 4 | revisor-nextjs-swl | frontend-react-swl | build-errors-nextjs |
69
+ | C++ | - | 1 | - | - | build-errors-cpp |
70
+
71
+ ## Instalación
72
+
73
+ ### Entender `init` vs `install`
74
+
75
+ El setup requiere **dos comandos en orden**, con propósitos distintos:
76
+
77
+ | Comando | Qué crea | Dónde | Instala agentes/skills |
78
+ |---------|----------|-------|------------------------|
79
+ | `npx -y @saulwade/swl-ses@latest init` | `.planning/` y `_userland/` (plantillas vacías) | En el proyecto actual | ❌ No |
80
+ | `npx -y @saulwade/swl-ses@latest install` | Agentes, skills, reglas, hooks, comandos `/swl:*` | En `.claude/` del proyecto o en `~/.claude/` global | ✅ Sí |
81
+
82
+ **`init` siempre es local al proyecto.** `install` puede ser local (`--local`, default) o global (`--global`).
83
+
84
+ > Instalar globalmente (`--global` o `npm install -g swl-ses`) pone los componentes en `~/.claude/`
85
+ > y los hace disponibles en todos tus proyectos. Aun así, cada proyecto necesita su propio `init`
86
+ > para obtener `.planning/` y `_userland/`.
87
+
88
+ ### Modo recomendado: TUI visual (v1.6.0+)
89
+
90
+ Desde v1.6.0, al ejecutar `install` o `update` sin flags desde una terminal
91
+ interactiva, swl-ses lanza un **TUI custom** con paneles, selectores con
92
+ flechas, multi-select con espacio y barra de progreso por categoría.
93
+
94
+ ```bash
95
+ # Lanza el TUI: Welcome Menú Wizard Progreso Resumen
96
+ npx -y @saulwade/swl-ses@latest install
97
+ npx -y @saulwade/swl-ses@latest update
98
+ ```
99
+
100
+ Opt-out con `--no-tui` para usar el asistido lineal clásico, o pasa cualquier
101
+ flag (`--target`, `--profile`, `--force`, etc.) y el CLI usa el flujo directo
102
+ sin prompts. Ver [`MANUAL_USO.md`](./MANUAL_USO.md) sección "Opción C — Modo
103
+ TUI visual" para capturas ASCII de cada pantalla.
104
+
105
+ ### Opción 1: CLI vía npmjs (recomendada)
106
+
107
+ ```bash
108
+ cd /ruta/a/tu/proyecto
109
+ npx -y @saulwade/swl-ses@latest init # Crea .planning/ y _userland/
110
+ npx -y @saulwade/swl-ses@latest install --target claude --profile core # Instala agentes, skills, hooks y reglas
111
+ npx -y @saulwade/swl-ses@latest doctor # Verifica que todo quedó correcto
112
+ ```
113
+
114
+ No requiere autenticación. El paquete `swl-ses` está publicado en npmjs.
115
+
116
+ #### Instalación global (una vez, disponible en todos los proyectos)
117
+
118
+ ```bash
119
+ # Instalar swl-ses globalmente
120
+ npm install -g swl-ses
121
+
122
+ # En cada proyecto nuevo:
123
+ cd /ruta/a/mi-proyecto
124
+ swl-ses install --global --target claude --profile core # Componentes en ~/.claude/ (una sola vez)
125
+ swl-ses init # Estructura .planning/ en este proyecto
126
+ swl-ses doctor
127
+ ```
128
+
129
+ ### Opción 2: CLI vía GitHub Packages (mirror)
130
+
131
+ ```bash
132
+ # Requiere autenticación con GitHub (ver INSTALACION.md)
133
+ npx @saul-wade/swl-ses@latest init
134
+ npx @saul-wade/swl-ses@latest install --target claude --profile core
135
+ ```
136
+
137
+ Nota: la opción canónica es **npmjs.org** (`@saulwade/swl-ses`), GitHub Packages
138
+ es un mirror para usuarios que prefieran ese registry. El binario y el contenido
139
+ son idénticos.
140
+
141
+ #### Por qué los scopes difieren
142
+
143
+ La organización en npmjs.org se llama `saulwade` (sin guion) porque
144
+ **npm no permite guiones en nombres de organización** el registro
145
+ los rechaza desde el formulario de creación. La organización en GitHub
146
+ acepta guiones y se llama `saul-wade`. Como cada registry deriva el
147
+ scope del paquete del nombre de la org propietaria, terminamos con
148
+ `@saulwade/swl-ses` en npmjs y `@saul-wade/swl-ses` en GitHub Packages.
149
+ El contenido publicado es idéntico; el comando CLI `swl-ses` no cambia.
150
+
151
+ ### Opción 3: Clonar y usar directamente
152
+
153
+ ```bash
154
+ git clone https://github.com/saul-wade/swl-ses.git
155
+ cd swl-ses
156
+ claude
157
+ # Claude lee CLAUDE.md y tiene acceso a todo el sistema
158
+ ```
159
+
160
+ ### Opción 4: Plugin de Claude Code
161
+
162
+ ```bash
163
+ # Dentro de una sesion de Claude Code:
164
+ /plugin marketplace add https://github.com/saul-wade/swl-ses
165
+ /plugin install swl-ses@saul-wade
166
+ ```
167
+
168
+ > Para forzar siempre la última versión:
169
+ > `npx -y @saulwade/swl-ses@latest <comando>`
170
+
171
+ ## Comandos del CLI
172
+
173
+ > Las tablas siguientes usan el alias corto `swl-ses@latest` (sin scope) por
174
+ > compatibilidad con instalación global (`npm install -g swl-ses` enlaza el
175
+ > bin con ese nombre). Para forzar el paquete canónico desde npmjs sin
176
+ > tocar la instalación global, sustituir por `@saulwade/swl-ses@latest`
177
+ > (npmjs canónico) o `@saul-wade/swl-ses@latest` (mirror GitHub Packages).
178
+
179
+ | Comando | Descripción |
180
+ |---------|-------------|
181
+ | `npx -y @saulwade/swl-ses@latest init` | Crea `.planning/` (plantillas de planificación) y `_userland/` (tus personalizaciones) en el proyecto actual. **No instala agentes ni skills.** |
182
+ | `npx -y @saulwade/swl-ses@latest install` | Instala agentes, skills, reglas, hooks y comandos `/swl:*` en el runtime destino (`.claude/` local o `~/.claude/` global). |
183
+ | `npx -y @saulwade/swl-ses@latest doctor` | Diagnostica problemas de la instalación |
184
+ | `npx -y @saulwade/swl-ses@latest update` | Actualiza componentes instalados |
185
+ | `npx -y @saulwade/swl-ses@latest uninstall` | Desinstala componentes del runtime |
186
+ | `npx -y @saulwade/swl-ses@latest info` | Muestra información del sistema instalado |
187
+ | `npx -y @saulwade/swl-ses@latest skills list` | Lista skills instalados |
188
+ | `npx -y @saulwade/swl-ses@latest skills add <fuente>` | Agrega skill desde repo Git, owner/repo, o path local |
189
+ | `npx -y @saulwade/swl-ses@latest skills remove <nombre>` | Remueve un skill individual |
190
+ | `npx -y @saulwade/swl-ses@latest agents list` | Lista agentes instalados |
191
+ | `npx -y @saulwade/swl-ses@latest agents add <fuente>` | Agrega agente desde repo Git o path local |
192
+ | `npx -y @saulwade/swl-ses@latest agents remove <nombre>` | Remueve un agente individual |
193
+
194
+ ### Opciones de install
195
+
196
+ | Opción | Valores | Descripción |
197
+ |--------|---------|-------------|
198
+ | `--target <runtime>` | `claude`, `openclaude`, `copilot`, `opencode`, `codex`, `gemini` | Runtime destino (default: `claude`) |
199
+ | `--profile <perfil>` | Ver perfiles abajo | Perfil de instalación (default: `completo`) |
200
+ | `--global` | | Instala los **componentes** en el directorio global (`~/.claude/`). No reinstala el binario CLI — ver "Modelo de dos planos" abajo. |
201
+ | `--local` | | Instala en directorio local del proyecto (`.claude/`) |
202
+ | `--with <componentes>` | Separados por coma | Incluir módulos adicionales |
203
+ | `--without <componentes>` | Separados por coma | Excluir módulos |
204
+ | `--dry-run` | | Muestra plan sin aplicar cambios |
205
+ | `--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. |
206
+
207
+ ### Modelo de dos planos: binario CLI vs componentes
208
+
209
+ Actualizar swl-ses tiene **dos planos independientes**:
210
+
211
+ 1. **Binario CLI** (`swl-ses` en el PATH): se instala/actualiza con
212
+ `npm install -g @saulwade/swl-ses@latest`. `npx install` **no** lo toca.
213
+ 2. **Componentes** (agentes, skills, comandos, reglas, hooks en `~/.claude/` o
214
+ `.claude/`): se propagan con `npx -y @saulwade/swl-ses@latest install …`.
215
+
216
+ Para una actualización completa, ejecuta **ambos**:
217
+
218
+ ```bash
219
+ npm install -g @saulwade/swl-ses@latest # plano 1: binario
220
+ npx -y @saulwade/swl-ses@latest install --global --force # plano 2: componentes
221
+ ```
222
+
223
+ Correr solo uno deja el otro plano en una versión anterior.
224
+
225
+ ### Perfiles de instalación
226
+
227
+ | Perfil | Descripción |
228
+ |--------|-------------|
229
+ | `core` | Mínimo viable: orquestador + agentes base + reglas + comandos |
230
+ | `backend-python` | FastAPI/Django + patrones + testing + async + API + datos |
231
+ | `backend-node` | Express/Fastify/NestJS + TypeScript + API + datos |
232
+ | `backend-java` | Spring Boot + Maven/Gradle + patrones Java + testing + API |
233
+ | `backend-go` | Go + Gin/Echo + patrones Go + testing + API |
234
+ | `backend-rust` | Rust + Axum/Actix + patrones Rust + testing + API |
235
+ | `backend-csharp` | .NET + ASP.NET Core + patrones C# + testing + API |
236
+ | `frontend-react` | React/Next.js + UX + estilos + accesibilidad |
237
+ | `frontend-angular` | Angular v20+ + signals + UX + estilos |
238
+ | `fullstack-python-angular` | Python backend + Angular frontend + datos + seguridad |
239
+ | `fullstack-node-react` | Node.js backend + React frontend + datos + seguridad |
240
+ | `fullstack-java-angular` | Java backend + Angular frontend + datos + seguridad |
241
+ | `fullstack-go-react` | Go backend + React frontend + datos + seguridad |
242
+ | `mobile` | Android + iOS + React Native/Flutter + UX |
243
+ | `devops` | CI/CD + cloud + observabilidad + releases + seguridad |
244
+ | `polyglot` | Todos los lenguajes: 11 lenguajes + revisores + build resolvers |
245
+ | `completo` | Todo: 61 agentes + 181 habilidades + 48 comandos + 77 reglas + 49 hooks |
246
+
247
+ <!-- BEGIN:RUNTIME-CONFORMANCE (generado por scripts/generar-claims-runtime.js; no editar) -->
248
+
249
+ ### Conformidad de runtimes
250
+
251
+ > Estado bootstrap: disponibilidad de instalación no equivale a certificación del harness.
252
+
253
+ | Runtime | Target | Soporte público | Certificación |
254
+ |---|---|---|---|
255
+ | claude-code | claude | experimental | unverified |
256
+ | openclaude | openclaude | experimental | unverified |
257
+ | opencode | opencode | experimental | unverified |
258
+ | gemini-cli | gemini | experimental | unverified |
259
+ | cursor | cursor | experimental | unverified |
260
+ | codex-cli | codex | experimental | unverified |
261
+ | github-copilot | copilot | experimental | unverified |
262
+
263
+ <!-- END:RUNTIME-CONFORMANCE -->
264
+
265
+ #### Capacidades de instalación por target
266
+
267
+ | Target | Runtime | Artefactos emitidos |
268
+ |---|---|---|
269
+ | `claude` | Claude Code | Agentes, skills, comandos, reglas y hooks |
270
+ | `openclaude` | OpenClaude | Artefactos en `.claude/`; directorio global propio con fallback compatible |
271
+ | `opencode` | OpenCode | Agentes, skills, comandos, reglas y configuración |
272
+ | `gemini` | Gemini CLI | Agentes, skills, comandos, reglas y configuración |
273
+ | `cursor` | Cursor | Agentes, skills, reglas, hooks y configuración MCP |
274
+ | `codex` | Codex CLI | Agentes TOML, AGENTS.md, skills, hooks y configuración MCP |
275
+ | `copilot` | GitHub Copilot | Agentes y reglas consolidadas |
276
+
277
+ > OpenClaude comparte `.claude/` con Claude Code en instalaciones de proyecto.
278
+
279
+ ### Ejemplos
280
+
281
+ ```bash
282
+ # Perfil básico en Claude Code
283
+ npx -y @saulwade/swl-ses@latest install --target claude --profile core
284
+
285
+ # Backend Python en Gemini CLI
286
+ npx -y @saulwade/swl-ses@latest install --target gemini --profile backend-python
287
+
288
+ # Frontend React en GitHub Copilot
289
+ npx -y @saulwade/swl-ses@latest install --target copilot --profile frontend-react
290
+
291
+ # Full-stack en OpenClaude (multi-proveedor, usa .claude/ igual que Claude Code)
292
+ npx -y @saulwade/swl-ses@latest install --target openclaude --profile fullstack-python-angular
293
+
294
+ # Full-stack en OpenCode
295
+ npx -y @saulwade/swl-ses@latest install --target opencode --profile fullstack-python-angular
296
+
297
+ # Perfil completo en directorio global
298
+ npx -y @saulwade/swl-ses@latest install --target claude --profile completo --global
299
+
300
+ # Agregar skills desde GitHub con selector interactivo
301
+ npx -y @saulwade/swl-ses@latest skills add anthropics/skills
302
+
303
+ # Agregar un skill específico por nombre
304
+ npx -y @saulwade/swl-ses@latest skills add anthropics/skills --skill docx
305
+
306
+ # Agregar todos los skills de un repo sin selector
307
+ npx -y @saulwade/swl-ses@latest skills add anthropics/skills --all
308
+
309
+ # Agregar skill desde URL completa
310
+ npx -y @saulwade/swl-ses@latest skills add https://github.com/user/repo --skill mi-skill
311
+
312
+ # Agregar agente desde path local
313
+ npx -y @saulwade/swl-ses@latest agents add ./mis-agentes --agent mi-agente
314
+
315
+ # Ver que se instalaria sin hacer cambios
316
+ npx -y @saulwade/swl-ses@latest install --target codex --profile core --dry-run
317
+
318
+ # Ver información del sistema
319
+ npx -y @saulwade/swl-ses@latest info --target claude
320
+ ```
321
+
322
+ ## Agentes (61)
323
+
324
+ ### Orquestación y Proceso
325
+ `orquestador-swl`, `producto-prd-swl`, `consolidador-swl`, `auto-evolución-swl`, `abogado-diablo-swl`
326
+
327
+ ### Discovery e Investigación
328
+ `investigador-swl`, `investigador-ux-swl`
329
+
330
+ ### Arquitectura
331
+ `arquitecto-swl`, `planificador-swl`
332
+
333
+ ### UX / UI / Diseño
334
+ `investigador-ux-swl`, `disenador-ui-swl`, `accesibilidad-wcag-swl`
335
+
336
+ ### Frontend
337
+ `frontend-swl`, `frontend-react-swl`, `frontend-angular-swl`, `frontend-css-swl`, `frontend-tailwind-swl`
338
+
339
+ ### Backend
340
+ `implementador-swl`, `backend-python-swl`, `backend-node-swl`, `backend-api-swl`, `backend-workers-swl`
341
+
342
+ ### Backend Multi-Lenguaje (nuevo)
343
+ `backend-java-swl`, `backend-go-swl`, `backend-csharp-swl`, `backend-rust-swl`
344
+
345
+ ### Mobile
346
+ `mobile-android-swl`, `mobile-ios-swl`, `mobile-cross-swl`
347
+
348
+ ### Datos
349
+ `datos-swl`, `migrador-swl`
350
+
351
+ ### Calidad
352
+ `tdd-qa-swl`, `revisor-codigo-swl`, `revisor-seguridad-swl`
353
+
354
+ ### Revisores por Lenguaje (nuevo)
355
+ `revisor-java-swl`, `revisor-go-swl`, `revisor-rust-swl`, `revisor-csharp-swl`, `revisor-kotlin-swl`, `revisor-swift-swl`, `revisor-php-swl`, `revisor-nextjs-swl`
356
+
357
+ ### Infraestructura
358
+ `devops-ci-swl`, `cloud-infra-swl`, `observabilidad-swl`
359
+
360
+ ### Rendimiento y Releases
361
+ `rendimiento-swl`, `release-manager-swl`
362
+
363
+ ### Documentación, Notificaciones, Debugging
364
+ `documentador-swl`, `notificador-swl`, `depurador-swl`
365
+
366
+ ### Build Resolution
367
+ `resolutor-build-swl`
368
+
369
+ ### LLM, Pagos y SRE
370
+ `llm-apps-swl`, `pagos-swl`, `sre-swl`
371
+
372
+ ### Revisores adicionales
373
+ `revisor-typescript-swl`, `revisor-react-swl`, `revisor-angular-swl`
374
+
375
+ ## Comandos (/swl:*)
376
+
377
+ | Comando | Función |
378
+ |---------|---------|
379
+ | `/swl:instalar` | Instalación interactiva dentro de Claude Code |
380
+ | `/swl:actualizar` | Actualizar sin desinstalar |
381
+ | `/swl:nuevo-proyecto` | Inicializar proyecto con PROYECTO.md y roadmap |
382
+ | `/swl:discutir-fase` | Recopilar contexto antes de planificar |
383
+ | `/swl:planear-fase` | Crear PLAN.md con vertical slices |
384
+ | `/swl:ejecutar-fase` | Ejecutar plan con commits atómicos |
385
+ | `/swl:verificar` | Verificar implementación contra spec |
386
+ | `/swl:seguridad` | Postura de seguridad del proyecto completo (secretos, deps, OWASP, pipeline) |
387
+ | `/swl:fix` | Triage y despacho unificado de reparaciones (bug/build/CI/hallazgos) |
388
+ | `/swl:predecir` | Panel predictivo pre-implementación; `--abogado-diablo` critica la decisión |
389
+ | `/swl:mapear-codebase` | Analizar codebase existente |
390
+ | `/swl:checkpoint` | Guardar estado para continuar después |
391
+ | `/swl:compactar` | Reducir contexto preservando info clave |
392
+ | `/swl:aprender` | Extraer aprendizajes de la sesión |
393
+ | `/swl:evolucionar` | Auto-evolución de agentes/skills |
394
+ | `/swl:autoresearch` | Loop de auto-mejora iterativa contra checklist |
395
+ | `/swl:crear-skill` | Crear nuevo skill con guía interactiva |
396
+ | `/swl:status salud` | Diagnóstico de integridad del sistema |
397
+ | `/swl:release` | Ciclo de release SemVer |
398
+ | `/swl:auditar-deps` | Auditoría de dependencias (CVEs) |
399
+ | `/swl:contexto` | Cambiar modo de desarrollo activo (dev/review/research) |
400
+ | `/swl:sesiones` | Gestionar persistencia de sesiones de trabajo |
401
+ | `/swl:instintos` | Inspeccionar y gestionar instintos del sistema |
402
+ | `/swl:modelo` | Configurar modelo de IA por agente o globalmente |
403
+ | `/swl:status metricas` | Ver métricas de sesión y productividad |
404
+ | `/swl:status dashboard` | Dashboard histórico de uso multi-sesión (gráficas interactivas) |
405
+ | `/swl:revisar-impacto` | Análisis de impacto estructural: blast radius, risk score, comunidades |
406
+ | `/swl:evaluar-skill` | Evaluación formal de skills: 2 capas (estática + semántica), badges de calidad |
407
+ | `/swl:wiki` | Gestionar wiki de conocimiento del proyecto (init/ingest/query/lint) |
408
+ | `/swl:plugins` | Gestionar plugins y extensiones del sistema |
409
+ | `/swl:revisar` | Revisión de código por tecnología |
410
+ | `/swl:brainstorm` | Brainstorming estructurado |
411
+ | `/swl:ayuda` | Ayuda interactiva: catálogo, detalle de comando, búsqueda por keyword |
412
+ | `/swl:skill-search` | Buscar skills por keyword o dominio |
413
+ | `/swl:mcp-status` | Estado de servidores MCP conectados |
414
+ | `/swl:cron` | Gestionar tareas programadas |
415
+ | `/swl:gateway` | Configurar gateway multi-plataforma + modo relay bidireccional Telegram → Claude |
416
+ | `/swl:inbox` | Consumir comandos entrantes del gateway (enviados desde Telegram/Discord/webhook) |
417
+ | `/swl:reflect-skills` | Analizar historial JSONL para detectar patrones candidatos a skill/comando emergente |
418
+ | `/swl:contribuir` | Contribuir evoluciones al core (filtro dominio + PluginEval ≥80) |
419
+ | `/swl:exportar-vault` | Exportar resumen de sesión al vault personal (Obsidian u otro) |
420
+
421
+ Ver [COMANDOS.md](COMANDOS.md) para flags y opciones detalladas de cada comando.
422
+ Ver [MANUAL_USO.md](MANUAL_USO.md) para explicaciones prácticas de cada comando y guías de cuándo usarlos.
423
+
424
+ ## Arquitectura
425
+
426
+ ### Thin Orchestrator
427
+
428
+ ```
429
+ Comando (/swl:planear-fase)
430
+ +-> Cargar habilidad (planear-fase/SKILL.md)
431
+ +-> Spawn agente (planificador-swl) con contexto fresco
432
+ +-> Verificar resultado (revisor-codigo-swl)
433
+ +-> Actualizar estado (.planning/ESTADO.md)
434
+ ```
435
+
436
+ ### Estado en archivos (.planning/)
437
+
438
+ ```
439
+ .planning/
440
+ PROYECTO.md # Vision, contexto, objetivos
441
+ REQUISITOS.md # Requisitos con IDs (REQ-001...)
442
+ HOJA-RUTA.md # Fases con entregables y verificación
443
+ ESTADO.md # Estado actual, decisiones, riesgos
444
+ CONTEXTO.md # Modo de desarrollo activo
445
+ METRICAS.md # Métricas de sesión
446
+ research/ # Investigación del dominio
447
+ fases/ # Documentos por fase (CONTEXTO, PLAN, RESUMEN, VERIFICACION)
448
+ sessions/ # Persistencia de sesiones JSON
449
+ comms/ # Comunicación entre agentes
450
+ ```
451
+
452
+ ### Arquitectura de 4 capas
453
+
454
+ | Capa | Componente | Propósito |
455
+ |------|-----------|-----------|
456
+ | L1 | CLAUDE.md | Contexto persistente y reglas |
457
+ | L2 | Skills | Paquetes de conocimiento versionados |
458
+ | L3 | Hooks | Seguridad y automatización |
459
+ | L4 | Agents | Subagentes con contexto aislado |
460
+
461
+ ## Gateway bidireccional con Telegram (opt-in)
462
+
463
+ 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.
464
+
465
+ ### Flujo
466
+
467
+ ```
468
+ Telegram (móvil) → CommandRelay (valida) → .planning/inbox/cmd-*.json → /swl:inbox en Claude
469
+ o claude -p headless (auto)
470
+ ```
471
+
472
+ ### Protecciones del CommandRelay
473
+
474
+ - Whitelist de usuarios por plataforma (`relay.platforms.<nombre>.allowedUsers`)
475
+ - Rechazo de payload injection: `<script>`, `.env`, `id_rsa`, `.ssh/`, etc.
476
+ - Límite de 4000 chars por mensaje
477
+ - Rate limit: 10 msg/min por usuario (configurable)
478
+ - Dedup por hash SHA-1 en ventana de 30s
479
+ - Audit trail append-only en `.planning/inbox/audit.jsonl`
480
+
481
+ ### Modos de consumo
482
+
483
+ | Modo | Qué hace | Compatible |
484
+ |---|---|---|
485
+ | Portable (default) | Los mensajes se encolan; al ejecutar `/swl:inbox` en tu sesión Claude los procesas con juicio humano | Windows / Linux / macOS |
486
+ | 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 |
487
+ | tmux inject (opt-in) | Daemon `scripts/inbox-tmux-inject.js` inyecta a una sesión tmux con `tmux send-keys` | Linux / macOS |
488
+
489
+ Configuración en `manifiestos/gateway-config.json`. Ver [MANUAL_USO.md](MANUAL_USO.md) sección `/swl:gateway` para setup completo.
490
+
491
+ ## Skills bundled de Claude Code
492
+
493
+ Los agentes SWL pueden usar estos 17 skills que vienen con Claude Code:
494
+
495
+ `/pdf`, `/pptx`, `/docx`, `/xlsx`, `/frontend-design`, `/web-artifacts-builder`,
496
+ `/claude-api`, `/brand-guidelines`, `/skill-creator`, `/mcp-builder`,
497
+ `/webapp-testing`, `/internal-comms`, `/doc-coauthoring`, `/canvas-design`,
498
+ `/algorithmic-art`, `/theme-factory`, `/slack-gif-creator`
499
+
500
+ ## Modo _userland/
501
+
502
+ Coloca tus agentes y habilidades personalizados en `_userland/`:
503
+
504
+ ```
505
+ _userland/
506
+ agentes/
507
+ mi-agente-custom.md
508
+ habilidades/
509
+ mi-habilidad/
510
+ SKILL.md
511
+ ```
512
+
513
+ El instalador detecta `_userland/`, hace merge con los componentes core y da prioridad a tus archivos.
514
+
515
+ ## Publicación
516
+
517
+ El paquete se publica en dos registros (dual-publish):
518
+
519
+ | Registro | Paquete | Requiere auth |
520
+ |----------|---------|---------------|
521
+ | npmjs.org (canónico) | `@saulwade/swl-ses` | Solo para publicar |
522
+ | GitHub Packages (mirror) | `@saul-wade/swl-ses` | Para instalar y publicar |
523
+
524
+ ```bash
525
+ # Publicar a ambos registros
526
+ npm run publish:all
527
+
528
+ # Solo GitHub Packages
529
+ npm run publish:github
530
+
531
+ # Solo npmjs
532
+ npm run publish:npmjs
533
+
534
+ # Simular sin publicar
535
+ npm run publish:dry
536
+ ```
537
+
538
+ Ver [INSTALACION.md](INSTALACION.md) para configuración detallada de autenticación y publicación.
539
+
540
+ ## Verificación (doctor)
541
+
542
+ ```bash
543
+ npx -y @saulwade/swl-ses@latest doctor
544
+ ```
545
+
546
+ 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.
547
+
548
+ ## Estructura del repositorio
549
+
550
+ ```
551
+ swl-ses/
552
+ package.json # Paquete npm con bin swl-ses
553
+ plugin.json # Manifest para Claude Code plugin system
554
+ bin/swl-ses.js # CLI principal
555
+ scripts/ # Lógica del CLI
556
+ comandos/ # Handlers de subcomandos (skills, agents, info)
557
+ lib/ # Librerías compartidas
558
+ transformadores/ # Transformadores por target (claude, copilot, opencode, codex, gemini)
559
+ detectar-runtime.js # Detección de runtimes de IA
560
+ gestor-componentes.js # Gestión de skills y agentes individuales
561
+ resolver-externo.js # Resolución de repos Git y paths locales
562
+ hooks-settings.js # Registro de hooks en settings.json
563
+ estado.js # Estado de instalación (v3)
564
+ manifiestos.js # Resolución de perfiles/módulos
565
+ seguridad.js # Validaciones de seguridad
566
+ manifiestos/ # Perfiles y módulos de instalación
567
+ agentes/ # 61 agentes especializados
568
+ habilidades/ # 181 habilidades modulares
569
+ comandos/swl/ # 48 comandos slash
570
+ reglas/ # 37 reglas base + 40 por lenguaje
571
+ hooks/ # 49 hooks + 76 librerías en hooks/lib/
572
+ schemas/ # 18 JSON Schemas
573
+ contextos/ # 3 modos de desarrollo
574
+ instintos/ # Instintos YAML con confianza
575
+ plantillas/ # Templates para .planning/
576
+ gateway/ # Gateway multi-plataforma (adapters + CommandRelay)
577
+ adapters/ # Telegram, Discord, Slack, WhatsApp, Email, Webhook
578
+ command-relay.js # Receptor bidireccional con whitelist + validaciones
579
+ _userland/ # Personalización del usuario
580
+ CLAUDE.md # Fuente de verdad del sistema
581
+ COMANDOS.md # Referencia completa de comandos
582
+ MANUAL_USO.md # Guía práctica de uso por comando
583
+ INSTALACION.md # Guía de configuración y publicación
584
+ ```
585
+
586
+ ## ¿Por qué usar SWL? (Análisis y Ejemplo Práctico)
587
+
588
+ 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**.
589
+
590
+ ### Beneficios Principales
591
+
592
+ 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.
593
+ 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.
594
+ 3. **Desarrollo Metódico:** Fuerza un flujo de trabajo estructurado de *Planificar -> Ejecutar -> Verificar*.
595
+ 4. **Comandos Simplificados (`/swl:*`):** Automatiza flujos de trabajo masivos de desarrollo (ej. `/swl:planear-fase` o `/swl:auditar-deps`).
596
+ 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.
597
+
598
+ ### Ejemplo de Flujo de Trabajo Real
599
+
600
+ Un proyecto típico (ej. construir una App Fullstack) usando SWL sigue estos pasos:
601
+
602
+ 1. **Instalación y Setup inicial**
603
+ ```bash
604
+ npx -y @saulwade/swl-ses@latest init
605
+ npx -y @saulwade/swl-ses@latest install --target claude --profile fullstack-node-react
606
+ ```
607
+
608
+ 2. **Definición del Proyecto (Discovery)**
609
+ 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).
610
+
611
+ 3. **Planeación de la Arquitectura**
612
+ 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.
613
+
614
+ 4. **Ejecución de la Fase**
615
+ 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.
616
+
617
+ 5. **Revisión y Verificación**
618
+ 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.
619
+
620
+ 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.
621
+
622
+ ## Desarrollo
623
+
624
+ ### Tests
625
+
626
+ ```bash
627
+ npm test # tests unitarios con node:test nativo
628
+ npm run test:validate # Validación estructural del paquete
629
+ npm run test:all # Ambos
630
+ ```
631
+
632
+ ### CI/CD
633
+
634
+ 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.
635
+
636
+ 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`), releases automáticos desde conventional commits (`release-please.yml`) y gates devsecops opt-in — gitleaks + auditoría de dependencias (`swl-devsecops.yml`, flag `--with-devsecops`). Instalación opt-in, no afecta al repo destino sin consentimiento explícito.
637
+
638
+ ### Herramientas de mantenimiento
639
+
640
+ ```bash
641
+ npm run generate:docs # Regenera INVENTARIO.md y SALUD.md desde el disco
642
+ npm run field-report # Reporte de uso real de skills y agentes
643
+ ```
644
+
645
+ ## Licencia
646
+
647
+ MIT