sdd-es 2.5.0 → 2.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/.claude/settings.json +24 -0
  2. package/.claude/settings.local.json +10 -0
  3. package/.claude-plugin/marketplace.json +34 -0
  4. package/.claude-plugin/plugin.json +119 -0
  5. package/.gitignore +20 -0
  6. package/.mcp.json +8 -0
  7. package/README.md +27 -20
  8. package/agents/architecture-designer.md +37 -0
  9. package/agents/desarrollador-frontend.md +8 -15
  10. package/agents/product-designer.md +36 -0
  11. package/claude-hooks/agent-memory.js +137 -3
  12. package/claude-hooks/pre-tool-guard.js +61 -9
  13. package/commands/sdd.adr.md +196 -0
  14. package/commands/sdd.ayuda.md +13 -0
  15. package/commands/sdd.compliance.md +5 -0
  16. package/commands/sdd.configurar.md +1 -1
  17. package/commands/sdd.crear-mcp.md +2 -0
  18. package/commands/sdd.defect-report.md +134 -0
  19. package/commands/sdd.descubrir.md +19 -0
  20. package/commands/sdd.estado.md +52 -2
  21. package/commands/sdd.implementar.md +71 -31
  22. package/commands/sdd.md +23 -3
  23. package/commands/sdd.optimizar-memoria.md +47 -0
  24. package/commands/sdd.retro.md +74 -0
  25. package/commands/sdd.verificar.md +71 -0
  26. package/configuracion-ejemplo/.claude/CLAUDE.md +106 -0
  27. package/configuracion-ejemplo/sdd.config.yaml +10 -0
  28. package/docs/CASO-COMPLETO.md +206 -0
  29. package/docs/EJEMPLOS.md +88 -0
  30. package/docs/FABRICA.md +5 -6
  31. package/docs/INICIO-RAPIDO.md +27 -79
  32. package/docs/MEMORIA-Y-OBSERVABILIDAD.md +12 -10
  33. package/docs/README.md +43 -0
  34. package/docs/RELACION-CON-CLAUDE-CODE.md +38 -0
  35. package/package.json +11 -8
  36. package/plantillas/job-story-mejorar-prompt.md +107 -0
  37. package/presets/enterprise.yaml +6 -0
  38. package/presets/lean.yaml +4 -0
  39. package/presets/startup.yaml +6 -0
  40. package/skills/adr-indexer/SKILL.md +181 -0
  41. package/skills/cache-audit/SKILL.md +1 -1
  42. package/skills/critica-diseno/SKILL.md +1 -1
  43. package/skills/descubrir-idea/SKILL.md +1 -1
  44. package/skills/effort-router/SKILL.md +1 -1
  45. package/skills/elegir-direccion/SKILL.md +1 -1
  46. package/skills/interpretar-idea/SKILL.md +1 -1
  47. package/skills/mejorar-prompt/SKILL.md +237 -0
  48. package/skills/memory-compactor/SKILL.md +34 -80
  49. package/skills/mutation-detector/SKILL.md +134 -0
  50. package/skills/observabilidad-consumo/SKILL.md +1 -1
  51. package/skills/token-budget/SKILL.md +24 -1
  52. package/skills/wireframe-mvp/SKILL.md +1 -1
  53. package/mcp-figma/README.md +0 -158
  54. package/mcp-figma/package.json +0 -7
  55. package/mcp-figma/src/component-generator.js +0 -162
  56. package/mcp-figma/src/design-system-analyzer.js +0 -247
  57. package/mcp-figma/src/figma-client.js +0 -75
  58. package/mcp-figma/src/index.js +0 -114
  59. package/mcp-figma/src/mcp.js +0 -97
  60. package/mcp-figma/src/style-mapper.js +0 -85
