@saulwade/swl-ses 1.5.1 → 1.5.2

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 (133) hide show
  1. package/CLAUDE.md +225 -209
  2. package/README.md +561 -561
  3. package/agentes/arquitecto-swl.md +33 -1
  4. package/agentes/nemesis-auditor-swl.md +59 -19
  5. package/bin/swl-mcp-server.js +214 -214
  6. package/comandos/swl/.evolved.json +22 -22
  7. package/comandos/swl/contribuir.md +233 -233
  8. package/comandos/swl/nemesis.md +230 -56
  9. package/gateway/lib/event-channel.js +191 -191
  10. package/habilidades/backend-production-resilience/SKILL.md +288 -288
  11. package/habilidades/benchmark-memoria/SKILL.md +186 -186
  12. package/habilidades/diagrama-arquitectura/assets/template.html +276 -276
  13. package/habilidades/doubt-driven-review/SKILL.md +171 -171
  14. package/habilidades/doubt-driven-review/recursos/EXAMPLES.md +130 -130
  15. package/habilidades/ejecutar-task-iterativo/SKILL.md +278 -278
  16. package/habilidades/eval-framework/SKILL.md +212 -212
  17. package/habilidades/feynman-auditor-swl/SKILL.md +123 -123
  18. package/habilidades/feynman-auditor-swl/recursos/preguntas-language-agnostic.md +108 -108
  19. package/habilidades/harness-claude-code/SKILL.md +299 -299
  20. package/habilidades/infra-github-actions/SKILL.md +166 -166
  21. package/habilidades/legacy-code-rescue/SKILL.md +267 -267
  22. package/habilidades/manejo-errores/.evolved.json +8 -8
  23. package/habilidades/meta-skills-estandar/SKILL.md +207 -4
  24. package/habilidades/meta-skills-estandar/recursos/convencion-examples.md +93 -93
  25. package/habilidades/meta-skills-estandar/recursos/skills-as-agents.md +163 -163
  26. package/habilidades/nemesis-evaluacion-json/SKILL.md +266 -0
  27. package/habilidades/nemesis-redistribuir/SKILL.md +341 -0
  28. package/habilidades/node-experto/SKILL.md +94 -4
  29. package/habilidades/patrones-python/SKILL.md +229 -229
  30. package/habilidades/patrones-python/recursos/patrones-avanzados.md +469 -469
  31. package/habilidades/planear-fase/SKILL.md +319 -319
  32. package/habilidades/protocolo-revision-swl/SKILL.md +350 -276
  33. package/habilidades/release-semver/.evolved.json +8 -8
  34. package/habilidades/state-inconsistency-auditor-swl/SKILL.md +166 -166
  35. package/habilidades/state-inconsistency-auditor-swl/recursos/coupled-state-patterns.md +147 -147
  36. package/habilidades/tdd-workflow/SKILL.md +121 -4
  37. package/habilidades/testing-python/SKILL.md +340 -340
  38. package/habilidades/web-fetcher-routing/SKILL.md +75 -75
  39. package/hooks/check-update.js +31 -3
  40. package/hooks/claudemd-bloat-detector.js +161 -161
  41. package/hooks/lib/agent-routing.js +107 -107
  42. package/hooks/lib/auto-consolidator.js +335 -335
  43. package/hooks/lib/error-classifier.js +308 -308
  44. package/hooks/lib/merkle-audit.js +96 -96
  45. package/hooks/lib/provenance-tracker.js +191 -191
  46. package/hooks/lib/rate-limit-tracker.js +253 -253
  47. package/hooks/lib/resource-quota.js +122 -122
  48. package/hooks/lib/retry-jitter.js +165 -165
  49. package/hooks/lib/security-net.js +201 -201
  50. package/hooks/lib/skill-auditor.js +588 -588
  51. package/hooks/lib/sync-status.js +228 -228
  52. package/hooks/lib/taint-tracker.js +107 -107
  53. package/hooks/lib/text-similarity.js +241 -241
  54. package/hooks/lib/toon-compressor.js +245 -245
  55. package/hooks/registro-turnos.js +209 -209
  56. package/hooks/sugerir-regenerar-inventario.js +170 -170
  57. package/hooks/validar-formato-post-subagente.js +140 -140
  58. package/hooks/validar-memoria-hook.js +218 -218
  59. package/instintos/prompt-appendices.yaml +57 -57
  60. package/manifiestos/agent-output-schemas.json +57 -57
  61. package/manifiestos/modulos.json +1324 -1321
  62. package/manifiestos/skills-lock.json +1114 -1114
  63. package/package.json +2 -2
  64. package/plantillas/auditor-veto-template.md +105 -105
  65. package/plantillas/github-workflows/README.md +47 -47
  66. package/plantillas/github-workflows/release-please.yml +44 -44
  67. package/plantillas/github-workflows/swl-ci.yml +107 -107
  68. package/plantillas/github-workflows/swl-security.yml +51 -51
  69. package/plugin.json +353 -351
  70. package/reglas/analisis-previo-tareas-grandes.md +172 -172
  71. package/reglas/arreglar-al-detectar.md +147 -147
  72. package/reglas/fragmentos-compartidos.md +152 -152
  73. package/reglas/harness-claude-code.md +213 -213
  74. package/reglas/registro-componentes-nuevos.md +192 -0
  75. package/reglas/usar-context7.md +226 -226
  76. package/schemas/diary-entry.schema.json +80 -80
  77. package/scripts/actualizar.js +110 -1
  78. package/scripts/audit-tools/audit-history.js +330 -330
  79. package/scripts/audit-tools/bundle-tracker.js +290 -290
  80. package/scripts/audit-tools/canary-monitor.js +352 -352
  81. package/scripts/audit-tools/code-profiler.js +605 -605
  82. package/scripts/audit-tools/dep-doctor.js +320 -320
  83. package/scripts/audit-tools/env-validator.js +206 -206
  84. package/scripts/audit-tools/lib/fs-walk.js +48 -48
  85. package/scripts/audit-tools/lib/output.js +23 -23
  86. package/scripts/audit-tools/migration-checker.js +392 -392
  87. package/scripts/audit-tools/pentest-scanner.js +1436 -1436
  88. package/scripts/benchmark-memoria.js +167 -167
  89. package/scripts/configurar-branch-protection.js +418 -418
  90. package/scripts/derivar-feature-list.js +489 -489
  91. package/scripts/detectar-aprendizajes-duplicados.js +151 -151
  92. package/scripts/doctor.js +27 -0
  93. package/scripts/field-report.js +199 -199
  94. package/scripts/generar-checklists-consolidados.js +273 -273
  95. package/scripts/generar-inventario.js +420 -420
  96. package/scripts/generar-matriz-lenguajes.js +271 -271
  97. package/scripts/lib/artefactos-python.js +43 -43
  98. package/scripts/lib/benchmark-metrics.js +160 -160
  99. package/scripts/lib/budget-enforcer.js +252 -252
  100. package/scripts/lib/configurar-ci.js +380 -380
  101. package/scripts/lib/contadores-inventario.js +217 -217
  102. package/scripts/lib/detectar-stack-detallado.js +307 -307
  103. package/scripts/lib/diary-entry.js +234 -234
  104. package/scripts/lib/eval-metrics-store.js +218 -218
  105. package/scripts/lib/eval-quality.js +171 -171
  106. package/scripts/lib/eval-schemas.js +144 -144
  107. package/scripts/lib/eval-self-correct.js +106 -106
  108. package/scripts/lib/eval-validator.js +185 -185
  109. package/scripts/lib/expandir-targets.js +71 -71
  110. package/scripts/lib/jaccard-similarity.js +98 -98
  111. package/scripts/lib/longmemeval-runner.js +125 -125
  112. package/scripts/lib/mcp_config.py +127 -0
  113. package/scripts/lib/npm-version.js +261 -261
  114. package/scripts/lib/paquetes-conocidos.js +50 -50
  115. package/scripts/lib/prompt-builder.js +264 -264
  116. package/scripts/lib/rrf-fusion.js +175 -175
  117. package/scripts/lib/scoring-instintos.js +277 -277
  118. package/scripts/lib/semantic-search.js +252 -252
  119. package/scripts/lib/toml-merge.js +204 -204
  120. package/scripts/lib/transformadores/codex.js +375 -375
  121. package/scripts/lib/transformadores/cursor.js +359 -359
  122. package/scripts/limpiar-artefactos-python.js +131 -131
  123. package/scripts/mcp-orchestrator.py +8 -18
  124. package/scripts/mcp-pool-manager.py +12 -23
  125. package/scripts/mcp-server/README.md +170 -170
  126. package/scripts/mcp-server/auth.js +105 -105
  127. package/scripts/mcp-server/cache.js +106 -106
  128. package/scripts/mcp-server/telemetry.js +78 -78
  129. package/scripts/migrar-csv-a-array.js +168 -168
  130. package/scripts/migrar-fase-dominio.js +201 -201
  131. package/scripts/publicar.js +511 -511
  132. package/scripts/run-eval.js +141 -141
  133. package/scripts/validar-userland-vacio.js +110 -110
