sdd-es 2.0.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 (101) hide show
  1. package/.claude/settings.json +51 -0
  2. package/.claude-plugin/marketplace.json +31 -0
  3. package/.claude-plugin/plugin.json +97 -0
  4. package/README.md +332 -0
  5. package/agents/arquitecto.md +148 -0
  6. package/agents/asesor-datos.md +163 -0
  7. package/agents/critico.md +142 -0
  8. package/agents/desarrollador-backend.md +242 -0
  9. package/agents/desarrollador-frontend.md +120 -0
  10. package/agents/disenador-api.md +108 -0
  11. package/agents/documentador.md +177 -0
  12. package/agents/investigador.md +174 -0
  13. package/agents/operaciones.md +105 -0
  14. package/agents/revisor.md +153 -0
  15. package/agents/seguridad.md +216 -0
  16. package/agents/tester.md +286 -0
  17. package/claude-hooks/post-write-conventions.js +412 -0
  18. package/claude-hooks/pre-tool-guard.js +159 -0
  19. package/cli/index.js +401 -0
  20. package/commands/sdd.aclarar.md +200 -0
  21. package/commands/sdd.analizar.md +241 -0
  22. package/commands/sdd.ayuda.md +227 -0
  23. package/commands/sdd.canary.md +60 -0
  24. package/commands/sdd.checklist.md +174 -0
  25. package/commands/sdd.comprimir.md +166 -0
  26. package/commands/sdd.configurar.md +195 -0
  27. package/commands/sdd.constitucion.md +343 -0
  28. package/commands/sdd.crear-app.md +168 -0
  29. package/commands/sdd.crear-mcp.md +174 -0
  30. package/commands/sdd.descubrir.md +269 -0
  31. package/commands/sdd.desplegar.md +155 -0
  32. package/commands/sdd.especificar.md +302 -0
  33. package/commands/sdd.estado.md +124 -0
  34. package/commands/sdd.glosario.md +108 -0
  35. package/commands/sdd.implementar.md +377 -0
  36. package/commands/sdd.importar.md +91 -0
  37. package/commands/sdd.mapear.md +120 -0
  38. package/commands/sdd.md +119 -0
  39. package/commands/sdd.planificar.md +372 -0
  40. package/commands/sdd.qa.md +108 -0
  41. package/commands/sdd.release.md +253 -0
  42. package/commands/sdd.retro.md +82 -0
  43. package/commands/sdd.snapshot.md +122 -0
  44. package/commands/sdd.tareas.md +300 -0
  45. package/commands/sdd.verificar.md +239 -0
  46. package/configuracion-ejemplo/hooks-ejemplo/antes_cada_tarea.sh +18 -0
  47. package/configuracion-ejemplo/hooks-ejemplo/antes_implementar.sh +45 -0
  48. package/configuracion-ejemplo/hooks-ejemplo/despues_especificar.sh +14 -0
  49. package/configuracion-ejemplo/hooks-ejemplo/despues_implementar.sh +36 -0
  50. package/configuracion-ejemplo/hooks-ejemplo/despues_planificar.sh +19 -0
  51. package/configuracion-ejemplo/hooks-ejemplo/guardia-seguridad.sh +367 -0
  52. package/configuracion-ejemplo/sdd.config.yaml +310 -0
  53. package/docs/AGENTES.md +74 -0
  54. package/docs/COMPRESION.md +155 -0
  55. package/docs/EJEMPLO-PRACTICA.md +383 -0
  56. package/docs/EJEMPLOS.md +212 -0
  57. package/docs/FABRICA.md +185 -0
  58. package/docs/FILOSOFIA.md +61 -0
  59. package/docs/FLUJO.md +149 -0
  60. package/docs/INICIO-RAPIDO.md +116 -0
  61. package/docs/MAPAS.md +113 -0
  62. package/docs/MODELOS.md +103 -0
  63. package/docs/PERSONALIZACION.md +152 -0
  64. package/instalar.ps1 +39 -0
  65. package/instalar.sh +22 -0
  66. package/mcp-figma/README.md +158 -0
  67. package/mcp-figma/package.json +7 -0
  68. package/mcp-figma/src/component-generator.js +162 -0
  69. package/mcp-figma/src/design-system-analyzer.js +247 -0
  70. package/mcp-figma/src/figma-client.js +75 -0
  71. package/mcp-figma/src/index.js +114 -0
  72. package/mcp-figma/src/mcp.js +97 -0
  73. package/mcp-figma/src/style-mapper.js +85 -0
  74. package/package.json +50 -0
  75. package/plantillas/analisis.md +57 -0
  76. package/plantillas/checklist-especificacion.md +66 -0
  77. package/plantillas/constitucion.md +104 -0
  78. package/plantillas/decision-arquitectura.md +39 -0
  79. package/plantillas/dependencias-mapa.md +89 -0
  80. package/plantillas/especificacion.md +108 -0
  81. package/plantillas/estructura-mapa.md +40 -0
  82. package/plantillas/glosario.md +22 -0
  83. package/plantillas/index-especificaciones.md +15 -0
  84. package/plantillas/mcp-server.md +147 -0
  85. package/plantillas/plan.md +152 -0
  86. package/plantillas/simbolos-mapa.md +57 -0
  87. package/plantillas/snapshot.md +54 -0
  88. package/plantillas/tareas.md +72 -0
  89. package/presets/enterprise.yaml +69 -0
  90. package/presets/lean.yaml +63 -0
  91. package/presets/startup.yaml +67 -0
  92. package/skills/compresion-tokens.md +264 -0
  93. package/skills/constitucion-constraint.md +78 -0
  94. package/skills/deteccion-stack.md +175 -0
  95. package/skills/enrutador-agentes.md +69 -0
  96. package/skills/gestion-estado.md +114 -0
  97. package/skills/indexador.md +199 -0
  98. package/skills/modo-guiado/SKILL.md +78 -0
  99. package/skills/orquestacion-ptc/SKILL.md +96 -0
  100. package/skills/validacion-spec.md +52 -0
  101. package/skills/verificador-implementacion.md +71 -0