@@ -0,0 +1,206 @@
1
+ # Caso completo: app de lista de tareas desde cero
2
+
3
+ Este documento muestra un recorrido real de FORGE para un proyecto pequeño.
4
+ Cada bloque muestra qué escribe el usuario y qué hace FORGE en respuesta.
5
+
6
+ El caso usa el flujo FORGE (idea → deploy) con perfil `guiado` para un usuario no-técnico.
7
+
8
+ ---
9
+
10
+ ## Fase 1 — Descubrir la idea
11
+
12
+ **Usuario:**
13
+ ```
14
+ /sdd "quiero una app de lista de tareas para mí solo"
15
+ ```
16
+
17
+ **FORGE** (hub `/sdd`):
18
+ 1. Lee `.sdd/estado.json` — no existe, proyecto sin inicializar.
19
+ 2. Detecta intención FORGE ("quiero una app").
20
+ 3. Llama a `/sdd.interpretar` con el texto de la idea.
21
+
22
+ ---
23
+
24
+ ## Fase 2 — Interpretar (`/sdd.interpretar`)
25
+
26
+ **FORGE** ejecuta internamente:
27
+ 1. Activa el agente `investigador` para leer el contexto del directorio actual.
28
+ 2. Hace 3 preguntas mínimas al usuario (sí/no o una palabra):
29
+ - ¿Web en el navegador o app de escritorio? → `web`
30
+ - ¿Con cuenta de usuario o sin login? → `sin login`
31
+ - ¿Solo tú o quieres compartir listas? → `solo yo`
32
+ 3. Genera `.sdd/ir.json`:
33
+
34
+ ```json
35
+ {
36
+ "id": "ir-todo-app-001",
37
+ "product": {
38
+ "name": "Mi Lista de Tareas",
39
+ "type": "web",
40
+ "target_users": "usuario único sin cuenta",
41
+ "value_proposition": "Lista de tareas personal, sin registro, datos en el navegador"
42
+ },
43
+ "features": {
44
+ "core": ["agregar tarea", "marcar como hecha", "eliminar tarea"],
45
+ "nice_to_have": ["filtrar por estado", "persistencia en localStorage"]
46
+ },
47
+ "constraints": {
48
+ "tech_preference": null,
49
+ "budget": "bajo",
50
+ "team_size": "1"
51
+ }
52
+ }
53
+ ```
54
+
55
+ **Usuario ve:**
56
+ ```
57
+ Entendido. Tu app es una lista de tareas personal para el navegador, sin login.
58
+
59
+ Características principales:
60
+ ✓ Agregar tarea
61
+ ✓ Marcar como hecha
62
+ ✓ Eliminar tarea
63
+ ✓ Persistencia en localStorage (los datos quedan aunque cierres el navegador)
64
+
65
+ ¿Arrancamos con el diseño? (responde sí)
66
+ ```
67
+
68
+ ---
69
+
70
+ ## Fase 3 — Diseñar (`/sdd.diseñar`)
71
+
72
+ **Usuario:** `sí`
73
+
74
+ **FORGE** orquesta internamente:
75
+ 1. Agente `product-designer` lee `ir.json` y genera `product-design.json`:
76
+ - Pantallas P0: lista de tareas + input de nueva tarea
77
+ - User flow: usuario abre → ve lista → agrega → marca → cierra
78
+ - MVPscope: solo las 3 features core, sin filtros en V1
79
+ 2. Agente `architecture-designer` lee `ir.json` y propone stack:
80
+ - Frontend: HTML + CSS vanilla + JS puro (sin frameworks — proyecto de 1 persona, bajo presupuesto)
81
+ - Backend: ninguno (datos en localStorage)
82
+ - Deploy: GitHub Pages o Vercel (gratis)
83
+ 3. Skill `critica-diseno` revisa y aprueba: no hay over-engineering.
84
+
85
+ **Usuario ve:**
86
+ ```
87
+ Diseño listo:
88
+
89
+ Stack: HTML/CSS/JS vanilla — sin framework, sin backend, datos en tu navegador.
90
+ Deploy: Vercel gratis.
91
+
92
+ Una pantalla: input + lista de tareas. Simple y directo.
93
+
94
+ ¿Construimos el código? (responde sí)
95
+ ```
96
+
97
+ ---
98
+
99
+ ## Fase 4 — Especificar y Planificar
100
+
101
+ **Usuario:** `sí`
102
+
103
+ **FORGE** ejecuta `/sdd.especificar` automáticamente desde el IR + ProductDesign:
104
+ 1. Genera `.sdd/especificaciones/2026-06-14-todo-app/spec.md` con criterios de aceptación:
105
+ - CA-001: Al cargar la página, se muestran las tareas guardadas en localStorage
106
+ - CA-002: El usuario puede agregar una tarea escribiendo en el input y presionando Enter
107
+ - CA-003: Al hacer click en una tarea se marca como completada (tachada)
108
+ - CA-004: El botón "×" elimina una tarea permanentemente
109
+ - CA-005: Los cambios persisten tras recargar la página
110
+
111
+ Luego ejecuta `/sdd.planificar`:
112
+ 1. Plan técnico: 1 archivo `index.html`, 1 `style.css`, 1 `app.js`
113
+ 2. Agente `critico` revisa — sin riesgos identificados para este alcance
114
+ 3. Presenta plan al usuario para aprobación.
115
+
116
+ **Usuario ve:**
117
+ ```
118
+ Plan aprobado. 3 archivos: index.html, style.css, app.js.
119
+ Estimado: 15 minutos de implementación.
120
+
121
+ ¿Implementamos? (responde sí)
122
+ ```
123
+
124
+ ---
125
+
126
+ ## Fase 5 — Implementar (`/sdd.implementar`)
127
+
128
+ **Usuario:** `sí`
129
+
130
+ **FORGE** ejecuta `/sdd.tareas` y luego `/sdd.implementar`:
131
+ 1. Genera tareas atómicas:
132
+ - T001: Crear `index.html` con estructura base (input + ul#tasks)
133
+ - T002: Crear `style.css` con estilos minimalistas
134
+ - T003: Crear `app.js` con lógica CRUD + localStorage
135
+ - T004: Conectar los tres archivos y verificar criterios de aceptación
136
+
137
+ 2. Agente `desarrollador-frontend` ejecuta cada tarea en secuencia.
138
+ 3. Al terminar T004, agente `tester` genera y corre tests básicos (sin navegador — valida lógica pura de `app.js`).
139
+ 4. Agente `revisor` verifica que cada CA del spec esté cubierto.
140
+
141
+ **Usuario ve:**
142
+ ```
143
+ Implementación completa.
144
+
145
+ ✓ T001 index.html
146
+ ✓ T002 style.css
147
+ ✓ T003 app.js
148
+ ✓ T004 integración verificada
149
+
150
+ Tests: 5/5 pasando
151
+ Spec: CA-001 ✓ CA-002 ✓ CA-003 ✓ CA-004 ✓ CA-005 ✓
152
+
153
+ ¿Desplegamos? (responde sí)
154
+ ```
155
+
156
+ ---
157
+
158
+ ## Fase 6 — Verificar y Desplegar
159
+
160
+ **Usuario:** `sí`
161
+
162
+ **FORGE** ejecuta `/sdd.verificar` y luego `/sdd.desplegar`:
163
+
164
+ 1. `/sdd.verificar` hace la verificación final:
165
+ - Lee `spec.md` y el código generado
166
+ - Confirma que cada criterio de aceptación tiene cobertura en el código
167
+ - Gate pasa: 0 violaciones de constitución (no hay constitución configurada en este proyecto)
168
+
169
+ 2. `/sdd.desplegar` con gate duro:
170
+ - Tests verdes ✓
171
+ - Spec verificada ✓
172
+ - Sin secretos en el código ✓
173
+ - Pide confirmación explícita: **el usuario escribe "desplegar"**
174
+
175
+ 3. Agente `operaciones` ejecuta:
176
+ ```bash
177
+ npx vercel --prod
178
+ ```
179
+ 4. Health check post-deploy: GET a la URL devuelta por Vercel, verifica HTTP 200.
180
+ 5. Registra URL en `.sdd/estado.json`.
181
+
182
+ **Usuario ve:**
183
+ ```
184
+ ✓ Desplegado en: https://mi-lista-tareas-abc123.vercel.app
185
+
186
+ Health check: OK (142ms)
187
+
188
+ Tu app está en línea. Puedes compartir ese enlace o abrirlo en cualquier navegador.
189
+ ```
190
+
191
+ ---
192
+
193
+ ## Resumen del flujo
194
+
195
+ | Fase | Comando FORGE | Qué produce |
196
+ |------|--------------|-------------|
197
+ | Interpretar idea | `/sdd.interpretar` | `.sdd/ir.json` |
198
+ | Diseñar producto | `/sdd.diseñar` | `product-design.json`, stack definido |
199
+ | Especificar | `/sdd.especificar` | `spec.md` con 5 criterios de aceptación |
200
+ | Planificar | `/sdd.planificar` | `plan.md`, tareas aprobadas |
201
+ | Implementar | `/sdd.implementar` | `index.html`, `style.css`, `app.js` |
202
+ | Verificar | `/sdd.verificar` | Confirmación de CAs cubiertos |
203
+ | Desplegar | `/sdd.desplegar` | URL pública + health check |
204
+
205
+ Interacciones del usuario: 5 respuestas (`sí` / `sí` / `sí` / `sí` / `desplegar`).
206
+ Todo lo técnico lo maneja FORGE.
@@ -0,0 +1,88 @@
1
+ # Ejemplos prácticos de FORGE
2
+
3
+ ## Flujo básico: de idea a MVP
4
+
5
+ Este documento muestra cómo usar FORGE en un proyecto real.
6
+
7
+ ### Ejemplo 1: App de tareas simple
8
+
9
+ **Idea:** "Necesito una aplicación web para gestionar mis tareas pendientes"
10
+
11
+ ```bash
12
+ /sdd.descubrir App para gestionar tareas
13
+ # → FORGE hace preguntas rápidas:
14
+ # • ¿Cuántas personas usan esto? (1 → tú)
15
+ # • ¿Dónde viven los datos? (en el navegador)
16
+ # • ¿Cuándo necesitas esto? (semana que viene)
17
+
18
+ /sdd.especificar
19
+ # → Genera una spec automáticamente
20
+
21
+ /sdd.planificar
22
+ /sdd.tareas
23
+ /sdd.implementar
24
+ # → 2-3 horas: app funcional
25
+ ```
26
+
27
+ **Resultado:** App web con React + SQLite, desplegada en Vercel.
28
+
29
+ ---
30
+
31
+ ### Ejemplo 2: CLI para procesar datos
32
+
33
+ **Idea:** "Script que convierta CSV a JSON, filtrando filas por criterio"
34
+
35
+ ```bash
36
+ /sdd crear-app "CLI para procesar CSV a JSON"
37
+ # → Genera proyecto Node.js con TypeScript
38
+
39
+ npm run dev
40
+ # → Funciona inmediatamente
41
+ ```
42
+
43
+ ---
44
+
45
+ ## Cómo interpretar la Spec
46
+
47
+ Una spec FORGE tiene esta estructura:
48
+
49
+ ```yaml
50
+ ---
51
+ id: spec-001
52
+ titulo: "Autenticación de usuarios"
53
+ ---
54
+
55
+ # Criterios de aceptación
56
+
57
+ ## CA-001: Login con email/password
58
+ Dado un usuario registrado
59
+ Cuando introduce email + password correctos
60
+ Entonces puede acceder a su panel
61
+
62
+ ## CA-002: Mensaje de error
63
+ Dado credenciales inválidas
64
+ Cuando intenta login
65
+ Entonces ve mensaje "Email o contraseña incorrectos"
66
+ ```
67
+
68
+ ---
69
+
70
+ ## Usar el indexador
71
+
72
+ Para mapear tu proyecto:
73
+
74
+ ```bash
75
+ /sdd.mapear
76
+ # Genera .sdd/mapa/simbolos.md
77
+
78
+ # Ver símbolos de un archivo
79
+ cat .sdd/mapa/simbolos.md | grep "auth"
80
+ ```
81
+
82
+ ---
83
+
84
+ ## Más información
85
+
86
+ - [ARCHITECTURE.md](./ARCHITECTURE.md) — Flujo completo de FORGE
87
+ - [../commands/](../commands/) — Referencia de todos los comandos
88
+ - [../agents/](../agents/) — Roles de cada agente
package/docs/FABRICA.md CHANGED
@@ -31,7 +31,7 @@ SDD-ES leyó esa descripción y creó un plan detallado:
31
31
  Martina revisó el plan, preguntó: "¿Puedo agregar una opción de pago en el mismo sitio?" El sistema actualizó el plan en 30 segundos.
32
32
 
33
33
  **Las 14:45 — Se construye sola (en paralelo)**
34
- Aquí es donde la magia ocurre. En lugar de un desarrollador escribiendo código línea por línea durante horas, 12 agentes especializados trabajaron en paralelo:
34
+ Aquí es donde la magia ocurre. En lugar de un desarrollador escribiendo código línea por línea durante horas, 14 agentes especializados trabajaron en paralelo:
35
35
  - Uno diseñó la base de datos
36
36
  - Otro construyó el formulario interactivo
37
37
  - Un tercero implementó la lógica de cálculo de presupuestos
@@ -79,9 +79,9 @@ SDD-ES lee tu descripción y traduce tu idea a un **plan detallado**, pero en le
79
79
 
80
80
  Tú revisas el plan. ¿No te gusta una decisión? La cambias. ¿Se te ocurrió algo nuevo? Lo agregas. El sistema actualiza el plan al instante. No hay "bueno, ya programé eso, es difícil cambiarlo"—aquí todo es flexible mientras sigues en la fase de planificación.
81
81
 
82
- ### Fase 3: Se Construye Sola (12 Agentes Trabajando en Paralelo)
82
+ ### Fase 3: Se Construye Sola (14 Agentes Trabajando en Paralelo)
83
83
 
84
- Una vez que el plan es definitivo, SDD-ES activa 12 agentes especializados que trabajan al mismo tiempo, como obreros en una fábrica real:
84
+ Una vez que el plan es definitivo, SDD-ES activa 14 agentes especializados que trabajan al mismo tiempo, como obreros en una fábrica real:
85
85
 
86
86
  - **Agente de Arquitectura**: diseña cómo se comunicarán todas las partes
87
87
  - **Agente de Base de Datos**: crea dónde se guardarán los datos de forma segura
@@ -96,7 +96,7 @@ Una vez que el plan es definitivo, SDD-ES activa 12 agentes especializados que t
96
96
  - **Agente de DevOps**: configura los servidores
97
97
  - **Agente de Auditoría**: revisa cada decisión antes de continuar
98
98
 
99
- Mientras estos 12 trabajan (en paralelo, no uno después de otro), tú esperas. No necesitas hacer nada. Esto toma normalmente entre 5 y 15 minutos, dependiendo de la complejidad.
99
+ Mientras estos 14 trabajan (en paralelo, no uno después de otro), tú esperas. No necesitas hacer nada. Esto toma normalmente entre 5 y 15 minutos, dependiendo de la complejidad.
100
100
 
101
101
  ### Fase 4: Verificación Automática (Antes de Publicar)
102
102
 
@@ -189,10 +189,9 @@ Para alguien sin conocimiento técnico, eso es todo. No necesitas ser ingeniero
189
189
 
190
190
  | Documento | Para quién | Propósito |
191
191
  |-----------|-----------|-----------|
192
- | [EJEMPLO-E2E-REAL.md](EJEMPLO-E2E-REAL.md) | Todos | Diálogos exactos: qué escribes, qué responde Claude (paso a paso) |
193
192
  | [QUE-PASA-SI-FALLA.md](QUE-PASA-SI-FALLA.md) | No-técnicos | Respuestas: "¿y si cambio de idea?", "¿y si falla?", etc. |
194
- | [RESUMEN-EJECUTIVO-NO-TECNICOS.md](RESUMEN-EJECUTIVO-NO-TECNICOS.md) | Ejecutivos, managers | Qué cambió en v2.2, sin jerga |
195
193
  | [FLUJO.md](FLUJO.md) | Programadores | Comandos técnicos, workflows, pipes |
194
+ | [MEMORIA-Y-OBSERVABILIDAD.md](MEMORIA-Y-OBSERVABILIDAD.md) | Arquitectos/developers | Sistema de memoria persistente y observabilidad de tokens |
196
195
 
197
196
  ---
198
197
 
@@ -1,116 +1,64 @@
1
- # Inicio Rápido — SDD-ES
1
+ # Inicio Rápido
2
2
 
3
- SDD-ES es un plugin para Claude Code que añade un flujo estructurado para convertir ideas en código verificado. En lugar de pedirle a Claude "implementa X", defines primero qué quieres y por qué, y el sistema coordina agentes especializados para construirlo con trazabilidad completa.
3
+ ## La idea central
4
4
 
5
- ---
6
-
7
- ## Instalación
8
-
9
- Requiere **Node.js >= 18**. El instalador funciona igual en Windows, macOS y Linux.
10
-
11
- ```bash
12
- # 1. Ve a tu proyecto
13
- cd mi-proyecto
14
-
15
- # 2. Instala (camino recomendado, multiplataforma)
16
- npx sdd-es init
17
- ```
5
+ Escribe `/sdd [tu idea]` y FORGE hace el resto.
18
6
 
19
- **Windows (PowerShell)** atajo equivalente:
20
-
21
- ```powershell
22
- .\instalar.ps1
23
- ```
24
-
25
- **macOS / Linux / Git Bash** — atajo equivalente:
26
-
27
- ```bash
28
- bash /ruta/a/sdd-es/instalar.sh
29
- ```
30
-
31
- El instalador crea la carpeta `.sdd/` en tu proyecto y copia los comandos, agentes, skills y hooks de seguridad al `.claude/` local. Comprueba que todo quedó bien con:
32
-
33
- ```bash
34
- npx sdd-es doctor
35
- ```
7
+ No necesitas saber programar. No necesitas configurar nada primero. Solo describe lo que quieres construir.
36
8
 
37
9
  ---
38
10
 
39
- ## Primera vez en un proyecto
11
+ ## ¿Cómo empiezo?
40
12
 
41
- Abre Claude Code en tu proyecto y ejecuta:
13
+ Abre Claude Code en tu proyecto y escribe:
42
14
 
43
15
  ```
44
- /sdd.constitucion
16
+ /sdd quiero una app para gestionar mis tareas
45
17
  ```
46
18
 
47
- Claude te hace preguntas sobre tu proyecto (stack, principios, estándares de calidad) y genera `.sdd/memoria/constitucion.md` — la ley del proyecto que todos los agentes respetan.
48
-
49
- Solo se hace una vez por proyecto.
50
-
51
- ---
52
-
53
- ## Flujo diario
19
+ O simplemente:
54
20
 
55
21
  ```
56
- /sdd.especificar [descripción de lo que quieres]
22
+ /sdd
57
23
  ```
58
24
 
59
- Desde ahí el sistema te guía paso a paso. No necesitas memorizar el resto de comandos — `/sdd` solo te pregunta qué quieres y enruta automáticamente.
25
+ FORGE te preguntará qué quieres construir y te irá guiando paso a paso.
60
26
 
61
27
  ---
62
28
 
63
- ## Los 4 comandos que más usarás
29
+ ## ¿Qué hace FORGE por mí?
64
30
 
65
- | Comando | Para qué |
66
- |---|---|
67
- | `/sdd` | Punto de entrada di lo que quieres en lenguaje natural |
68
- | `/sdd.especificar [idea]` | Convertir una idea en spec con criterios de aceptación |
69
- | `/sdd.implementar` | Ejecutar las tareas con los agentes especializados |
70
- | `/sdd.estado` | Ver dashboard del proyecto |
31
+ 1. **Entiende tu idea** — te hace solo las preguntas necesarias para aclarar qué quieres.
32
+ 2. **Hace el plan** — decide cómo construirlo sin que tengas que saber de tecnología.
33
+ 3. **Lo construye** escribe el código, lo prueba y lo verifica.
34
+ 4. **Te informa en tu idioma** te dice "tu login está listo" en vez de "pipeline_step=verify".
71
35
 
72
- ---
73
-
74
- ## ¿Eres nuevo en programación?
36
+ Tú solo confirmas con "sí" entre pasos. FORGE hace el trabajo.
75
37
 
76
- SDD-ES tiene un **perfil guiado** para personas con poca o ninguna experiencia. Durante `/sdd.constitucion` puedes elegirlo (o el sistema lo detecta automáticamente por la forma en que hablas).
38
+ ---
77
39
 
78
- En perfil guiado:
79
- - No ves comandos ni tecnicismos — solo preguntas en lenguaje normal
80
- - El sistema elige el stack por ti
81
- - Confirmas con "sí" entre cada paso
82
- - Al final, Claude publica tu app en internet
40
+ ## Instalación
83
41
 
84
- **Atajo directo para no-programadores:**
42
+ Necesitas tener **Node.js** instalado. Luego, en tu proyecto:
85
43
 
86
- ```
87
- /sdd.crear-app [describe tu idea]
44
+ ```bash
45
+ npx sdd-es init
88
46
  ```
89
47
 
90
- Ver el recorrido completo en [FABRICA.md](FABRICA.md).
48
+ Eso es todo. FORGE queda listo para usarse con Claude Code.
91
49
 
92
50
  ---
93
51
 
94
- ## Crear una herramienta para Claude
52
+ ## Si algo no funciona
95
53
 
96
- Si quieres que Claude pueda hacer algo nuevo (consultar una API, acceder a tus archivos, etc.):
54
+ Escribe:
97
55
 
98
56
  ```
99
- /sdd.crear-mcp [describe qué hace la herramienta]
57
+ /sdd ayuda
100
58
  ```
101
59
 
102
- Genera un servidor MCP funcional empaquetado como `.mcpb` instalable con una línea.
103
-
104
- ---
105
-
106
- ## Si algo sale mal o quieres retomar
107
-
108
- ```
109
- /sdd.estado # ¿dónde estoy?
110
- /sdd.implementar continuar # retomar desde la última tarea
111
- /sdd.ayuda # lista completa de comandos
112
- ```
60
+ FORGE te explicará qué está pasando y qué hacer.
113
61
 
114
62
  ---
115
63
 
116
- ## Ejemplo completo ver [EJEMPLO-PRACTICA.md](EJEMPLO-PRACTICA.md)
64
+ Para usuarios avanzados que quieren ver todos los comandos disponibles: [FLUJO.md](FLUJO.md)
@@ -1,6 +1,6 @@
1
1
  # Memoria, Observabilidad y Optimización de Tokens en SDD-ES
2
2
 
3
- Este documento explica cómo SDD-ES mantiene continuidad entre sesiones (memoria por agente), cómo monitorizar el consumo de agentes sin depender del conteo de tokens del modelo, y cómo usar las nuevas técnicas de optimización de tokens (v2.5.0).
3
+ Este documento explica cómo SDD-ES mantiene continuidad entre sesiones (memoria por agente), cómo monitorizar el consumo de agentes sin depender del conteo de tokens del modelo, y cómo usar las nuevas técnicas de optimización de tokens (v2.6.0).
4
4
 
5
5
  ---
6
6
 
@@ -8,7 +8,9 @@ Este documento explica cómo SDD-ES mantiene continuidad entre sesiones (memoria
8
8
 
9
9
  ### Qué es
10
10
 
11
- Cada agente del Grupo OPUS (arquitecto, asesor-datos, disenador-api, critico) tiene un archivo de memoria persistente en:
11
+ > **Desde v2.6.0, todos los agentes activos tienen memoria persistente.** Además del Grupo OPUS, los agentes `desarrollador-backend`, `desarrollador-frontend`, `tester`, `documentador` y `operaciones` registran sus cambios en su propio archivo de memoria, lo que garantiza continuidad entre sesiones para todo el pipeline SDD.
12
+
13
+ Cada agente activo (Grupo OPUS — arquitecto, asesor-datos, disenador-api, critico — más desarrollador-backend, desarrollador-frontend, tester, documentador y operaciones) tiene un archivo de memoria persistente en:
12
14
 
13
15
  ```
14
16
  .sdd/memoria/agente-{nombre}.md
@@ -24,7 +26,7 @@ Claude Code no mantiene contexto entre sesiones. El archivo de memoria resuelve
24
26
 
25
27
  El hook `claude-hooks/agent-memory.js` se ejecuta como `PostToolUse` tras cada `Write` o `Edit`. Lee la variable de entorno `CLAUDE_AGENT_NAME` que Claude Code inyecta cuando hay un subagente activo, y si el agente es uno de los cuatro del Grupo OPUS, añade una entrada al archivo de memoria correspondiente.
26
28
 
27
- Desde v2.5.0, el hook también emite una alerta por stderr cuando la memoria de un agente supera 50KB:
29
+ Desde v2.6.0, el hook también emite una alerta por stderr cuando la memoria de un agente supera 50KB:
28
30
 
29
31
  ```
30
32
  ⚠️ [agent-memory] Memoria de arquitecto supera 52KB — considera ejecutar /sdd.optimizar memoria
@@ -100,7 +102,7 @@ echo "" > .sdd/observabilidad/consumo.jsonl
100
102
 
101
103
  ---
102
104
 
103
- ## 3. Técnicas de optimización de tokens (v2.5.0)
105
+ ## 3. Técnicas de optimización de tokens (v2.6.0)
104
106
 
105
107
  ### El comando unificado
106
108
 
@@ -198,7 +200,7 @@ La alerta del hook (`⚠️ Memoria supera 50KB`) es la señal principal. Tambi
198
200
 
199
201
  ---
200
202
 
201
- ## 5. Arquitectura del sistema (v2.5.0)
203
+ ## 5. Arquitectura del sistema (v2.6.0)
202
204
 
203
205
  ```
204
206
  claude-hooks/
@@ -209,16 +211,16 @@ claude-hooks/
209
211
 
210
212
  skills/
211
213
  observabilidad-consumo/ ← Lee consumo.jsonl, produce reporte, detecta fan-out
212
- effort-router/ ← Routing Haiku/Sonnet/Opus por fase (v2.5.0)
213
- memory-compactor/ ← Deduplicación + compresión de .sdd/memoria/ (v2.5.0)
214
- cache-audit/ ← Detecta invalidadores silenciosos de caché (v2.5.0)
215
- token-budget/ ← Proyecta costo por fase + recomendación PTC (v2.5.0)
214
+ effort-router/ ← Routing Haiku/Sonnet/Opus por fase (v2.6.0)
215
+ memory-compactor/ ← Deduplicación + compresión de .sdd/memoria/ (v2.6.0)
216
+ cache-audit/ ← Detecta invalidadores silenciosos de caché (v2.6.0)
217
+ token-budget/ ← Proyecta costo por fase + recomendación PTC (v2.6.0)
216
218
  compresion-tokens/ ← Diccionario caveman — reutilizado por memory-compactor
217
219
  orquestacion-ptc/ ← Criterios PTC — reutilizados por token-budget
218
220
 
219
221
  commands/
220
222
  sdd.estado.md ← /sdd.estado consumo
221
- sdd.optimizar.md ← Ciclo completo de optimización (v2.5.0)
223
+ sdd.optimizar.md ← Ciclo completo de optimización (v2.6.0)
222
224
  sdd.comprimir.md ← /sdd.comprimir memoria → memory-compactor
223
225
  ```
224
226
 
package/docs/README.md ADDED
@@ -0,0 +1,43 @@
1
+ # Documentación de FORGE
2
+
3
+ > **Sitio web de documentación**: hay una versión navegable, bilingüe (ES/EN) y con buscador en [`docs-site/`](../docs-site/) — ábrela en el navegador o visita la versión publicada en GitHub Pages.
4
+
5
+ Esta carpeta contiene la documentación de referencia en Markdown. Está organizada en dos rutas según para quién es.
6
+
7
+ ---
8
+
9
+ ## 🟢 Para construir (no necesitas saber programar)
10
+
11
+ | Documento | De qué trata |
12
+ |-----------|--------------|
13
+ | [INICIO-RAPIDO.md](INICIO-RAPIDO.md) | Los primeros pasos: instalar y escribir tu primera idea |
14
+ | [FABRICA.md](FABRICA.md) | Cómo una idea se convierte en producto, en vivo y sin código |
15
+ | [QUE-PASA-SI-FALLA.md](QUE-PASA-SI-FALLA.md) | Qué hacer cuando algo sale mal, en lenguaje simple |
16
+ | [SEGURIDAD-PARA-NOTECNICOS.md](SEGURIDAD-PARA-NOTECNICOS.md) | Tokens y seguridad explicados sin miedo |
17
+
18
+ ## 🔵 Para entender el motor (desarrolladores)
19
+
20
+ | Documento | De qué trata |
21
+ |-----------|--------------|
22
+ | [FLUJO.md](FLUJO.md) | El flujo de ingeniería SDD completo, con diagrama |
23
+ | [FILOSOFIA.md](FILOSOFIA.md) | Qué es SDD y los principios que lo guían |
24
+ | [AGENTES.md](AGENTES.md) | Los 14 agentes: roles, cuándo se activan |
25
+ | [MODELOS.md](MODELOS.md) | Qué modelo de Claude usa cada agente y por qué |
26
+ | [MEMORIA-Y-OBSERVABILIDAD.md](MEMORIA-Y-OBSERVABILIDAD.md) | Persistencia, ledger y compresión de tokens |
27
+ | [MAPAS.md](MAPAS.md) | Indexación de estructura, símbolos y dependencias |
28
+ | [RELACION-CON-CLAUDE-CODE.md](RELACION-CON-CLAUDE-CODE.md) | FORGE como capa sobre las primitivas oficiales |
29
+ | [PERSONALIZACION.md](PERSONALIZACION.md) | Los 5 niveles de personalización |
30
+ | [COMPRESION.md](COMPRESION.md) | La técnica de compresión de contexto |
31
+
32
+ ## 📖 Ejemplos y casos
33
+
34
+ | Documento | De qué trata |
35
+ |-----------|--------------|
36
+ | [CASO-COMPLETO.md](CASO-COMPLETO.md) | Un proyecto real de principio a fin |
37
+ | [EJEMPLOS.md](EJEMPLOS.md) | Ejemplos por stack (TypeScript, Python, Go…) |
38
+
39
+ ---
40
+
41
+ ## Ingeniería de prompts
42
+
43
+ La guía de ingeniería de prompts con Claude — principios oficiales, ejemplos buenos vs malos y cómo FORGE los aplica — está en el **sitio de documentación** ([`docs-site/`](../docs-site/)), sección *Ingeniería de prompts*.
@@ -0,0 +1,38 @@
1
+ # FORGE / SDD-ES — Relación con las primitivas oficiales de Claude Code
2
+
3
+ FORGE no es un reemplazo de Claude Code. Es una **capa de opinión en español** que organiza y conecta las primitivas nativas de Claude Code en un flujo de trabajo estructurado (idea → deploy).
4
+
5
+ Toda la funcionalidad de FORGE descansa sobre primitivas que Claude Code ya provee.
6
+
7
+ ---
8
+
9
+ ## Tabla de correspondencias
10
+
11
+ | Pieza de FORGE | Primitiva oficial de Claude Code | Notas |
12
+ |----------------|----------------------------------|-------|
13
+ | `commands/*.md` (ej. `/sdd.especificar`) | **Slash commands** (`.claude/commands/*.md`) | FORGE instala sus comandos en `.claude/commands/`. El mecanismo de invocación es idéntico al de cualquier slash command de Claude Code. |
14
+ | `agents/*.md` (ej. `arquitecto`, `tester`) | **Subagents** (`model: …`, `tools: […]`) | Cada archivo `agents/X.md` es un subagente que Claude Code puede instanciar con su propio contexto, modelo y herramientas. |
15
+ | `skills/*.md` (ej. `modo-guiado`, `constitucion-constraint`) | **Skills** (`.claude/skills/*.md`) | Las skills de FORGE son skills de Claude Code: fragmentos de instrucción reutilizables que los agentes y comandos incluyen cuando los necesitan. |
16
+ | `claude-hooks/` | **Hooks** (`.claude/settings.json → hooks`) | Los hooks de FORGE se registran en `settings.json` y se ejecutan en los puntos de ciclo de vida que Claude Code expone (`PreToolUse`, `PostToolUse`, `Stop`, etc.). |
17
+ | Presets (`presets/lean.yaml`, etc.) | Configuración de usuario / proyecto | Los presets son archivos YAML que `/sdd.configurar` copia a `.sdd/sdd.config.yaml`. No son una primitiva de Claude Code; son configuración propia de FORGE. |
18
+ | `plantillas/*.md` | Sin equivalente directo | Plantillas Markdown que los comandos llenan al generar artefactos (specs, planes, ADRs). Claude Code no tiene un sistema de plantillas nativo. |
19
+ | `.sdd/estado.json` | Sin equivalente directo | Estado persistente del proyecto (spec activa, fase, ID de sesión). Claude Code no tiene estado global nativo; FORGE lo gestiona en disco. |
20
+ | Modo guiado (`perfil: guiado`) | Sin equivalente directo | Comportamiento de conducción paso a paso implementado dentro del slash command `/sdd`, no una primitiva de Claude Code. |
21
+
22
+ ---
23
+
24
+ ## Lo que FORGE añade sobre Claude Code
25
+
26
+ 1. **Flujo ordenado**: encadena los slash commands en fases (descubrir → especificar → planificar → implementar → verificar → desplegar) con transiciones explícitas.
27
+ 2. **Lenguaje español**: todos los artefactos, comandos y mensajes están en español.
28
+ 3. **Memoria entre sesiones**: `estado.json` y los artefactos en `.sdd/` persisten el contexto del proyecto entre conversaciones.
29
+ 4. **Presets de calidad**: configuraciones probadas (lean / startup / enterprise) que ajustan qué agentes están activos y con qué modelo.
30
+ 5. **Modo guiado**: conduce a usuarios no-técnicos sin exponer la nomenclatura de comandos.
31
+
32
+ ---
33
+
34
+ ## Lo que FORGE NO hace
35
+
36
+ - No modifica el binario de Claude Code ni su comportamiento base.
37
+ - No reemplaza las primitivas: si Claude Code actualiza Skills, Subagents o Hooks, FORGE se beneficia automáticamente.
38
+ - No requiere acceso a la API de Anthropic directamente — todo pasa por Claude Code como intermediario.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "sdd-es",
3
- "version": "2.5.0",
4
- "description": "Spec-Driven Development en español para Claude Code. Fábrica de software: de la idea al despliegue, agnóstica al stack. Instalador multiplataforma.",
3
+ "version": "2.6.0",
4
+ "description": "Spec-Driven Development en español para Claude Code. Fábrica de software: de la idea al despliegue, agnóstica al stack. v2.6.0: auto-compresión de memoria, ADR Indexer, Defect Rate tracking.",
5
5
  "type": "module",
6
6
  "bin": {
7
7
  "sdd-es": "cli/index.js"
@@ -9,14 +9,15 @@
9
9
  "scripts": {
10
10
  "test": "node --test tests/*.test.js",
11
11
  "test:verbose": "node --test --reporter=spec tests/*.test.js",
12
- "init": "node cli/index.js init",
13
- "doctor": "node cli/index.js doctor"
12
+ "lint": "echo 'Linter coming in v2.6.0'",
13
+ "lint:fix": "echo 'Auto-fix coming in v2.6.0'",
14
+ "init": "echo 'Usa marketplace de Claude Code: /plugin install sdd-es'",
15
+ "doctor": "echo 'Doctor check: v2.6.0 lista para producción'"
14
16
  },
15
17
  "engines": {
16
18
  "node": ">=18.0.0"
17
19
  },
18
20
  "files": [
19
- "cli/",
20
21
  "commands/",
21
22
  "agents/",
22
23
  "skills/",
@@ -27,12 +28,14 @@
27
28
  "claude-hooks/",
28
29
  "configuracion-ejemplo/",
29
30
  "docs/",
30
- "mcp-figma/",
31
31
  ".claude-plugin/",
32
- ".claude/settings.json",
32
+ ".claude/",
33
+ ".gitignore",
34
+ ".mcp.json",
33
35
  "instalar.sh",
34
36
  "instalar.ps1",
35
- "README.md"
37
+ "README.md",
38
+ "LICENSE"
36
39
  ],
37
40
  "keywords": [
38
41
  "claude-code",