package/README.md CHANGED
@@ -1,562 +1,562 @@
1
- # swl-ses v1.5.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) y **auditoría profunda Nemesis** (loop iterativo Feynman + State Inconsistency hasta convergencia) con 8 tools ejecutables JSON-output para code-profiler, pentest-scanner, dep-doctor, bundle-tracker y más (ADR-0018, v1.4.1).
10
-
11
- ## Inventario
12
-
13
- | Componente | Cantidad |
14
- |-----------|----------|
15
- | Agentes SWL | 60 |
16
- | Habilidades | 160 (todas <=300 líneas, con divulgación progresiva a recursos/) |
17
- | Comandos (/swl:*) | 44 (todos <=300 líneas, delegan a skills) |
18
- | Reglas | 25 base + 40 por lenguaje (8 lenguajes x 5) |
19
- | Hooks | 41 + 66 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
- ### Opción 1: CLI vía npmjs (recomendada)
60
-
61
- ```bash
62
- cd /ruta/a/tu/proyecto
63
- npx @saulwade/swl-ses@latest init # Crea .planning/ y _userland/
64
- npx @saulwade/swl-ses@latest install --target claude --profile core # Instala agentes, skills, hooks y reglas
65
- npx @saulwade/swl-ses@latest doctor # Verifica que todo quedó correcto
66
- ```
67
-
68
- No requiere autenticación. El paquete `swl-ses` está publicado en npmjs.
69
-
70
- #### Instalación global (una vez, disponible en todos los proyectos)
71
-
72
- ```bash
73
- # Instalar swl-ses globalmente
74
- npm install -g swl-ses
75
-
76
- # En cada proyecto nuevo:
77
- cd /ruta/a/mi-proyecto
78
- swl-ses install --global --target claude --profile core # Componentes en ~/.claude/ (una sola vez)
79
- swl-ses init # Estructura .planning/ en este proyecto
80
- swl-ses doctor
81
- ```
82
-
83
- ### Opción 2: CLI vía GitHub Packages (mirror)
84
-
85
- ```bash
86
- # Requiere autenticación con GitHub (ver INSTALACION.md)
87
- npx @saul-wade/swl-ses@latest init
88
- npx @saul-wade/swl-ses@latest install --target claude --profile core
89
- ```
90
-
91
- Nota: la opción canónica es **npmjs.org** (`@saulwade/swl-ses`), GitHub Packages
92
- es un mirror para usuarios que prefieran ese registry. El binario y el contenido
93
- son idénticos.
94
-
95
- #### Por qué los scopes difieren
96
-
97
- La organización en npmjs.org se llama `saulwade` (sin guion) porque
98
- **npm no permite guiones en nombres de organización** — el registro
99
- los rechaza desde el formulario de creación. La organización en GitHub
100
- sí acepta guiones y se llama `saul-wade`. Como cada registry deriva el
101
- scope del paquete del nombre de la org propietaria, terminamos con
102
- `@saulwade/swl-ses` en npmjs y `@saul-wade/swl-ses` en GitHub Packages.
103
- El contenido publicado es idéntico; el comando CLI `swl-ses` no cambia.
104
-
105
- ### Opción 3: Clonar y usar directamente
106
-
107
- ```bash
108
- git clone https://github.com/saul-wade/swl-ses.git
109
- cd swl-ses
110
- claude
111
- # Claude lee CLAUDE.md y tiene acceso a todo el sistema
112
- ```
113
-
114
- ### Opción 4: Plugin de Claude Code
115
-
116
- ```bash
117
- # Dentro de una sesion de Claude Code:
118
- /plugin marketplace add https://github.com/saul-wade/swl-ses
119
- /plugin install swl-ses@saul-wade
120
- ```
121
-
122
- > Para forzar siempre la última versión:
123
- > `npx @saulwade/swl-ses@latest <comando>`
124
-
125
- ## Comandos del CLI
126
-
127
- > Las tablas siguientes usan el alias corto `swl-ses@latest` (sin scope) por
128
- > compatibilidad con instalación global (`npm install -g swl-ses` enlaza el
129
- > bin con ese nombre). Para forzar el paquete canónico desde npmjs sin
130
- > tocar la instalación global, sustituir por `@saulwade/swl-ses@latest`
131
- > (npmjs canónico) o `@saul-wade/swl-ses@latest` (mirror GitHub Packages).
132
-
133
- | Comando | Descripción |
134
- |---------|-------------|
135
- | `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.** |
136
- | `npx @saulwade/swl-ses@latest install` | Instala agentes, skills, reglas, hooks y comandos `/swl:*` en el runtime destino (`.claude/` local o `~/.claude/` global). |
137
- | `npx @saulwade/swl-ses@latest doctor` | Diagnostica problemas de la instalación |
138
- | `npx @saulwade/swl-ses@latest update` | Actualiza componentes instalados |
139
- | `npx @saulwade/swl-ses@latest uninstall` | Desinstala componentes del runtime |
140
- | `npx @saulwade/swl-ses@latest info` | Muestra información del sistema instalado |
141
- | `npx @saulwade/swl-ses@latest skills list` | Lista skills instalados |
142
- | `npx @saulwade/swl-ses@latest skills add <fuente>` | Agrega skill desde repo Git, owner/repo, o path local |
143
- | `npx @saulwade/swl-ses@latest skills remove <nombre>` | Remueve un skill individual |
144
- | `npx @saulwade/swl-ses@latest agents list` | Lista agentes instalados |
145
- | `npx @saulwade/swl-ses@latest agents add <fuente>` | Agrega agente desde repo Git o path local |
146
- | `npx @saulwade/swl-ses@latest agents remove <nombre>` | Remueve un agente individual |
147
-
148
- ### Opciones de install
149
-
150
- | Opción | Valores | Descripción |
151
- |--------|---------|-------------|
152
- | `--target <runtime>` | `claude`, `openclaude`, `copilot`, `opencode`, `codex`, `gemini` | Runtime destino (default: `claude`) |
153
- | `--profile <perfil>` | Ver perfiles abajo | Perfil de instalación (default: `core`) |
154
- | `--global` | — | Instala en directorio global (`~/.claude/`) |
155
- | `--local` | — | Instala en directorio local del proyecto (`.claude/`) |
156
- | `--with <componentes>` | Separados por coma | Incluir módulos adicionales |
157
- | `--without <componentes>` | Separados por coma | Excluir módulos |
158
- | `--dry-run` | — | Muestra plan sin aplicar cambios |
159
- | `--force` | — | Sobrescribe archivos existentes |
160
-
161
- ### Perfiles de instalación
162
-
163
- | Perfil | Descripción |
164
- |--------|-------------|
165
- | `core` | Mínimo viable: orquestador + agentes base + reglas + comandos |
166
- | `backend-python` | FastAPI/Django + patrones + testing + async + API + datos |
167
- | `backend-node` | Express/Fastify/NestJS + TypeScript + API + datos |
168
- | `backend-java` | Spring Boot + Maven/Gradle + patrones Java + testing + API |
169
- | `backend-go` | Go + Gin/Echo + patrones Go + testing + API |
170
- | `backend-rust` | Rust + Axum/Actix + patrones Rust + testing + API |
171
- | `backend-csharp` | .NET + ASP.NET Core + patrones C# + testing + API |
172
- | `frontend-react` | React/Next.js + UX + estilos + accesibilidad |
173
- | `frontend-angular` | Angular v20+ + signals + UX + estilos |
174
- | `fullstack-python-angular` | Python backend + Angular frontend + datos + seguridad |
175
- | `fullstack-node-react` | Node.js backend + React frontend + datos + seguridad |
176
- | `fullstack-java-angular` | Java backend + Angular frontend + datos + seguridad |
177
- | `fullstack-go-react` | Go backend + React frontend + datos + seguridad |
178
- | `mobile` | Android + iOS + React Native/Flutter + UX |
179
- | `devops` | CI/CD + cloud + observabilidad + releases + seguridad |
180
- | `polyglot` | Todos los lenguajes: 11 lenguajes + revisores + build resolvers |
181
- | `completo` | Todo: 60 agentes + 160 habilidades + 44 comandos + 65 reglas + 41 hooks |
182
-
183
- ### Targets soportados
184
-
185
- | Target | Runtime | Soporte | Componentes |
186
- |--------|---------|---------|-------------|
187
- | `claude` | Claude Code | Completo | Agentes, skills, comandos, reglas, hooks |
188
- | `openclaude` | OpenClaude | Completo | Agentes, skills, comandos, reglas, hooks |
189
- | `opencode` | OpenCode | Completo | Agentes, skills, comandos, reglas, hooks |
190
- | `gemini` | Gemini CLI | Completo | Agentes, skills, comandos, reglas, hooks |
191
- | `copilot` | GitHub Copilot | Parcial | Solo agentes y reglas (limitación de plataforma) |
192
- | `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` |
193
- | `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` |
194
-
195
- > **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.
196
-
197
- ### Ejemplos
198
-
199
- ```bash
200
- # Perfil básico en Claude Code
201
- npx @saulwade/swl-ses@latest install --target claude --profile core
202
-
203
- # Backend Python en Gemini CLI
204
- npx @saulwade/swl-ses@latest install --target gemini --profile backend-python
205
-
206
- # Frontend React en GitHub Copilot
207
- npx @saulwade/swl-ses@latest install --target copilot --profile frontend-react
208
-
209
- # Full-stack en OpenClaude (multi-proveedor, usa .claude/ igual que Claude Code)
210
- npx @saulwade/swl-ses@latest install --target openclaude --profile fullstack-python-angular
211
-
212
- # Full-stack en OpenCode
213
- npx @saulwade/swl-ses@latest install --target opencode --profile fullstack-python-angular
214
-
215
- # Perfil completo en directorio global
216
- npx @saulwade/swl-ses@latest install --target claude --profile completo --global
217
-
218
- # Agregar skills desde GitHub con selector interactivo
219
- npx @saulwade/swl-ses@latest skills add anthropics/skills
220
-
221
- # Agregar un skill específico por nombre
222
- npx @saulwade/swl-ses@latest skills add anthropics/skills --skill docx
223
-
224
- # Agregar todos los skills de un repo sin selector
225
- npx @saulwade/swl-ses@latest skills add anthropics/skills --all
226
-
227
- # Agregar skill desde URL completa
228
- npx @saulwade/swl-ses@latest skills add https://github.com/user/repo --skill mi-skill
229
-
230
- # Agregar agente desde path local
231
- npx @saulwade/swl-ses@latest agents add ./mis-agentes --agent mi-agente
232
-
233
- # Ver que se instalaria sin hacer cambios
234
- npx @saulwade/swl-ses@latest install --target codex --profile core --dry-run
235
-
236
- # Ver información del sistema
237
- npx @saulwade/swl-ses@latest info --target claude
238
- ```
239
-
240
- ## Agentes (59)
241
-
242
- ### Orquestación y Proceso
243
- `orquestador-swl`, `producto-prd-swl`, `consolidador-swl`, `auto-evolución-swl`
244
-
245
- ### Discovery e Investigación
246
- `investigador-swl`, `investigador-ux-swl`
247
-
248
- ### Arquitectura
249
- `arquitecto-swl`, `planificador-swl`
250
-
251
- ### UX / UI / Diseño
252
- `ux-disenador-swl`, `disenador-ui-swl`, `accesibilidad-wcag-swl`
253
-
254
- ### Frontend
255
- `frontend-swl`, `frontend-react-swl`, `frontend-angular-swl`, `frontend-css-swl`, `frontend-tailwind-swl`
256
-
257
- ### Backend
258
- `implementador-swl`, `backend-python-swl`, `backend-node-swl`, `backend-api-swl`, `backend-workers-swl`
259
-
260
- ### Backend Multi-Lenguaje (nuevo)
261
- `backend-java-swl`, `backend-go-swl`, `backend-csharp-swl`, `backend-rust-swl`
262
-
263
- ### Mobile
264
- `mobile-android-swl`, `mobile-ios-swl`, `mobile-cross-swl`
265
-
266
- ### Datos
267
- `datos-swl`, `migrador-swl`
268
-
269
- ### Calidad
270
- `tdd-qa-swl`, `revisor-codigo-swl`, `revisor-seguridad-swl`
271
-
272
- ### Revisores por Lenguaje (nuevo)
273
- `revisor-java-swl`, `revisor-go-swl`, `revisor-rust-swl`, `revisor-csharp-swl`, `revisor-kotlin-swl`, `revisor-swift-swl`, `revisor-php-swl`, `revisor-nextjs-swl`
274
-
275
- ### Infraestructura
276
- `devops-ci-swl`, `cloud-infra-swl`, `observabilidad-swl`
277
-
278
- ### Rendimiento y Releases
279
- `rendimiento-swl`, `release-manager-swl`
280
-
281
- ### Documentación, Notificaciones, Debugging
282
- `documentador-swl`, `notificador-swl`, `depurador-swl`
283
-
284
- ### Build Resolution
285
- `resolutor-build-swl`
286
-
287
- ### LLM, Pagos y SRE
288
- `llm-apps-swl`, `pagos-swl`, `sre-swl`
289
-
290
- ### Revisores adicionales
291
- `revisor-typescript-swl`, `revisor-react-swl`, `revisor-angular-swl`
292
-
293
- ## Comandos (/swl:*)
294
-
295
- | Comando | Función |
296
- |---------|---------|
297
- | `/swl:instalar` | Instalación interactiva dentro de Claude Code |
298
- | `/swl:actualizar` | Actualizar sin desinstalar |
299
- | `/swl:nuevo-proyecto` | Inicializar proyecto con PROYECTO.md y roadmap |
300
- | `/swl:discutir-fase` | Recopilar contexto antes de planificar |
301
- | `/swl:planear-fase` | Crear PLAN.md con vertical slices |
302
- | `/swl:ejecutar-fase` | Ejecutar plan con commits atómicos |
303
- | `/swl:verificar` | Verificar implementación contra spec |
304
- | `/swl:mapear-codebase` | Analizar codebase existente |
305
- | `/swl:checkpoint` | Guardar estado para continuar después |
306
- | `/swl:compactar` | Reducir contexto preservando info clave |
307
- | `/swl:aprender` | Extraer aprendizajes de la sesión |
308
- | `/swl:evolucionar` | Auto-evolución de agentes/skills |
309
- | `/swl:autoresearch` | Loop de auto-mejora iterativa contra checklist |
310
- | `/swl:crear-skill` | Crear nuevo skill con guía interactiva |
311
- | `/swl:salud` | Diagnóstico de integridad del sistema |
312
- | `/swl:release` | Ciclo de release SemVer |
313
- | `/swl:auditar-deps` | Auditoría de dependencias (CVEs) |
314
- | `/swl:contexto` | Cambiar modo de desarrollo activo (dev/review/research) |
315
- | `/swl:sesiones` | Gestionar persistencia de sesiones de trabajo |
316
- | `/swl:instintos` | Inspeccionar y gestionar instintos del sistema |
317
- | `/swl:modelo` | Configurar modelo de IA por agente o globalmente |
318
- | `/swl:metricas` | Ver métricas de sesión y productividad |
319
- | `/swl:dashboard` | Dashboard histórico de uso multi-sesión (gráficas interactivas) |
320
- | `/swl:revisar-impacto` | Análisis de impacto estructural: blast radius, risk score, comunidades |
321
- | `/swl:evaluar-skill` | Evaluación formal de skills: 2 capas (estática + semántica), badges de calidad |
322
- | `/swl:wiki` | Gestionar wiki de conocimiento del proyecto (init/ingest/query/lint) |
323
- | `/swl:plugins` | Gestionar plugins y extensiones del sistema |
324
- | `/swl:revisar` | Revisión de código por tecnología |
325
- | `/swl:brainstorm` | Brainstorming estructurado |
326
- | `/swl:ayuda` | Ayuda interactiva: catálogo, detalle de comando, búsqueda por keyword |
327
- | `/swl:skill-search` | Buscar skills por keyword o dominio |
328
- | `/swl:mcp-status` | Estado de servidores MCP conectados |
329
- | `/swl:cron` | Gestionar tareas programadas |
330
- | `/swl:gateway` | Configurar gateway multi-plataforma + modo relay bidireccional Telegram → Claude |
331
- | `/swl:inbox` | Consumir comandos entrantes del gateway (enviados desde Telegram/Discord/webhook) |
332
- | `/swl:reflect-skills` | Analizar historial JSONL para detectar patrones candidatos a skill/comando emergente |
333
- | `/swl:contribuir` | Contribuir evoluciones al core (filtro dominio + PluginEval ≥80) |
334
- | `/swl:exportar-vault` | Exportar resumen de sesión al vault personal (Obsidian u otro) |
335
-
336
- Ver [COMANDOS.md](COMANDOS.md) para flags y opciones detalladas de cada comando.
337
- Ver [MANUAL_USO.md](MANUAL_USO.md) para explicaciones prácticas de cada comando y guías de cuándo usarlos.
338
-
339
- ## Arquitectura
340
-
341
- ### Thin Orchestrator
342
-
343
- ```
344
- Comando (/swl:planear-fase)
345
- +-> Cargar habilidad (planear-fase/SKILL.md)
346
- +-> Spawn agente (planificador-swl) con contexto fresco
347
- +-> Verificar resultado (revisor-codigo-swl)
348
- +-> Actualizar estado (.planning/ESTADO.md)
349
- ```
350
-
351
- ### Estado en archivos (.planning/)
352
-
353
- ```
354
- .planning/
355
- PROYECTO.md # Vision, contexto, objetivos
356
- REQUISITOS.md # Requisitos con IDs (REQ-001...)
357
- HOJA-RUTA.md # Fases con entregables y verificación
358
- ESTADO.md # Estado actual, decisiones, riesgos
359
- CONTEXTO.md # Modo de desarrollo activo
360
- METRICAS.md # Métricas de sesión
361
- research/ # Investigación del dominio
362
- fases/ # Documentos por fase (CONTEXTO, PLAN, RESUMEN, VERIFICACION)
363
- sessions/ # Persistencia de sesiones JSON
364
- comms/ # Comunicación entre agentes
365
- ```
366
-
367
- ### Arquitectura de 4 capas
368
-
369
- | Capa | Componente | Propósito |
370
- |------|-----------|-----------|
371
- | L1 | CLAUDE.md | Contexto persistente y reglas |
372
- | L2 | Skills | Paquetes de conocimiento versionados |
373
- | L3 | Hooks | Seguridad y automatización |
374
- | L4 | Agents | Subagentes con contexto aislado |
375
-
376
- ## Gateway bidireccional con Telegram (opt-in)
377
-
378
- 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.
379
-
380
- ### Flujo
381
-
382
- ```
383
- Telegram (móvil) → CommandRelay (valida) → .planning/inbox/cmd-*.json → /swl:inbox en Claude
384
- o claude -p headless (auto)
385
- ```
386
-
387
- ### Protecciones del CommandRelay
388
-
389
- - Whitelist de usuarios por plataforma (`relay.platforms.<nombre>.allowedUsers`)
390
- - Rechazo de payload injection: `<script>`, `.env`, `id_rsa`, `.ssh/`, etc.
391
- - Límite de 4000 chars por mensaje
392
- - Rate limit: 10 msg/min por usuario (configurable)
393
- - Dedup por hash SHA-1 en ventana de 30s
394
- - Audit trail append-only en `.planning/inbox/audit.jsonl`
395
-
396
- ### Modos de consumo
397
-
398
- | Modo | Qué hace | Compatible |
399
- |---|---|---|
400
- | Portable (default) | Los mensajes se encolan; al ejecutar `/swl:inbox` en tu sesión Claude los procesas con juicio humano | Windows / Linux / macOS |
401
- | 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 |
402
- | tmux inject (opt-in) | Daemon `scripts/inbox-tmux-inject.js` inyecta a una sesión tmux con `tmux send-keys` | Linux / macOS |
403
-
404
- Configuración en `manifiestos/gateway-config.json`. Ver [MANUAL_USO.md](MANUAL_USO.md) sección `/swl:gateway` para setup completo.
405
-
406
- ## Skills bundled de Claude Code
407
-
408
- Los agentes SWL pueden usar estos 17 skills que vienen con Claude Code:
409
-
410
- `/pdf`, `/pptx`, `/docx`, `/xlsx`, `/frontend-design`, `/web-artifacts-builder`,
411
- `/claude-api`, `/brand-guidelines`, `/skill-creator`, `/mcp-builder`,
412
- `/webapp-testing`, `/internal-comms`, `/doc-coauthoring`, `/canvas-design`,
413
- `/algorithmic-art`, `/theme-factory`, `/slack-gif-creator`
414
-
415
- ## Modo _userland/
416
-
417
- Coloca tus agentes y habilidades personalizados en `_userland/`:
418
-
419
- ```
420
- _userland/
421
- agentes/
422
- mi-agente-custom.md
423
- habilidades/
424
- mi-habilidad/
425
- SKILL.md
426
- ```
427
-
428
- El instalador detecta `_userland/`, hace merge con los componentes core y da prioridad a tus archivos.
429
-
430
- ## Publicación
431
-
432
- El paquete se publica en dos registros (dual-publish):
433
-
434
- | Registro | Paquete | Requiere auth |
435
- |----------|---------|---------------|
436
- | npmjs.org (canónico) | `@saulwade/swl-ses` | Solo para publicar |
437
- | GitHub Packages (mirror) | `@saul-wade/swl-ses` | Para instalar y publicar |
438
-
439
- ```bash
440
- # Publicar a ambos registros
441
- npm run publish:all
442
-
443
- # Solo GitHub Packages
444
- npm run publish:github
445
-
446
- # Solo npmjs
447
- npm run publish:npmjs
448
-
449
- # Simular sin publicar
450
- npm run publish:dry
451
- ```
452
-
453
- Ver [INSTALACION.md](INSTALACION.md) para configuración detallada de autenticación y publicación.
454
-
455
- ## Verificación (doctor)
456
-
457
- ```bash
458
- npx @saulwade/swl-ses@latest doctor
459
- ```
460
-
461
- 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.
462
-
463
- ## Estructura del repositorio
464
-
465
- ```
466
- swl-ses/
467
- package.json # Paquete npm con bin swl-ses
468
- plugin.json # Manifest para Claude Code plugin system
469
- bin/swl-ses.js # CLI principal
470
- scripts/ # Lógica del CLI
471
- comandos/ # Handlers de subcomandos (skills, agents, info)
472
- lib/ # Librerías compartidas
473
- transformadores/ # Transformadores por target (claude, copilot, opencode, codex, gemini)
474
- detectar-runtime.js # Detección de runtimes de IA
475
- gestor-componentes.js # Gestión de skills y agentes individuales
476
- resolver-externo.js # Resolución de repos Git y paths locales
477
- hooks-settings.js # Registro de hooks en settings.json
478
- estado.js # Estado de instalación (v3)
479
- manifiestos.js # Resolución de perfiles/módulos
480
- seguridad.js # Validaciones de seguridad
481
- manifiestos/ # Perfiles y módulos de instalación
482
- agentes/ # 60 agentes especializados
483
- habilidades/ # 160 habilidades modulares
484
- comandos/swl/ # 44 comandos slash
485
- reglas/ # 25 reglas base + 40 por lenguaje
486
- hooks/ # 41 hooks + 66 librerías en hooks/lib/
487
- schemas/ # 15 JSON Schemas
488
- contextos/ # 3 modos de desarrollo
489
- instintos/ # Instintos YAML con confianza
490
- plantillas/ # Templates para .planning/
491
- gateway/ # Gateway multi-plataforma (adapters + CommandRelay)
492
- adapters/ # Telegram, Discord, Slack, WhatsApp, Email, Webhook
493
- command-relay.js # Receptor bidireccional con whitelist + validaciones
494
- _userland/ # Personalización del usuario
495
- CLAUDE.md # Fuente de verdad del sistema
496
- COMANDOS.md # Referencia completa de comandos
497
- MANUAL_USO.md # Guía práctica de uso por comando
498
- INSTALACION.md # Guía de configuración y publicación
499
- ```
500
-
501
- ## ¿Por qué usar SWL? (Análisis y Ejemplo Práctico)
502
-
503
- 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**.
504
-
505
- ### Beneficios Principales
506
-
507
- 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.
508
- 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.
509
- 3. **Desarrollo Metódico:** Fuerza un flujo de trabajo estructurado de *Planificar -> Ejecutar -> Verificar*.
510
- 4. **Comandos Simplificados (`/swl:*`):** Automatiza flujos de trabajo masivos de desarrollo (ej. `/swl:planear-fase` o `/swl:auditar-deps`).
511
- 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.
512
-
513
- ### Ejemplo de Flujo de Trabajo Real
514
-
515
- Un proyecto típico (ej. construir una App Fullstack) usando SWL sigue estos pasos:
516
-
517
- 1. **Instalación y Setup inicial**
518
- ```bash
519
- npx @saulwade/swl-ses@latest init
520
- npx @saulwade/swl-ses@latest install --target claude --profile fullstack-node-react
521
- ```
522
-
523
- 2. **Definición del Proyecto (Discovery)**
524
- 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).
525
-
526
- 3. **Planeación de la Arquitectura**
527
- 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.
528
-
529
- 4. **Ejecución de la Fase**
530
- 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.
531
-
532
- 5. **Revisión y Verificación**
533
- 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.
534
-
535
- 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.
536
-
537
- ## Desarrollo
538
-
539
- ### Tests
540
-
541
- ```bash
542
- npm test # tests unitarios con node:test nativo
543
- npm run test:validate # Validación estructural del paquete
544
- npm run test:all # Ambos
545
- ```
546
-
547
- ### CI/CD
548
-
549
- 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.
550
-
551
- 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.
552
-
553
- ### Herramientas de mantenimiento
554
-
555
- ```bash
556
- npm run generate:docs # Regenera INVENTARIO.md y SALUD.md desde el disco
557
- npm run field-report # Reporte de uso real de skills y agentes
558
- ```
559
-
560
- ## Licencia
561
-
1
+ # swl-ses v1.5.2
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) y **auditoría profunda Nemesis** (loop iterativo Feynman + State Inconsistency hasta convergencia) con 8 tools ejecutables JSON-output para code-profiler, pentest-scanner, dep-doctor, bundle-tracker y más (ADR-0018, v1.4.1).
10
+
11
+ ## Inventario
12
+
13
+ | Componente | Cantidad |
14
+ |-----------|----------|
15
+ | Agentes SWL | 60 |
16
+ | Habilidades | 160 (todas <=300 líneas, con divulgación progresiva a recursos/) |
17
+ | Comandos (/swl:*) | 44 (todos <=300 líneas, delegan a skills) |
18
+ | Reglas | 25 base + 40 por lenguaje (8 lenguajes x 5) |
19
+ | Hooks | 41 + 66 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
+ ### Opción 1: CLI vía npmjs (recomendada)
60
+
61
+ ```bash
62
+ cd /ruta/a/tu/proyecto
63
+ npx @saulwade/swl-ses@latest init # Crea .planning/ y _userland/
64
+ npx @saulwade/swl-ses@latest install --target claude --profile core # Instala agentes, skills, hooks y reglas
65
+ npx @saulwade/swl-ses@latest doctor # Verifica que todo quedó correcto
66
+ ```
67
+
68
+ No requiere autenticación. El paquete `swl-ses` está publicado en npmjs.
69
+
70
+ #### Instalación global (una vez, disponible en todos los proyectos)
71
+
72
+ ```bash
73
+ # Instalar swl-ses globalmente
74
+ npm install -g swl-ses
75
+
76
+ # En cada proyecto nuevo:
77
+ cd /ruta/a/mi-proyecto
78
+ swl-ses install --global --target claude --profile core # Componentes en ~/.claude/ (una sola vez)
79
+ swl-ses init # Estructura .planning/ en este proyecto
80
+ swl-ses doctor
81
+ ```
82
+
83
+ ### Opción 2: CLI vía GitHub Packages (mirror)
84
+
85
+ ```bash
86
+ # Requiere autenticación con GitHub (ver INSTALACION.md)
87
+ npx @saul-wade/swl-ses@latest init
88
+ npx @saul-wade/swl-ses@latest install --target claude --profile core
89
+ ```
90
+
91
+ Nota: la opción canónica es **npmjs.org** (`@saulwade/swl-ses`), GitHub Packages
92
+ es un mirror para usuarios que prefieran ese registry. El binario y el contenido
93
+ son idénticos.
94
+
95
+ #### Por qué los scopes difieren
96
+
97
+ La organización en npmjs.org se llama `saulwade` (sin guion) porque
98
+ **npm no permite guiones en nombres de organización** — el registro
99
+ los rechaza desde el formulario de creación. La organización en GitHub
100
+ sí acepta guiones y se llama `saul-wade`. Como cada registry deriva el
101
+ scope del paquete del nombre de la org propietaria, terminamos con
102
+ `@saulwade/swl-ses` en npmjs y `@saul-wade/swl-ses` en GitHub Packages.
103
+ El contenido publicado es idéntico; el comando CLI `swl-ses` no cambia.
104
+
105
+ ### Opción 3: Clonar y usar directamente
106
+
107
+ ```bash
108
+ git clone https://github.com/saul-wade/swl-ses.git
109
+ cd swl-ses
110
+ claude
111
+ # Claude lee CLAUDE.md y tiene acceso a todo el sistema
112
+ ```
113
+
114
+ ### Opción 4: Plugin de Claude Code
115
+
116
+ ```bash
117
+ # Dentro de una sesion de Claude Code:
118
+ /plugin marketplace add https://github.com/saul-wade/swl-ses
119
+ /plugin install swl-ses@saul-wade
120
+ ```
121
+
122
+ > Para forzar siempre la última versión:
123
+ > `npx @saulwade/swl-ses@latest <comando>`
124
+
125
+ ## Comandos del CLI
126
+
127
+ > Las tablas siguientes usan el alias corto `swl-ses@latest` (sin scope) por
128
+ > compatibilidad con instalación global (`npm install -g swl-ses` enlaza el
129
+ > bin con ese nombre). Para forzar el paquete canónico desde npmjs sin
130
+ > tocar la instalación global, sustituir por `@saulwade/swl-ses@latest`
131
+ > (npmjs canónico) o `@saul-wade/swl-ses@latest` (mirror GitHub Packages).
132
+
133
+ | Comando | Descripción |
134
+ |---------|-------------|
135
+ | `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.** |
136
+ | `npx @saulwade/swl-ses@latest install` | Instala agentes, skills, reglas, hooks y comandos `/swl:*` en el runtime destino (`.claude/` local o `~/.claude/` global). |
137
+ | `npx @saulwade/swl-ses@latest doctor` | Diagnostica problemas de la instalación |
138
+ | `npx @saulwade/swl-ses@latest update` | Actualiza componentes instalados |
139
+ | `npx @saulwade/swl-ses@latest uninstall` | Desinstala componentes del runtime |
140
+ | `npx @saulwade/swl-ses@latest info` | Muestra información del sistema instalado |
141
+ | `npx @saulwade/swl-ses@latest skills list` | Lista skills instalados |
142
+ | `npx @saulwade/swl-ses@latest skills add <fuente>` | Agrega skill desde repo Git, owner/repo, o path local |
143
+ | `npx @saulwade/swl-ses@latest skills remove <nombre>` | Remueve un skill individual |
144
+ | `npx @saulwade/swl-ses@latest agents list` | Lista agentes instalados |
145
+ | `npx @saulwade/swl-ses@latest agents add <fuente>` | Agrega agente desde repo Git o path local |
146
+ | `npx @saulwade/swl-ses@latest agents remove <nombre>` | Remueve un agente individual |
147
+
148
+ ### Opciones de install
149
+
150
+ | Opción | Valores | Descripción |
151
+ |--------|---------|-------------|
152
+ | `--target <runtime>` | `claude`, `openclaude`, `copilot`, `opencode`, `codex`, `gemini` | Runtime destino (default: `claude`) |
153
+ | `--profile <perfil>` | Ver perfiles abajo | Perfil de instalación (default: `core`) |
154
+ | `--global` | — | Instala en directorio global (`~/.claude/`) |
155
+ | `--local` | — | Instala en directorio local del proyecto (`.claude/`) |
156
+ | `--with <componentes>` | Separados por coma | Incluir módulos adicionales |
157
+ | `--without <componentes>` | Separados por coma | Excluir módulos |
158
+ | `--dry-run` | — | Muestra plan sin aplicar cambios |
159
+ | `--force` | — | Sobrescribe archivos existentes |
160
+
161
+ ### Perfiles de instalación
162
+
163
+ | Perfil | Descripción |
164
+ |--------|-------------|
165
+ | `core` | Mínimo viable: orquestador + agentes base + reglas + comandos |
166
+ | `backend-python` | FastAPI/Django + patrones + testing + async + API + datos |
167
+ | `backend-node` | Express/Fastify/NestJS + TypeScript + API + datos |
168
+ | `backend-java` | Spring Boot + Maven/Gradle + patrones Java + testing + API |
169
+ | `backend-go` | Go + Gin/Echo + patrones Go + testing + API |
170
+ | `backend-rust` | Rust + Axum/Actix + patrones Rust + testing + API |
171
+ | `backend-csharp` | .NET + ASP.NET Core + patrones C# + testing + API |
172
+ | `frontend-react` | React/Next.js + UX + estilos + accesibilidad |
173
+ | `frontend-angular` | Angular v20+ + signals + UX + estilos |
174
+ | `fullstack-python-angular` | Python backend + Angular frontend + datos + seguridad |
175
+ | `fullstack-node-react` | Node.js backend + React frontend + datos + seguridad |
176
+ | `fullstack-java-angular` | Java backend + Angular frontend + datos + seguridad |
177
+ | `fullstack-go-react` | Go backend + React frontend + datos + seguridad |
178
+ | `mobile` | Android + iOS + React Native/Flutter + UX |
179
+ | `devops` | CI/CD + cloud + observabilidad + releases + seguridad |
180
+ | `polyglot` | Todos los lenguajes: 11 lenguajes + revisores + build resolvers |
181
+ | `completo` | Todo: 60 agentes + 162 habilidades + 44 comandos + 66 reglas + 41 hooks |
182
+
183
+ ### Targets soportados
184
+
185
+ | Target | Runtime | Soporte | Componentes |
186
+ |--------|---------|---------|-------------|
187
+ | `claude` | Claude Code | Completo | Agentes, skills, comandos, reglas, hooks |
188
+ | `openclaude` | OpenClaude | Completo | Agentes, skills, comandos, reglas, hooks |
189
+ | `opencode` | OpenCode | Completo | Agentes, skills, comandos, reglas, hooks |
190
+ | `gemini` | Gemini CLI | Completo | Agentes, skills, comandos, reglas, hooks |
191
+ | `copilot` | GitHub Copilot | Parcial | Solo agentes y reglas (limitación de plataforma) |
192
+ | `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` |
193
+ | `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` |
194
+
195
+ > **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.
196
+
197
+ ### Ejemplos
198
+
199
+ ```bash
200
+ # Perfil básico en Claude Code
201
+ npx @saulwade/swl-ses@latest install --target claude --profile core
202
+
203
+ # Backend Python en Gemini CLI
204
+ npx @saulwade/swl-ses@latest install --target gemini --profile backend-python
205
+
206
+ # Frontend React en GitHub Copilot
207
+ npx @saulwade/swl-ses@latest install --target copilot --profile frontend-react
208
+
209
+ # Full-stack en OpenClaude (multi-proveedor, usa .claude/ igual que Claude Code)
210
+ npx @saulwade/swl-ses@latest install --target openclaude --profile fullstack-python-angular
211
+
212
+ # Full-stack en OpenCode
213
+ npx @saulwade/swl-ses@latest install --target opencode --profile fullstack-python-angular
214
+
215
+ # Perfil completo en directorio global
216
+ npx @saulwade/swl-ses@latest install --target claude --profile completo --global
217
+
218
+ # Agregar skills desde GitHub con selector interactivo
219
+ npx @saulwade/swl-ses@latest skills add anthropics/skills
220
+
221
+ # Agregar un skill específico por nombre
222
+ npx @saulwade/swl-ses@latest skills add anthropics/skills --skill docx
223
+
224
+ # Agregar todos los skills de un repo sin selector
225
+ npx @saulwade/swl-ses@latest skills add anthropics/skills --all
226
+
227
+ # Agregar skill desde URL completa
228
+ npx @saulwade/swl-ses@latest skills add https://github.com/user/repo --skill mi-skill
229
+
230
+ # Agregar agente desde path local
231
+ npx @saulwade/swl-ses@latest agents add ./mis-agentes --agent mi-agente
232
+
233
+ # Ver que se instalaria sin hacer cambios
234
+ npx @saulwade/swl-ses@latest install --target codex --profile core --dry-run
235
+
236
+ # Ver información del sistema
237
+ npx @saulwade/swl-ses@latest info --target claude
238
+ ```
239
+
240
+ ## Agentes (59)
241
+
242
+ ### Orquestación y Proceso
243
+ `orquestador-swl`, `producto-prd-swl`, `consolidador-swl`, `auto-evolución-swl`
244
+
245
+ ### Discovery e Investigación
246
+ `investigador-swl`, `investigador-ux-swl`
247
+
248
+ ### Arquitectura
249
+ `arquitecto-swl`, `planificador-swl`
250
+
251
+ ### UX / UI / Diseño
252
+ `ux-disenador-swl`, `disenador-ui-swl`, `accesibilidad-wcag-swl`
253
+
254
+ ### Frontend
255
+ `frontend-swl`, `frontend-react-swl`, `frontend-angular-swl`, `frontend-css-swl`, `frontend-tailwind-swl`
256
+
257
+ ### Backend
258
+ `implementador-swl`, `backend-python-swl`, `backend-node-swl`, `backend-api-swl`, `backend-workers-swl`
259
+
260
+ ### Backend Multi-Lenguaje (nuevo)
261
+ `backend-java-swl`, `backend-go-swl`, `backend-csharp-swl`, `backend-rust-swl`
262
+
263
+ ### Mobile
264
+ `mobile-android-swl`, `mobile-ios-swl`, `mobile-cross-swl`
265
+
266
+ ### Datos
267
+ `datos-swl`, `migrador-swl`
268
+
269
+ ### Calidad
270
+ `tdd-qa-swl`, `revisor-codigo-swl`, `revisor-seguridad-swl`
271
+
272
+ ### Revisores por Lenguaje (nuevo)
273
+ `revisor-java-swl`, `revisor-go-swl`, `revisor-rust-swl`, `revisor-csharp-swl`, `revisor-kotlin-swl`, `revisor-swift-swl`, `revisor-php-swl`, `revisor-nextjs-swl`
274
+
275
+ ### Infraestructura
276
+ `devops-ci-swl`, `cloud-infra-swl`, `observabilidad-swl`
277
+
278
+ ### Rendimiento y Releases
279
+ `rendimiento-swl`, `release-manager-swl`
280
+
281
+ ### Documentación, Notificaciones, Debugging
282
+ `documentador-swl`, `notificador-swl`, `depurador-swl`
283
+
284
+ ### Build Resolution
285
+ `resolutor-build-swl`
286
+
287
+ ### LLM, Pagos y SRE
288
+ `llm-apps-swl`, `pagos-swl`, `sre-swl`
289
+
290
+ ### Revisores adicionales
291
+ `revisor-typescript-swl`, `revisor-react-swl`, `revisor-angular-swl`
292
+
293
+ ## Comandos (/swl:*)
294
+
295
+ | Comando | Función |
296
+ |---------|---------|
297
+ | `/swl:instalar` | Instalación interactiva dentro de Claude Code |
298
+ | `/swl:actualizar` | Actualizar sin desinstalar |
299
+ | `/swl:nuevo-proyecto` | Inicializar proyecto con PROYECTO.md y roadmap |
300
+ | `/swl:discutir-fase` | Recopilar contexto antes de planificar |
301
+ | `/swl:planear-fase` | Crear PLAN.md con vertical slices |
302
+ | `/swl:ejecutar-fase` | Ejecutar plan con commits atómicos |
303
+ | `/swl:verificar` | Verificar implementación contra spec |
304
+ | `/swl:mapear-codebase` | Analizar codebase existente |
305
+ | `/swl:checkpoint` | Guardar estado para continuar después |
306
+ | `/swl:compactar` | Reducir contexto preservando info clave |
307
+ | `/swl:aprender` | Extraer aprendizajes de la sesión |
308
+ | `/swl:evolucionar` | Auto-evolución de agentes/skills |
309
+ | `/swl:autoresearch` | Loop de auto-mejora iterativa contra checklist |
310
+ | `/swl:crear-skill` | Crear nuevo skill con guía interactiva |
311
+ | `/swl:salud` | Diagnóstico de integridad del sistema |
312
+ | `/swl:release` | Ciclo de release SemVer |
313
+ | `/swl:auditar-deps` | Auditoría de dependencias (CVEs) |
314
+ | `/swl:contexto` | Cambiar modo de desarrollo activo (dev/review/research) |
315
+ | `/swl:sesiones` | Gestionar persistencia de sesiones de trabajo |
316
+ | `/swl:instintos` | Inspeccionar y gestionar instintos del sistema |
317
+ | `/swl:modelo` | Configurar modelo de IA por agente o globalmente |
318
+ | `/swl:metricas` | Ver métricas de sesión y productividad |
319
+ | `/swl:dashboard` | Dashboard histórico de uso multi-sesión (gráficas interactivas) |
320
+ | `/swl:revisar-impacto` | Análisis de impacto estructural: blast radius, risk score, comunidades |
321
+ | `/swl:evaluar-skill` | Evaluación formal de skills: 2 capas (estática + semántica), badges de calidad |
322
+ | `/swl:wiki` | Gestionar wiki de conocimiento del proyecto (init/ingest/query/lint) |
323
+ | `/swl:plugins` | Gestionar plugins y extensiones del sistema |
324
+ | `/swl:revisar` | Revisión de código por tecnología |
325
+ | `/swl:brainstorm` | Brainstorming estructurado |
326
+ | `/swl:ayuda` | Ayuda interactiva: catálogo, detalle de comando, búsqueda por keyword |
327
+ | `/swl:skill-search` | Buscar skills por keyword o dominio |
328
+ | `/swl:mcp-status` | Estado de servidores MCP conectados |
329
+ | `/swl:cron` | Gestionar tareas programadas |
330
+ | `/swl:gateway` | Configurar gateway multi-plataforma + modo relay bidireccional Telegram → Claude |
331
+ | `/swl:inbox` | Consumir comandos entrantes del gateway (enviados desde Telegram/Discord/webhook) |
332
+ | `/swl:reflect-skills` | Analizar historial JSONL para detectar patrones candidatos a skill/comando emergente |
333
+ | `/swl:contribuir` | Contribuir evoluciones al core (filtro dominio + PluginEval ≥80) |
334
+ | `/swl:exportar-vault` | Exportar resumen de sesión al vault personal (Obsidian u otro) |
335
+
336
+ Ver [COMANDOS.md](COMANDOS.md) para flags y opciones detalladas de cada comando.
337
+ Ver [MANUAL_USO.md](MANUAL_USO.md) para explicaciones prácticas de cada comando y guías de cuándo usarlos.
338
+
339
+ ## Arquitectura
340
+
341
+ ### Thin Orchestrator
342
+
343
+ ```
344
+ Comando (/swl:planear-fase)
345
+ +-> Cargar habilidad (planear-fase/SKILL.md)
346
+ +-> Spawn agente (planificador-swl) con contexto fresco
347
+ +-> Verificar resultado (revisor-codigo-swl)
348
+ +-> Actualizar estado (.planning/ESTADO.md)
349
+ ```
350
+
351
+ ### Estado en archivos (.planning/)
352
+
353
+ ```
354
+ .planning/
355
+ PROYECTO.md # Vision, contexto, objetivos
356
+ REQUISITOS.md # Requisitos con IDs (REQ-001...)
357
+ HOJA-RUTA.md # Fases con entregables y verificación
358
+ ESTADO.md # Estado actual, decisiones, riesgos
359
+ CONTEXTO.md # Modo de desarrollo activo
360
+ METRICAS.md # Métricas de sesión
361
+ research/ # Investigación del dominio
362
+ fases/ # Documentos por fase (CONTEXTO, PLAN, RESUMEN, VERIFICACION)
363
+ sessions/ # Persistencia de sesiones JSON
364
+ comms/ # Comunicación entre agentes
365
+ ```
366
+
367
+ ### Arquitectura de 4 capas
368
+
369
+ | Capa | Componente | Propósito |
370
+ |------|-----------|-----------|
371
+ | L1 | CLAUDE.md | Contexto persistente y reglas |
372
+ | L2 | Skills | Paquetes de conocimiento versionados |
373
+ | L3 | Hooks | Seguridad y automatización |
374
+ | L4 | Agents | Subagentes con contexto aislado |
375
+
376
+ ## Gateway bidireccional con Telegram (opt-in)
377
+
378
+ 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.
379
+
380
+ ### Flujo
381
+
382
+ ```
383
+ Telegram (móvil) → CommandRelay (valida) → .planning/inbox/cmd-*.json → /swl:inbox en Claude
384
+ o claude -p headless (auto)
385
+ ```
386
+
387
+ ### Protecciones del CommandRelay
388
+
389
+ - Whitelist de usuarios por plataforma (`relay.platforms.<nombre>.allowedUsers`)
390
+ - Rechazo de payload injection: `<script>`, `.env`, `id_rsa`, `.ssh/`, etc.
391
+ - Límite de 4000 chars por mensaje
392
+ - Rate limit: 10 msg/min por usuario (configurable)
393
+ - Dedup por hash SHA-1 en ventana de 30s
394
+ - Audit trail append-only en `.planning/inbox/audit.jsonl`
395
+
396
+ ### Modos de consumo
397
+
398
+ | Modo | Qué hace | Compatible |
399
+ |---|---|---|
400
+ | Portable (default) | Los mensajes se encolan; al ejecutar `/swl:inbox` en tu sesión Claude los procesas con juicio humano | Windows / Linux / macOS |
401
+ | 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 |
402
+ | tmux inject (opt-in) | Daemon `scripts/inbox-tmux-inject.js` inyecta a una sesión tmux con `tmux send-keys` | Linux / macOS |
403
+
404
+ Configuración en `manifiestos/gateway-config.json`. Ver [MANUAL_USO.md](MANUAL_USO.md) sección `/swl:gateway` para setup completo.
405
+
406
+ ## Skills bundled de Claude Code
407
+
408
+ Los agentes SWL pueden usar estos 17 skills que vienen con Claude Code:
409
+
410
+ `/pdf`, `/pptx`, `/docx`, `/xlsx`, `/frontend-design`, `/web-artifacts-builder`,
411
+ `/claude-api`, `/brand-guidelines`, `/skill-creator`, `/mcp-builder`,
412
+ `/webapp-testing`, `/internal-comms`, `/doc-coauthoring`, `/canvas-design`,
413
+ `/algorithmic-art`, `/theme-factory`, `/slack-gif-creator`
414
+
415
+ ## Modo _userland/
416
+
417
+ Coloca tus agentes y habilidades personalizados en `_userland/`:
418
+
419
+ ```
420
+ _userland/
421
+ agentes/
422
+ mi-agente-custom.md
423
+ habilidades/
424
+ mi-habilidad/
425
+ SKILL.md
426
+ ```
427
+
428
+ El instalador detecta `_userland/`, hace merge con los componentes core y da prioridad a tus archivos.
429
+
430
+ ## Publicación
431
+
432
+ El paquete se publica en dos registros (dual-publish):
433
+
434
+ | Registro | Paquete | Requiere auth |
435
+ |----------|---------|---------------|
436
+ | npmjs.org (canónico) | `@saulwade/swl-ses` | Solo para publicar |
437
+ | GitHub Packages (mirror) | `@saul-wade/swl-ses` | Para instalar y publicar |
438
+
439
+ ```bash
440
+ # Publicar a ambos registros
441
+ npm run publish:all
442
+
443
+ # Solo GitHub Packages
444
+ npm run publish:github
445
+
446
+ # Solo npmjs
447
+ npm run publish:npmjs
448
+
449
+ # Simular sin publicar
450
+ npm run publish:dry
451
+ ```
452
+
453
+ Ver [INSTALACION.md](INSTALACION.md) para configuración detallada de autenticación y publicación.
454
+
455
+ ## Verificación (doctor)
456
+
457
+ ```bash
458
+ npx @saulwade/swl-ses@latest doctor
459
+ ```
460
+
461
+ 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.
462
+
463
+ ## Estructura del repositorio
464
+
465
+ ```
466
+ swl-ses/
467
+ package.json # Paquete npm con bin swl-ses
468
+ plugin.json # Manifest para Claude Code plugin system
469
+ bin/swl-ses.js # CLI principal
470
+ scripts/ # Lógica del CLI
471
+ comandos/ # Handlers de subcomandos (skills, agents, info)
472
+ lib/ # Librerías compartidas
473
+ transformadores/ # Transformadores por target (claude, copilot, opencode, codex, gemini)
474
+ detectar-runtime.js # Detección de runtimes de IA
475
+ gestor-componentes.js # Gestión de skills y agentes individuales
476
+ resolver-externo.js # Resolución de repos Git y paths locales
477
+ hooks-settings.js # Registro de hooks en settings.json
478
+ estado.js # Estado de instalación (v3)
479
+ manifiestos.js # Resolución de perfiles/módulos
480
+ seguridad.js # Validaciones de seguridad
481
+ manifiestos/ # Perfiles y módulos de instalación
482
+ agentes/ # 60 agentes especializados
483
+ habilidades/ # 160 habilidades modulares
484
+ comandos/swl/ # 44 comandos slash
485
+ reglas/ # 25 reglas base + 40 por lenguaje
486
+ hooks/ # 41 hooks + 66 librerías en hooks/lib/
487
+ schemas/ # 15 JSON Schemas
488
+ contextos/ # 3 modos de desarrollo
489
+ instintos/ # Instintos YAML con confianza
490
+ plantillas/ # Templates para .planning/
491
+ gateway/ # Gateway multi-plataforma (adapters + CommandRelay)
492
+ adapters/ # Telegram, Discord, Slack, WhatsApp, Email, Webhook
493
+ command-relay.js # Receptor bidireccional con whitelist + validaciones
494
+ _userland/ # Personalización del usuario
495
+ CLAUDE.md # Fuente de verdad del sistema
496
+ COMANDOS.md # Referencia completa de comandos
497
+ MANUAL_USO.md # Guía práctica de uso por comando
498
+ INSTALACION.md # Guía de configuración y publicación
499
+ ```
500
+
501
+ ## ¿Por qué usar SWL? (Análisis y Ejemplo Práctico)
502
+
503
+ 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**.
504
+
505
+ ### Beneficios Principales
506
+
507
+ 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.
508
+ 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.
509
+ 3. **Desarrollo Metódico:** Fuerza un flujo de trabajo estructurado de *Planificar -> Ejecutar -> Verificar*.
510
+ 4. **Comandos Simplificados (`/swl:*`):** Automatiza flujos de trabajo masivos de desarrollo (ej. `/swl:planear-fase` o `/swl:auditar-deps`).
511
+ 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.
512
+
513
+ ### Ejemplo de Flujo de Trabajo Real
514
+
515
+ Un proyecto típico (ej. construir una App Fullstack) usando SWL sigue estos pasos:
516
+
517
+ 1. **Instalación y Setup inicial**
518
+ ```bash
519
+ npx @saulwade/swl-ses@latest init
520
+ npx @saulwade/swl-ses@latest install --target claude --profile fullstack-node-react
521
+ ```
522
+
523
+ 2. **Definición del Proyecto (Discovery)**
524
+ 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).
525
+
526
+ 3. **Planeación de la Arquitectura**
527
+ 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.
528
+
529
+ 4. **Ejecución de la Fase**
530
+ 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.
531
+
532
+ 5. **Revisión y Verificación**
533
+ 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.
534
+
535
+ 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.
536
+
537
+ ## Desarrollo
538
+
539
+ ### Tests
540
+
541
+ ```bash
542
+ npm test # tests unitarios con node:test nativo
543
+ npm run test:validate # Validación estructural del paquete
544
+ npm run test:all # Ambos
545
+ ```
546
+
547
+ ### CI/CD
548
+
549
+ 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.
550
+
551
+ 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.
552
+
553
+ ### Herramientas de mantenimiento
554
+
555
+ ```bash
556
+ npm run generate:docs # Regenera INVENTARIO.md y SALUD.md desde el disco
557
+ npm run field-report # Reporte de uso real de skills y agentes
558
+ ```
559
+
560
+ ## Licencia
561
+
562
562
  MIT