@@ -0,0 +1,51 @@
1
+ {
2
+ "permissions": {
3
+ "deny": [
4
+ "Bash(git push --force*)",
5
+ "Bash(git push -f*)",
6
+ "Bash(git push* :*)",
7
+ "Bash(git reset --hard*)",
8
+ "Bash(git clean -f*)",
9
+ "Bash(git clean -xfd*)",
10
+ "Bash(rm -rf /*)",
11
+ "Bash(rm -rf ~*)",
12
+ "Bash(rm -rf .*)",
13
+ "Bash(cat .env)",
14
+ "Bash(cat .env.*)",
15
+ "Bash(type .env*)",
16
+ "Bash(DROP DATABASE*)",
17
+ "Bash(DROP SCHEMA*)",
18
+ "Bash(terraform destroy*)",
19
+ "Bash(kubectl delete namespace*)",
20
+ "Bash(npm publish*)",
21
+ "Bash(cargo publish*)",
22
+ "PowerShell(Get-Content .env*)",
23
+ "PowerShell(Remove-Item -Recurse -Force C:\\*)",
24
+ "PowerShell(Remove-Item -Recurse -Force /*)"
25
+ ]
26
+ },
27
+ "hooks": {
28
+ "PreToolUse": [
29
+ {
30
+ "matcher": "Bash|PowerShell",
31
+ "hooks": [
32
+ {
33
+ "type": "command",
34
+ "command": "node .claude/hooks/pre-tool-guard.js"
35
+ }
36
+ ]
37
+ }
38
+ ],
39
+ "PostToolUse": [
40
+ {
41
+ "matcher": "Write|Edit|MultiEdit",
42
+ "hooks": [
43
+ {
44
+ "type": "command",
45
+ "command": "node .claude/hooks/post-write-conventions.js"
46
+ }
47
+ ]
48
+ }
49
+ ]
50
+ }
51
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "name": "sdd-es-marketplace",
3
+ "owner": {
4
+ "name": "SDD-ES",
5
+ "url": "https://github.com/tu-usuario/sdd-es"
6
+ },
7
+ "metadata": {
8
+ "description": "Marketplace de SDD-ES — Spec-Driven Development en español para Claude Code.",
9
+ "version": "2.0.0"
10
+ },
11
+ "plugins": [
12
+ {
13
+ "name": "sdd-es",
14
+ "source": "./",
15
+ "description": "Fábrica de software agnóstica al stack: de la idea al despliegue, con 12 agentes especializados, mapas y compresión de tokens.",
16
+ "version": "2.0.0",
17
+ "author": {
18
+ "name": "SDD-ES"
19
+ },
20
+ "homepage": "https://github.com/tu-usuario/sdd-es",
21
+ "license": "MIT",
22
+ "keywords": [
23
+ "spec-driven-development",
24
+ "español",
25
+ "agentes",
26
+ "mcp",
27
+ "agnóstico-al-stack"
28
+ ]
29
+ }
30
+ ]
31
+ }
@@ -0,0 +1,97 @@
1
+ {
2
+ "name": "sdd-es",
3
+ "version": "2.0.0",
4
+ "description": "Spec-Driven Development en español. Fábrica de software agnóstica al stack: de la idea al despliegue. Con mapas y compresión de tokens.",
5
+ "homepage": "https://github.com/carlos060798/sdd-lite",
6
+ "repository": "https://github.com/carlos060798/sdd-lite",
7
+ "license": "MIT",
8
+ "instructions": "El usuario corre comandos /sdd.* para guiar el flujo SDD-ES. El plugin orquesta 12 agentes especializados.",
9
+
10
+ "commands": [
11
+ "sdd",
12
+ "sdd.constitucion",
13
+ "sdd.configurar",
14
+ "sdd.descubrir",
15
+ "sdd.especificar",
16
+ "sdd.importar",
17
+ "sdd.aclarar",
18
+ "sdd.checklist",
19
+ "sdd.planificar",
20
+ "sdd.tareas",
21
+ "sdd.analizar",
22
+ "sdd.implementar",
23
+ "sdd.qa",
24
+ "sdd.verificar",
25
+ "sdd.desplegar",
26
+ "sdd.canary",
27
+ "sdd.snapshot",
28
+ "sdd.retro",
29
+ "sdd.release",
30
+ "sdd.glosario",
31
+ "sdd.estado",
32
+ "sdd.mapear",
33
+ "sdd.comprimir",
34
+ "sdd.ayuda",
35
+ "sdd.crear-mcp",
36
+ "sdd.crear-app"
37
+ ],
38
+
39
+ "agents": [
40
+ "arquitecto",
41
+ "disenador-api",
42
+ "asesor-datos",
43
+ "desarrollador-backend",
44
+ "desarrollador-frontend",
45
+ "operaciones",
46
+ "tester",
47
+ "revisor",
48
+ "critico",
49
+ "seguridad",
50
+ "investigador",
51
+ "documentador"
52
+ ],
53
+
54
+ "skills": [
55
+ "deteccion-stack",
56
+ "gestion-estado",
57
+ "validacion-spec",
58
+ "enrutador-agentes",
59
+ "verificador-implementacion",
60
+ "indexador",
61
+ "compresion-tokens",
62
+ "constitucion-constraint",
63
+ "modo-guiado",
64
+ "orquestacion-ptc"
65
+ ],
66
+
67
+ "mcpServers": {
68
+ "sdd-figma": {
69
+ "description": "Integración con Figma para el agente desarrollador-frontend. Analiza el sistema de diseño local, trae componentes de Figma y genera código adaptado.",
70
+ "command": "node",
71
+ "args": ["{PLUGIN_DIR}/mcp-figma/dist/index.js"],
72
+ "requiredBy": ["desarrollador-frontend"],
73
+ "activatesOn": ["ui", "componente", "interfaz", "diseño", "vista", "figma", "layout"]
74
+ },
75
+ "navegador": {
76
+ "description": "Navegador real (Playwright) para QA E2E del comando /sdd.qa: ejecuta casos generados desde los Criterios de Aceptación en un navegador de verdad. Se usa un MCP existente, no se mantiene uno propio.",
77
+ "command": "npx",
78
+ "args": ["-y", "@playwright/mcp@latest"],
79
+ "requiredBy": ["tester"],
80
+ "activatesOn": ["qa", "navegador", "e2e", "prueba", "probar", "playwright"],
81
+ "opcional": true
82
+ }
83
+ },
84
+
85
+ "features": [
86
+ "Spec-Driven Development",
87
+ "12 agentes especializados",
88
+ "Integración Figma → código adaptado al design system local",
89
+ "Mapas de proyecto (ahorro de tokens)",
90
+ "Compresión caveman-like",
91
+ "Recomendaciones de modelos",
92
+ "Hooks personalizables",
93
+ "Instalador multiplataforma (npx sdd-es)",
94
+ "Totalmente editable (Markdown plano)",
95
+ "100% agnóstico al stack"
96
+ ]
97
+ }
package/README.md ADDED
@@ -0,0 +1,332 @@
1
+ # SDD-ES
2
+
3
+ > **Fábrica de software en español para Claude Code**
4
+ > De la idea al despliegue, agnóstica al stack, con estándares de ingeniería altos.
5
+
6
+ [![npm](https://img.shields.io/npm/v/sdd-es)](https://www.npmjs.com/package/sdd-es)
7
+ [![Node](https://img.shields.io/badge/node-%3E%3D18-brightgreen)](https://nodejs.org)
8
+ [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
9
+
10
+ ---
11
+
12
+ ## Instalación
13
+
14
+ Requiere **Node.js ≥ 18** y **Claude Code**.
15
+
16
+ ```bash
17
+ # Desde la carpeta de tu proyecto
18
+ npx sdd-es init
19
+ ```
20
+
21
+ Eso es todo. SDD-ES instala comandos, agentes, skills y hooks en `.claude/` y crea la estructura `.sdd/` en tu proyecto.
22
+
23
+ ### Opciones adicionales
24
+
25
+ ```bash
26
+ npx sdd-es init --global # instala para todos tus proyectos ($HOME/.claude)
27
+ npx sdd-es update # actualiza el núcleo sin tocar tu .sdd/ ni settings
28
+ npx sdd-es doctor # diagnostica la instalación
29
+ ```
30
+
31
+ ### Windows (PowerShell nativo)
32
+
33
+ ```powershell
34
+ .\instalar.ps1 # proyecto actual
35
+ .\instalar.ps1 -Global # global
36
+ # Si la política de ejecución lo bloquea:
37
+ powershell -ExecutionPolicy Bypass -File .\instalar.ps1
38
+ ```
39
+
40
+ ### macOS / Linux
41
+
42
+ ```bash
43
+ bash instalar.sh # proyecto actual
44
+ bash instalar.sh --global # global
45
+ ```
46
+
47
+ ---
48
+
49
+ ## Inicio rápido
50
+
51
+ Abre Claude Code en tu proyecto e inicia con lenguaje natural:
52
+
53
+ ```
54
+ /sdd quiero crear una app de lista de tareas
55
+ ```
56
+
57
+ El hub entiende tu intención y te guía al siguiente paso. Si es tu primer uso, detecta que no hay constitución y la crea automáticamente.
58
+
59
+ **Flujo completo en comandos:**
60
+
61
+ ```
62
+ /sdd.constitucion ← principios del proyecto (solo la primera vez)
63
+ /sdd.especificar [idea] ← captura qué quieres construir
64
+ /sdd.planificar ← plan técnico
65
+ /sdd.planificar aprobar ← confirmar el plan
66
+ /sdd.tareas ← desglose en tareas atómicas
67
+ /sdd.implementar ← agentes especializados lo construyen
68
+ /sdd.qa ← QA en navegador real
69
+ /sdd.verificar ← verificación final contra spec
70
+ /sdd.desplegar ← publica con health check
71
+ ```
72
+
73
+ ### Para no-programadores
74
+
75
+ SDD-ES tiene un **perfil guiado** que detecta o pregunta si eres nuevo en programación. En ese modo:
76
+
77
+ - No ves nombres de comandos ni jerga técnica
78
+ - El sistema elige el stack automáticamente
79
+ - Confirmas con "sí" entre cada paso
80
+ - Claude publica tu app en internet al final
81
+
82
+ Ver recorrido completo en [docs/FABRICA.md](docs/FABRICA.md).
83
+
84
+ ### Crear una app desde cero
85
+
86
+ ```
87
+ /sdd.crear-app quiero una app para anotar mis ideas diarias
88
+ ```
89
+
90
+ ### Crear una herramienta para Claude (servidor MCP)
91
+
92
+ ```
93
+ /sdd.crear-mcp quiero una herramienta que consulte el precio del dólar
94
+ ```
95
+
96
+ ---
97
+
98
+ ## Los 26 comandos
99
+
100
+ ### Inicialización
101
+
102
+ | Comando | Descripción |
103
+ |---------|-------------|
104
+ | `/sdd` | Hub central — entiende lenguaje natural y enruta al comando correcto |
105
+ | `/sdd.constitucion` | Establece principios, stack y restricciones del proyecto |
106
+ | `/sdd.configurar` | Ajusta agentes activos y modelos asignados |
107
+ | `/sdd.descubrir` | Extrae contexto de una idea vaga — punto de entrada para proyectos nuevos |
108
+ | `/sdd.ayuda` | Guía completa de todos los comandos |
109
+
110
+ ### Especificación
111
+
112
+ | Comando | Descripción |
113
+ |---------|-------------|
114
+ | `/sdd.especificar` | Convierte una intención en spec con criterios de aceptación testeables |
115
+ | `/sdd.importar` | Importa spec externa (URL, archivo) |
116
+ | `/sdd.aclarar` | Resuelve marcas `[NECESITA_ACLARACION]` de la spec |
117
+ | `/sdd.checklist` | Valida calidad formal de la spec |
118
+
119
+ ### Planificación e implementación
120
+
121
+ | Comando | Descripción |
122
+ |---------|-------------|
123
+ | `/sdd.planificar` | Genera plan técnico |
124
+ | `/sdd.tareas` | Desglosa el plan en tareas atómicas con agente asignado |
125
+ | `/sdd.analizar` | Auditoría cruzada constitución↔spec↔plan↔tareas (con PTC paralelo) |
126
+ | `/sdd.implementar` | Ejecuta tareas con agentes especializados (con PTC paralelo) |
127
+ | `/sdd.qa` | QA en navegador real desde los Criterios de Aceptación (Playwright) |
128
+ | `/sdd.verificar` | Verificación final contra la spec original |
129
+
130
+ ### Despliegue
131
+
132
+ | Comando | Descripción |
133
+ |---------|-------------|
134
+ | `/sdd.desplegar` | Gate de calidad → confirmación explícita → deploy → health check |
135
+ | `/sdd.canary` | Monitoreo post-deploy: rounds de health check con latencia |
136
+ | `/sdd.retro` | Retrospectiva del ciclo, registra aprendizajes en SNAPSHOT |
137
+
138
+ ### Fábrica (idea → producto instalable)
139
+
140
+ | Comando | Descripción |
141
+ |---------|-------------|
142
+ | `/sdd.crear-app` | Genera app web o CLI desde descripción en lenguaje natural |
143
+ | `/sdd.crear-mcp` | Genera servidor MCP empaquetado como `.mcpb` instalable |
144
+
145
+ ### Producto y dominio
146
+
147
+ | Comando | Descripción |
148
+ |---------|-------------|
149
+ | `/sdd.snapshot` | Actualiza SNAPSHOT.md con el estado actual del producto |
150
+ | `/sdd.glosario` | Gestiona términos del dominio |
151
+ | `/sdd.estado` | Dashboard de progreso |
152
+ | `/sdd.release` | Versión semántica + CHANGELOG desde specs completadas |
153
+
154
+ ### Utilidades
155
+
156
+ | Comando | Descripción |
157
+ |---------|-------------|
158
+ | `/sdd.mapear` | Indexa estructura, símbolos y dependencias (ahorra tokens) |
159
+ | `/sdd.comprimir` | Comprime archivos de memoria para reducir tokens por sesión |
160
+
161
+ ---
162
+
163
+ ## Los 12 agentes especializados
164
+
165
+ | Agente | Rol | Modelo recomendado |
166
+ |--------|-----|--------------------|
167
+ | `arquitecto` | Decisiones técnicas de alto nivel | opus |
168
+ | `disenador-api` | Contratos OpenAPI / GraphQL / gRPC | sonnet |
169
+ | `asesor-datos` | Esquemas, queries, índices, migraciones | opus |
170
+ | `desarrollador-backend` | Lógica de servidor, servicios, APIs | sonnet |
171
+ | `desarrollador-frontend` | UI, componentes, estado cliente | sonnet |
172
+ | `operaciones` | CI/CD, deploy, infraestructura | sonnet |
173
+ | `tester` | Tests unitarios, integración, E2E | sonnet |
174
+ | `revisor` | Revisión cruzada contra spec y constitución | opus |
175
+ | `critico` | Riesgos, puntos ciegos, devil's advocate | opus |
176
+ | `seguridad` | Auditoría de vulnerabilidades | opus |
177
+ | `investigador` | Stack existente, deuda técnica, patrones | sonnet |
178
+ | `documentador` | Documentación técnica útil | sonnet |
179
+
180
+ Cambia modelos y activa/desactiva agentes con `/sdd.configurar` o editando `.sdd/sdd.config.yaml`.
181
+
182
+ ---
183
+
184
+ ## Las 10 skills
185
+
186
+ | Skill | Formato | Qué hace |
187
+ |-------|---------|----------|
188
+ | `deteccion-stack` | `.md` | Detecta lenguaje, framework, plataforma de deploy |
189
+ | `gestion-estado` | `.md` | Lee y escribe `estado.json` con RAG en 3 capas |
190
+ | `validacion-spec` | `.md` | Verifica criterios de calidad de una spec |
191
+ | `enrutador-agentes` | `.md` | Asigna el agente correcto a cada tarea |
192
+ | `verificador-implementacion` | `.md` | Comprueba que el código cumple los CAs |
193
+ | `indexador` | `.md` | Genera mapas de estructura, símbolos y dependencias |
194
+ | `compresion-tokens` | `.md` | Reglas de compresión estilo caveman para Markdown |
195
+ | `constitucion-constraint` | `.md` | Aplica DEBE/NUNCA de la constitución como hard constraint |
196
+ | `modo-guiado` | `📁 SKILL.md` | Conduce el flujo sin jerga para no-programadores |
197
+ | `orquestacion-ptc` | `📁 SKILL.md` | Patrón PTC: despacha agentes en paralelo, −85% tokens |
198
+
199
+ ---
200
+
201
+ ## Estándares de ingeniería incluidos
202
+
203
+ ### Deploy verificado
204
+ `/sdd.desplegar` nunca declara éxito con el servicio caído:
205
+ 1. Gate duro: tests verdes + spec verificada + constitución cumplida + sin secretos
206
+ 2. Confirmación explícita obligatoria (el usuario escribe "desplegar")
207
+ 3. Deploy vía agente `operaciones` (Vercel / Railway / Fly.io / Docker / K8s)
208
+ 4. Health check post-deploy con latencia medida
209
+ 5. Registro de URL en `estado.json`
210
+
211
+ ### QA en navegador real
212
+ `/sdd.qa` genera casos E2E desde cada Criterio de Aceptación y los ejecuta en un navegador real vía Playwright MCP — no solo unitarios.
213
+
214
+ ### Orquestación PTC
215
+ `/sdd.implementar` y `/sdd.analizar` usan Programmatic Tool Calling para despachar agentes independientes en paralelo, aggregando solo PASA/FALLA + diff mínimo. Ahorro esperado: −70 a −85% de tokens en orquestación multi-agente.
216
+
217
+ ### Sprint estructurado
218
+
219
+ | Fase | Comandos |
220
+ |------|----------|
221
+ | Pensar | `/sdd.constitucion`, `/sdd.descubrir` |
222
+ | Planear | `/sdd.especificar`, `/sdd.aclarar`, `/sdd.planificar`, `/sdd.analizar` |
223
+ | Construir | `/sdd.implementar` |
224
+ | Revisar | `/sdd.verificar` |
225
+ | Probar | `/sdd.qa` |
226
+ | Publicar | `/sdd.desplegar`, `/sdd.canary` |
227
+ | Reflexionar | `/sdd.retro`, `/sdd.snapshot` |
228
+
229
+ Cada flecha tiene un control. No se construye sin spec; no se publica sin tests verdes y QA; no se cierra sin verificación independiente.
230
+
231
+ ---
232
+
233
+ ## Estructura generada en tu proyecto
234
+
235
+ ```
236
+ tu-proyecto/
237
+ ├── .claude/
238
+ │ ├── commands/sdd.*.md ← 26 comandos
239
+ │ ├── agents/*.md ← 12 agentes
240
+ │ ├── skills/ ← 10 skills (flat .md + carpetas SKILL.md)
241
+ │ └── hooks/ ← hooks de seguridad pre-instalados
242
+ └── .sdd/
243
+ ├── sdd.config.yaml ← configuración personalizable
244
+ ├── estado.json ← estado global del flujo
245
+ ├── INDICE.md
246
+ ├── SNAPSHOT.md
247
+ ├── memoria/
248
+ │ └── constitucion.md ← principios del proyecto
249
+ ├── dominio/glosario.md
250
+ ├── arquitectura/ ← ADRs
251
+ ├── hooks/ ← tus hooks personalizados
252
+ └── especificaciones/{ID}/
253
+ ├── spec.md
254
+ ├── plan.md
255
+ ├── tareas.md
256
+ ├── analisis.md
257
+ ├── qa.md
258
+ ├── verificacion.md
259
+ └── .estado-tareas.json
260
+ ```
261
+
262
+ ---
263
+
264
+ ## Personalización
265
+
266
+ Todo el plugin es Markdown plano. Personaliza editando archivos:
267
+
268
+ | Quieres cambiar… | Edita… |
269
+ |------------------|--------|
270
+ | Agentes activos / modelos | `.sdd/sdd.config.yaml` |
271
+ | Formato de spec / plan / tareas | `.sdd/plantillas/*.md` |
272
+ | Comportamiento de comandos | `.claude/commands/sdd.*.md` |
273
+ | Personalidad de agentes | `.claude/agents/*.md` |
274
+ | Integraciones (Git, Slack, CI…) | `.sdd/hooks/*.sh` |
275
+
276
+ ---
277
+
278
+ ## MCP integrado
279
+
280
+ SDD-ES declara dos servidores MCP en `plugin.json`:
281
+
282
+ | MCP | Cuándo se activa | Para qué |
283
+ |-----|-----------------|----------|
284
+ | `sdd-figma` | Tareas de UI con `figma_file_key` configurado | Extrae diseños de Figma y genera código adaptado al design system local |
285
+ | `navegador` (Playwright) | `/sdd.qa`, palabras clave `e2e`, `prueba` | QA en navegador real sin mantener un navegador propio |
286
+
287
+ ---
288
+
289
+ ## Ahorro de tokens
290
+
291
+ | Técnica | Ahorro estimado |
292
+ |---------|----------------|
293
+ | Mapas estáticos (`/sdd.mapear`) | −50 a −65k tokens por sesión |
294
+ | Compresión caveman (`/sdd.comprimir`) | −60 a −70% en archivos de memoria |
295
+ | RAG en 3 capas (estado.json → spec activa → constitución) | Carga solo lo necesario por fase |
296
+ | PTC paralelo (`orquestacion-ptc`) | −70 a −85% en orquestación multi-agente |
297
+
298
+ ---
299
+
300
+ ## Documentación
301
+
302
+ | Archivo | Contenido |
303
+ |---------|-----------|
304
+ | [docs/FABRICA.md](docs/FABRICA.md) | Recorrido idea→deploy para no-programadores |
305
+ | [docs/INICIO-RAPIDO.md](docs/INICIO-RAPIDO.md) | Primeros pasos |
306
+ | [docs/FLUJO.md](docs/FLUJO.md) | Sprint completo y diagrama del flujo |
307
+ | [docs/EJEMPLO-PRACTICA.md](docs/EJEMPLO-PRACTICA.md) | Ejemplo completo: API REST desde cero |
308
+ | [docs/AGENTES.md](docs/AGENTES.md) | Cuándo usar cada agente |
309
+ | [docs/MODELOS.md](docs/MODELOS.md) | Recomendaciones de modelos por rol |
310
+ | [docs/PERSONALIZACION.md](docs/PERSONALIZACION.md) | Guía exhaustiva de personalización |
311
+ | [docs/EJEMPLOS.md](docs/EJEMPLOS.md) | Ejemplos por stack |
312
+ | [docs/FILOSOFIA.md](docs/FILOSOFIA.md) | Qué es SDD y por qué funciona con IA |
313
+
314
+ ---
315
+
316
+ ## Filosofía
317
+
318
+ SDD-ES no impone — recomienda. Cada agente sugiere un modelo según la complejidad de su rol, pero la decisión es tuya. Para MVPs usa modelos rápidos; para producción crítica usa modelos potentes en los agentes de decisión.
319
+
320
+ **Sin acoplamiento a Git/GitHub/GitLab.** Tu flujo de control de versiones es tuyo. Si quieres integrar Git, hazlo desde hooks (`.sdd/hooks/*.sh`).
321
+
322
+ ---
323
+
324
+ ## Contribuir
325
+
326
+ El plugin está diseñado para ser forkeado y personalizado. Si mejoras algo genérico, abre un PR.
327
+
328
+ ---
329
+
330
+ ## Licencia
331
+
332
+ MIT — úsalo, modifícalo, compártelo libremente.
@@ -0,0 +1,148 @@
1
+ ---
2
+ description: Arquitecto de software senior. Toma decisiones técnicas de alto nivel, diseña estructuras y evalúa trade-offs. Se activa durante /sdd.planificar y en tareas de tipos/contratos durante /sdd.implementar.
3
+ model: opus
4
+ tools: Read, Grep, Glob, Bash
5
+ ---
6
+
7
+ # Agente: Arquitecto
8
+
9
+ Eres un arquitecto de software senior con experiencia profunda en múltiples stacks (Node.js, Python, Rust, Go, Java, .NET, Ruby, PHP). Tu especialidad es **diseñar sistemas correctamente desde el inicio** — las decisiones difíciles de revertir.
10
+
11
+ ## Skills obligatorios — leer antes de diseñar
12
+
13
+ ```bash
14
+ # CAPA 0 — siempre (~200 tokens)
15
+ cat .sdd/estado.json 2>/dev/null
16
+ cat .sdd/sdd.config.yaml 2>/dev/null | head -30
17
+
18
+ # CAPA 1 — si hay spec activa (~400 tokens)
19
+ SPEC_ID=$(grep -o '"especificacion_activa": "[^"]*"' .sdd/estado.json 2>/dev/null | cut -d'"' -f4)
20
+ [ -n "$SPEC_ID" ] && cat ".sdd/especificaciones/${SPEC_ID}/spec.md" 2>/dev/null
21
+
22
+ # CAPA 2 — contexto arquitectónico completo (solo para decisiones de diseño)
23
+ cat .sdd/memoria/constitucion.md 2>/dev/null
24
+ ls .sdd/arquitectura/ 2>/dev/null && cat .sdd/arquitectura/*.md 2>/dev/null
25
+ cat package.json pyproject.toml Cargo.toml go.mod pom.xml 2>/dev/null | head -20
26
+ find src -maxdepth 2 -type d 2>/dev/null | head -20
27
+ ```
28
+
29
+ **CRÍTICO — Constitutional AI Constraint**: la constitución es una restricción dura, no una guía. Antes de proponer cualquier decisión técnica, extrae los principios relevantes (ver skill `constitucion-constraint`) y verifica que tu propuesta no los viola. Si hay violación sin justificación técnica concreta, **no propongas la decisión** — reporta el conflicto al orquestador. Las desviaciones justificadas van en "Complejidad Justificada", nunca se silencian.
30
+
31
+ ---
32
+
33
+ ## Tu mentalidad
34
+
35
+ - **Simplicidad sobre elegancia**: el código más simple que resuelve el problema es el mejor diseño
36
+ - **Explícito sobre implícito**: prefiere código que dice lo que hace sobre magia/convención oculta
37
+ - **Reversibilidad**: evita decisiones de un solo sentido; cuando sean inevitables, documenta como ADR
38
+ - **Sin sobre-ingeniería**: no introduces abstracciones que no resuelven un problema actual
39
+ - **YAGNI riguroso**: "You Aren't Gonna Need It" — no implementes lo que la spec no pide
40
+
41
+ ---
42
+
43
+ ## Cuándo te activan
44
+
45
+ - Durante `/sdd.planificar`: diseñas la solución técnica completa
46
+ - Durante `/sdd.implementar` para tareas de fase A (tipos, interfaces, contratos)
47
+ - Cuando otro agente encuentra una decisión arquitectónica no cubierta por el plan
48
+
49
+ ---
50
+
51
+ ## Tu proceso
52
+
53
+ ### 1. Entender antes de diseñar
54
+
55
+ - Lee la spec completa
56
+ - Lee la constitución (sin excepciones)
57
+ - Explora código existente para entender patrones actuales
58
+ - Identifica restricciones técnicas no obvias
59
+
60
+ ### 2. Identificar puntos de decisión
61
+
62
+ Lista las decisiones técnicas no triviales:
63
+ - Estructura de capas (controllers, servicios, repositorios, etc.)
64
+ - Patrones de manejo de errores
65
+ - Estrategia de validación
66
+ - Manejo de configuración
67
+ - Estrategia de logging/observabilidad
68
+ - Cómo se inyectan dependencias
69
+ - Cómo se manejan transacciones
70
+
71
+ ### 3. Por cada decisión
72
+
73
+ 1. **Opciones reales** (2-3 alternativas usadas en el ecosistema)
74
+ 2. **Criterios** que aplican según la constitución y el contexto
75
+ 3. **Elección** + justificación técnica concreta (no "porque es mejor")
76
+ 4. **Trade-off** honesto (qué sacrificamos)
77
+ 5. **Cuándo revisitar** esta decisión
78
+
79
+ ### 4. Adaptar al stack
80
+
81
+ **SIEMPRE sigue los patrones EXISTENTES del proyecto antes que tus preferencias.**
82
+
83
+ | Stack | Patrones idiomáticos |
84
+ |---|---|
85
+ | **TypeScript/Node** | async/await, módulos ES, tipos estrictos, Result types sobre excepciones |
86
+ | **Python** | type hints, dataclasses/pydantic, context managers, excepciones específicas |
87
+ | **JavaScript** | async/await, módulos ES o CommonJS según proyecto, JSDoc si no hay TS |
88
+ | Rust | borrow checker, Result/Option, ownership clara, sin `.unwrap()` en prod |
89
+ | Go | interfaces pequeñas, errores como valores, sin frameworks heavyweight |
90
+ | Java/Kotlin | inmutabilidad, null safety, lambdas funcionales |
91
+ | .NET | async/await, DI nativa, LINQ |
92
+ | Ruby | convention over configuration, DSL legibles |
93
+ | PHP | type declarations, PSR estándares |
94
+
95
+ ---
96
+
97
+ ## Lo que produces
98
+
99
+ **Para `/sdd.planificar`:**
100
+ - Enfoque técnico
101
+ - Decisiones técnicas (tabla)
102
+ - Estructura de carpetas afectada
103
+ - Archivos afectados (alto nivel)
104
+ - Riesgos técnicos identificados
105
+
106
+ **Para tareas de fase A:**
107
+ - Tipos/interfaces siguiendo los patrones existentes del proyecto
108
+
109
+ ---
110
+
111
+ ## Lo que NO haces
112
+
113
+ - ❌ Introducir frameworks/librerías no aprobadas en el plan
114
+ - ❌ Cambiar el stack sin permiso explícito
115
+ - ❌ Crear abstracciones "para el futuro" — diseña para lo que la spec pide HOY
116
+ - ❌ Reescribir código existente que no toca la spec
117
+ - ❌ Decisiones contrarias a la constitución sin documentarlas en "Complejidad Justificada"
118
+ - ❌ Escribir código de implementación (eso es del desarrollador)
119
+
120
+ ---
121
+
122
+ ## Formato de salida
123
+
124
+ ```markdown
125
+ ## Decisión: [Nombre]
126
+
127
+ **Opciones consideradas:**
128
+ - A. [Opción] — [pros/contras]
129
+ - B. [Opción] — [pros/contras]
130
+
131
+ **Elegida:** A
132
+
133
+ **Justificación:** [2-3 frases técnicas concretas]
134
+
135
+ **Trade-off aceptado:** [qué sacrificamos]
136
+
137
+ **Cuándo revisitar:** [condición específica]
138
+ ```
139
+
140
+ ---
141
+
142
+ ## Estilo de respuesta (Caveman-Lite)
143
+
144
+ - ✅ Sin hedging ("creo que", "tal vez", "podría ser")
145
+ - ✅ Sin cortesía innecesaria
146
+ - ✅ Fragmentos OK en respuestas cortas
147
+ - ✅ Prosa completa en: advertencias, trade-offs, decisiones irreversibles
148
+ - ❌ NUNCA quita la sustancia técnica