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,241 @@
1
+ ---
2
+ description: Verifica consistencia y cobertura cruzada entre constitución, spec, plan y tareas. Detecta huecos, contradicciones y violaciones antes de implementar.
3
+ allowed-tools: Read, Write, Bash
4
+ handoffs:
5
+ - etiqueta: "Corregir hallazgos"
6
+ comando: sdd.planificar
7
+ prompt: "revisar"
8
+ - etiqueta: "Implementar"
9
+ comando: sdd.implementar
10
+ ---
11
+
12
+ # /sdd.analizar — Auditoría de Consistencia
13
+
14
+ Eres el **Auditor de Consistencia**. Cruzas los 4 artefactos (constitución, spec, plan, tareas) buscando incoherencias antes de que se conviertan en bugs o retrabajo.
15
+
16
+ ## PASO 1 — Cargar TODOS los artefactos
17
+
18
+ ```bash
19
+ SPEC_ID=$(grep -o '"especificacion_activa": "[^"]*"' .sdd/estado.json | cut -d'"' -f4)
20
+ SPEC_DIR=".sdd/especificaciones/${SPEC_ID}"
21
+
22
+ cat .sdd/memoria/constitucion.md
23
+ cat "${SPEC_DIR}/spec.md"
24
+ cat "${SPEC_DIR}/plan.md"
25
+ cat "${SPEC_DIR}/tareas.md"
26
+ cat "${SPEC_DIR}/.estado-tareas.json"
27
+ cat .sdd/dominio/glosario.md 2>/dev/null
28
+ ls .sdd/arquitectura/ 2>/dev/null
29
+ ```
30
+
31
+ ## PASO 1.5 — Despacho PTC de dimensiones
32
+
33
+ Las 7 dimensiones de auditoría son **independientes entre sí** — cada una lee los mismos artefactos sin modificarlos. Esto las hace candidatas ideales para PTC (skill `orquestacion-ptc`).
34
+
35
+ **Si hay ≥3 agentes disponibles para ejecutar el análisis en paralelo:**
36
+
37
+ ```javascript
38
+ // Bloque PTC — analiza dimensiones en paralelo
39
+ const dimensiones = [
40
+ { id: "D1", titulo: "Constitución ↔ Plan", artefactos: [constitucion, plan] },
41
+ { id: "D2", titulo: "Spec ↔ Plan", artefactos: [spec, plan] },
42
+ { id: "D3", titulo: "Plan ↔ Tareas", artefactos: [plan, tareas] },
43
+ { id: "D4", titulo: "Spec ↔ Tareas (CAs)", artefactos: [spec, tareas] },
44
+ { id: "D5", titulo: "Tareas internas", artefactos: [tareas] },
45
+ { id: "D6", titulo: "Glosario", artefactos: [spec, plan, tareas, glosario] },
46
+ { id: "D7", titulo: "Config de agentes", artefactos: [tareas, config] }
47
+ ];
48
+
49
+ const resultados = await Promise.all(
50
+ dimensiones.map(d => Task("critico", analizarDimension(d)))
51
+ );
52
+
53
+ // Agrega solo hallazgos — sin el razonamiento intermedio
54
+ return resultados.map((r, i) => ({
55
+ dimension: dimensiones[i].id,
56
+ bloqueantes: r.hallazgos.filter(h => h.severidad === "bloqueante"),
57
+ observaciones: r.hallazgos.filter(h => h.severidad === "observacion"),
58
+ ok: r.hallazgos.length === 0
59
+ }));
60
+ ```
61
+
62
+ **Fallback secuencial** — Si PTC no está disponible: analizar dimensión por dimensión con el PASO 2 estándar. El resultado es idéntico.
63
+
64
+ ---
65
+
66
+ ## PASO 2 — Análisis cruzado por dimensión
67
+
68
+ ### Dimensión 1 — Constitución ↔ Plan
69
+ Verifica:
70
+ - [ ] El plan respeta CADA principio fundamental
71
+ - [ ] Las restricciones arquitectónicas no se violan
72
+ - [ ] Los estándares de calidad están reflejados en las decisiones
73
+ - [ ] Si hay desviaciones, están en sección "Complejidad Justificada" con razón válida
74
+
75
+ ### Dimensión 2 — Spec ↔ Plan
76
+ - [ ] Cada Requisito Funcional (RF-*) tiene contraparte técnica en el plan
77
+ - [ ] Cada Requisito No Funcional (rendimiento, seguridad, etc.) está abordado
78
+ - [ ] Los actores definidos en la spec tienen capa de autorización en el plan
79
+ - [ ] Los escenarios de error de la spec están manejados en el plan
80
+ - [ ] Las exclusiones explícitas de la spec NO aparecen en el plan
81
+ - [ ] Los términos del dominio se usan consistentemente
82
+
83
+ ### Dimensión 3 — Plan ↔ Tareas
84
+ - [ ] Cada archivo del plan (CREAR/MODIFICAR/ELIMINAR) tiene al menos una tarea
85
+ - [ ] Las decisiones técnicas del plan se aplican en las tareas correctas
86
+ - [ ] Las dependencias entre archivos se respetan en el orden de tareas
87
+ - [ ] La estrategia de tests del plan está cubierta por tareas concretas
88
+ - [ ] Las dependencias nuevas tienen una tarea de "agregar dependencia X"
89
+ - [ ] Cada riesgo tiene una tarea de mitigación o se acepta explícitamente
90
+
91
+ ### Dimensión 4 — Spec ↔ Tareas (cobertura inversa)
92
+ - [ ] **Cada CA está cubierto por al menos una tarea** (la matriz de cobertura)
93
+ - [ ] **Cada Historia de Usuario tiene tareas que la implementan**
94
+ - [ ] No hay tareas "huérfanas" que no rastrean a ningún requisito
95
+ - [ ] Los criterios de éxito medibles tienen una tarea de instrumentación/observabilidad
96
+
97
+ ### Dimensión 5 — Tareas internas
98
+ - [ ] El grafo de dependencias no tiene ciclos
99
+ - [ ] Cada tarea tiene un criterio de verificación concreto
100
+ - [ ] Cada tarea tiene un agente responsable asignado
101
+ - [ ] El agente asignado existe y está activo en config
102
+ - [ ] El orden de fases es lógico (tipos antes que usos, tests antes que código si TDD)
103
+
104
+ ### Dimensión 6 — Glosario
105
+ - [ ] Términos del dominio usados en spec/plan/tareas existen en glosario
106
+ - [ ] No hay sinónimos (mismo concepto, palabras diferentes)
107
+ - [ ] Términos nuevos están registrados o pendientes de registrar
108
+
109
+ ### Dimensión 7 — Configuración de agentes
110
+ - [ ] Todos los agentes referenciados en tareas están activos
111
+ - [ ] Los modelos asignados tienen sentido para la complejidad de la tarea
112
+ - [ ] No hay tareas críticas (seguridad, BD) asignadas a modelos pequeños
113
+
114
+ ## PASO 3 — Generar reporte
115
+
116
+ Crea `.sdd/especificaciones/{ID}/analisis.md`:
117
+
118
+ ```markdown
119
+ ---
120
+ spec_id: {SPEC_ID}
121
+ fecha_analisis: {FECHA}
122
+ veredicto: APROBADO | OBSERVACIONES | BLOQUEADO
123
+ ---
124
+
125
+ # Análisis de Consistencia: {SPEC_ID}
126
+
127
+ ## Veredicto: **{VEREDICTO}**
128
+
129
+ [1-2 frases de resumen ejecutivo]
130
+
131
+ ## Hallazgos
132
+
133
+ ### 🔴 Bloqueantes (deben resolverse antes de implementar)
134
+
135
+ #### B1 — [Título]
136
+ - **Dimensión:** [cuál]
137
+ - **Descripción:** [qué inconsistencia se detectó]
138
+ - **Ubicación:** [archivo:sección]
139
+ - **Impacto si se ignora:** [qué pasaría]
140
+ - **Acción sugerida:** [qué hacer]
141
+
142
+ #### B2 — [...]
143
+
144
+ ### 🟡 Observaciones (recomendable corregir)
145
+
146
+ #### O1 — [Título]
147
+ - [mismo formato pero impacto menor]
148
+
149
+ ### 🟢 Buenas señales
150
+
151
+ - [Áreas donde se hizo bien]
152
+
153
+ ## Matriz de Cobertura: CAs → Tareas
154
+
155
+ | CA | Descripción | Tareas que lo cubren | Estado |
156
+ |----|-------------|---------------------|--------|
157
+ | CA-001-01 | [texto] | T001, T005 | ✅ |
158
+ | CA-001-02 | [texto] | — | ❌ NO CUBIERTO |
159
+ | CA-002-01 | [texto] | T003 | ✅ |
160
+
161
+ ## Matriz de Cobertura: Riesgos → Mitigaciones
162
+
163
+ | Riesgo (plan) | Prob × Imp | Mitigación (tarea) | Estado |
164
+ |---------------|-----------|---------------------|--------|
165
+ | R1 | A × A | T004 | ✅ |
166
+ | R2 | M × A | — | ⚠️ Sin mitigación |
167
+
168
+ ## Cumplimiento de Constitución
169
+
170
+ | Principio | Cumple en plan | Cumple en tareas | Notas |
171
+ |-----------|---------------|------------------|-------|
172
+ | Principio I | ✅ | ✅ | — |
173
+ | Principio II | ⚠️ | ✅ | Ver decisión #3 del plan |
174
+
175
+ ## Distribución de Carga de Agentes
176
+
177
+ | Agente | Tareas asignadas | % del total |
178
+ |--------|------------------|-------------|
179
+ | arquitecto | [N] | [%] |
180
+ | desarrollador-backend | [N] | [%] |
181
+ | ... | ... | ... |
182
+
183
+ ## Recomendaciones
184
+
185
+ 1. [Acción concreta priorizada]
186
+ 2. [Acción concreta]
187
+ 3. [Acción concreta]
188
+
189
+ ## Sugerencia de comando siguiente
190
+
191
+ `/sdd.[comando recomendado]`
192
+ ```
193
+
194
+ ## PASO 4 — Determinar veredicto
195
+
196
+ **APROBADO**: 0 bloqueantes. Cualquier número de observaciones.
197
+
198
+ **OBSERVACIONES**: 0 bloqueantes pero hay observaciones importantes. Se puede implementar pero con conciencia.
199
+
200
+ **BLOQUEADO**: ≥1 bloqueante. NO se debe implementar hasta corregir.
201
+
202
+ ## PASO 5 — Acción según veredicto
203
+
204
+ **APROBADO:**
205
+ ```
206
+ ✅ Análisis: APROBADO
207
+ 📁 .sdd/especificaciones/{ID}/analisis.md
208
+
209
+ [N] observaciones menores documentadas (no bloquean).
210
+
211
+ SIGUIENTE PASO:
212
+ /sdd.implementar — ejecutar tareas
213
+ ```
214
+
215
+ **OBSERVACIONES:**
216
+ ```
217
+ 🟡 Análisis: CON OBSERVACIONES
218
+ 📁 .sdd/especificaciones/{ID}/analisis.md
219
+ ⚠️ [N] observaciones (no bloquean)
220
+
221
+ Puedes implementar, pero revisa primero el reporte.
222
+ Si quieres corregir antes:
223
+ /sdd.planificar revisar — ajustar plan
224
+ /sdd.tareas — regenerar tareas
225
+ ```
226
+
227
+ **BLOQUEADO:**
228
+ ```
229
+ 🔴 Análisis: BLOQUEADO
230
+ 📁 .sdd/especificaciones/{ID}/analisis.md
231
+ ❌ [N] bloqueantes — NO implementes todavía
232
+
233
+ ACCIONES REQUERIDAS:
234
+ [Lista priorizada de qué hacer]
235
+
236
+ Empieza con:
237
+ /sdd.[comando del primer bloqueante]
238
+ ```
239
+
240
+ ---
241
+ **HOOK:** `.sdd/hooks/despues_analizar.sh`
@@ -0,0 +1,227 @@
1
+ ---
2
+ description: Guía completa del plugin SDD-ES con todos los comandos, flujos, agentes y referencias de personalización.
3
+ allowed-tools: Read
4
+ ---
5
+
6
+ # /sdd.ayuda — Guía Completa
7
+
8
+ Muestra esta guía formateada:
9
+
10
+ ```
11
+ ╔══════════════════════════════════════════════════════════════════════╗
12
+ ║ SDD-ES — Desarrollo Guiado por Especificaciones ║
13
+ ║ Plugin para Claude Code | v2.0.0 ║
14
+ ║ ║
15
+ ║ Inspirado en github/spec-kit y LiorCohen/sdd. En español. ║
16
+ ║ Agnóstico al stack. Completamente personalizable. ║
17
+ ╚══════════════════════════════════════════════════════════════════════╝
18
+
19
+ ═══════════════════════════════════════════════════════════════════════
20
+ 📚 COMANDOS DISPONIBLES
21
+ ═══════════════════════════════════════════════════════════════════════
22
+
23
+ 🏗️ INICIALIZACIÓN
24
+ /sdd Hub central — entiende lenguaje natural
25
+ /sdd.descubrir [idea] Extrae contexto mínimo de una idea vaga — punto de entrada para proyectos nuevos
26
+ /sdd.constitucion Establece principios del proyecto
27
+ /sdd.configurar Ajusta agentes y modelos
28
+ /sdd.configurar preset:lean Configuración para proyectos personales y prototipos
29
+ /sdd.configurar preset:startup Configuración para equipos pequeños
30
+ /sdd.configurar preset:enterprise Configuración para productos críticos con compliance
31
+ /sdd.ayuda Esta guía
32
+
33
+ 📝 ESPECIFICACIÓN
34
+ /sdd.especificar [descripción] Capturar requisitos en formato SDD-ES
35
+ /sdd.importar [fuente] Importar spec externa (URL, archivo)
36
+ /sdd.aclarar Resolver [NECESITA_ACLARACION]
37
+ /sdd.checklist Validar calidad formal de la spec
38
+
39
+ 🛠️ PLANIFICACIÓN E IMPLEMENTACIÓN
40
+ /sdd.planificar Generar plan técnico
41
+ /sdd.planificar aprobar Aprobar el plan
42
+ /sdd.tareas Desglosar en tareas atómicas
43
+ /sdd.analizar Auditoría de consistencia (RECOMENDADO)
44
+ /sdd.implementar Ejecutar todas las tareas
45
+ /sdd.implementar T003 Ejecutar tarea específica
46
+ /sdd.implementar continuar Retomar desde última tarea incompleta
47
+ /sdd.qa QA en navegador real desde los criterios de aceptación
48
+ /sdd.verificar Verificación final contra spec
49
+
50
+ 🚀 DESPLIEGUE
51
+ /sdd.desplegar Publicar con verificación previa + health check
52
+ /sdd.canary Vigilar el servicio recién desplegado
53
+ /sdd.retro Retrospectiva: capturar aprendizajes del ciclo
54
+
55
+ 🗺️ PRODUCTO Y DOMINIO
56
+ /sdd.snapshot Actualizar SNAPSHOT.md del producto
57
+ /sdd.glosario Gestionar términos del dominio
58
+ /sdd.estado Dashboard de progreso
59
+ /sdd.release Versión semántica + CHANGELOG desde specs completadas
60
+ /sdd.release patch|minor|major Forzar tipo de versión manualmente
61
+ /sdd.release --preview Ver qué entraría sin modificar nada
62
+
63
+ 🏭 FÁBRICA (idea → producto instalable)
64
+ /sdd.crear-app [idea] Generar app web o CLI desde una descripción en lenguaje natural
65
+ /sdd.crear-mcp [descripción] Generar servidor MCP empaquetado (.mcpb) desde una descripción
66
+
67
+ ⚙️ UTILIDADES
68
+ /sdd.mapear Indexar estructura, símbolos y dependencias del proyecto
69
+ /sdd.comprimir Comprimir archivos de memoria para ahorrar tokens
70
+
71
+ ═══════════════════════════════════════════════════════════════════════
72
+ 🔄 FLUJOS RECOMENDADOS
73
+ ═══════════════════════════════════════════════════════════════════════
74
+
75
+ FLUJO DESDE CERO (idea vaga, proyecto nuevo, sin nada definido)
76
+ /sdd.descubrir [idea] → genera contexto base con preguntas mínimas
77
+ /sdd.constitucion → principios y restricciones del proyecto
78
+ /sdd.especificar → usa el contexto para generar la spec
79
+ /sdd.planificar → /sdd.tareas → /sdd.implementar
80
+
81
+ FLUJO MÍNIMO (cambios micro, <10 líneas, ≤3 archivos)
82
+ /sdd.especificar [descripción]
83
+ → Detecta tamaño Micro y ejecuta automáticamente:
84
+ spec + plan + tareas + implementar
85
+
86
+ FLUJO ESTÁNDAR (features normales)
87
+ /sdd.constitucion (solo la primera vez)
88
+ /sdd.especificar [descripción]
89
+ /sdd.planificar
90
+ /sdd.planificar aprobar
91
+ /sdd.tareas
92
+ /sdd.implementar
93
+
94
+ FLUJO CALIDAD MÁXIMA (features grandes, producto enterprise)
95
+ /sdd.constitucion
96
+ /sdd.especificar [descripción]
97
+ /sdd.aclarar
98
+ /sdd.checklist
99
+ /sdd.planificar
100
+ /sdd.planificar aprobar
101
+ /sdd.tareas
102
+ /sdd.analizar
103
+ /sdd.implementar
104
+ /sdd.verificar
105
+ /sdd.snapshot
106
+
107
+ ═══════════════════════════════════════════════════════════════════════
108
+ 🤖 AGENTES ESPECIALIZADOS
109
+ ═══════════════════════════════════════════════════════════════════════
110
+
111
+ DISEÑO Y ARQUITECTURA
112
+ arquitecto Decisiones técnicas, diseño de alto nivel
113
+ disenador-api Contratos: OpenAPI, GraphQL, gRPC, eventos
114
+ asesor-datos Esquemas, queries, índices, migraciones
115
+
116
+ IMPLEMENTACIÓN
117
+ desarrollador-backend Lógica servidor: servicios, APIs, datos
118
+ desarrollador-frontend UI: componentes, vistas, estado cliente
119
+ operaciones CI/CD, deploys, infraestructura
120
+
121
+ CALIDAD
122
+ tester Tests unitarios, integración, E2E
123
+ revisor Revisión contra spec/calidad/constitución
124
+ critico Riesgos y puntos ciegos
125
+ seguridad Auditoría de vulnerabilidades
126
+ documentador Docs técnicas útiles
127
+
128
+ CONTEXTO
129
+ investigador Stack, patrones, deuda técnica — se activa en /sdd.descubrir y /sdd.especificar
130
+
131
+ Cada agente tiene un modelo asignado en .sdd/sdd.config.yaml.
132
+ Usa /sdd.configurar para cambiar qué agentes están activos y qué modelo usan.
133
+
134
+ ═══════════════════════════════════════════════════════════════════════
135
+ 📁 ESTRUCTURA GENERADA EN TU PROYECTO
136
+ ═══════════════════════════════════════════════════════════════════════
137
+
138
+ .sdd/
139
+ ├── sdd.config.yaml ← Configuración personalizable
140
+ ├── estado.json ← Estado global del flujo
141
+ ├── INDICE.md ← Registro de todas las specs
142
+ ├── SNAPSHOT.md ← Estado actual del producto
143
+ ├── memoria/
144
+ │ └── constitucion.md ← Principios del proyecto
145
+ ├── dominio/
146
+ │ ├── glosario.md ← Términos del dominio
147
+ │ └── definiciones/ ← Definiciones extendidas
148
+ ├── arquitectura/
149
+ │ └── *.md ← ADRs (decisiones de arquitectura)
150
+ ├── cambios/
151
+ │ └── YYYY/MM/DD/... ← Registro cronológico de cambios
152
+ ├── hooks/
153
+ │ ├── antes_*.sh ← Hooks personalizables
154
+ │ └── despues_*.sh
155
+ └── especificaciones/
156
+ └── {ID}/
157
+ ├── spec.md ← Especificación
158
+ ├── plan.md ← Plan técnico
159
+ ├── tareas.md ← Tareas atómicas
160
+ ├── checklist-spec.md ← Resultado del checklist
161
+ ├── analisis.md ← Auditoría de consistencia
162
+ ├── verificacion.md ← Verificación final
163
+ └── .estado-tareas.json
164
+
165
+ ═══════════════════════════════════════════════════════════════════════
166
+ 🎨 PERSONALIZACIÓN
167
+ ═══════════════════════════════════════════════════════════════════════
168
+
169
+ TODO el plugin es texto Markdown. Personalizar cualquier cosa requiere
170
+ solo editar archivos:
171
+
172
+ 1. Templates de spec/plan/tareas → plantillas/*.md
173
+ 2. Comportamiento de comandos → commands/*.md
174
+ 3. Personalidad y reglas de agentes → agents/*.md
175
+ 4. Agentes activos y modelos → .sdd/sdd.config.yaml
176
+ 5. Hooks pre/post fase → .sdd/hooks/*.sh
177
+ 6. Permisos y protecciones → .sdd/sdd.config.yaml
178
+
179
+ Ver detalles en: docs/PERSONALIZACION.md
180
+
181
+ ═══════════════════════════════════════════════════════════════════════
182
+ 🔌 HOOKS PERSONALIZABLES
183
+ ═══════════════════════════════════════════════════════════════════════
184
+
185
+ Crea scripts ejecutables en .sdd/hooks/ para integrar tu propio flujo:
186
+
187
+ antes_constitucion.sh despues_constitucion.sh
188
+ antes_especificar.sh despues_especificar.sh
189
+ antes_aclarar.sh despues_aclarar.sh
190
+ antes_planificar.sh despues_planificar.sh
191
+ antes_tareas.sh despues_tareas.sh
192
+ antes_analizar.sh despues_analizar.sh
193
+ antes_implementar.sh despues_implementar.sh
194
+ antes_cada_tarea.sh despues_cada_tarea.sh ← por tarea
195
+ antes_verificar.sh despues_verificar.sh
196
+ antes_importar.sh
197
+
198
+ Casos de uso típicos:
199
+ • Aplicar linter después de implementar
200
+ • Crear branch de Git antes de empezar una spec (si lo deseas)
201
+ • Subir reporte a Slack/Teams al verificar
202
+ • Generar PR de GitLab/GitHub manualmente con tus credenciales
203
+ • Notificar al equipo cuando se aprueba un plan
204
+
205
+ ⚠️ IMPORTANTE: SDD-ES NO se acopla a Git/GitHub/GitLab.
206
+ Si quieres integrar tu sistema de control de versiones,
207
+ hazlo desde hooks personalizados.
208
+
209
+ ═══════════════════════════════════════════════════════════════════════
210
+ 📖 DOCUMENTACIÓN ADICIONAL
211
+ ═══════════════════════════════════════════════════════════════════════
212
+
213
+ docs/FILOSOFIA.md Qué es SDD y por qué funciona
214
+ docs/FLUJO.md Diagrama del flujo completo
215
+ docs/AGENTES.md Cuándo usar cada agente
216
+ docs/MODELOS.md Recomendaciones de modelos
217
+ docs/PERSONALIZACION.md Guía exhaustiva de personalización
218
+ docs/EJEMPLOS.md Ejemplos completos de uso
219
+ docs/FABRICA.md Recorrido idea→deploy para no-programadores
220
+
221
+ ═══════════════════════════════════════════════════════════════════════
222
+
223
+ ¿Tienes una duda específica? Pregunta en lenguaje natural:
224
+ "¿Cómo cambio el modelo del agente revisor?"
225
+ "¿Qué hace el comando /sdd.analizar?"
226
+ "¿Cómo desactivo el agente frontend?"
227
+ ```
@@ -0,0 +1,60 @@
1
+ ---
2
+ description: Vigila un servicio recién desplegado consultando su health endpoint a intervalos y reporta si deja de responder. Monitoreo ligero post-deploy, sin dependencias externas.
3
+ allowed-tools: Read, Bash
4
+ handoffs:
5
+ - etiqueta: "Actualizar snapshot"
6
+ comando: sdd.snapshot
7
+ ---
8
+
9
+ # /sdd.canary — Monitoreo Post-Despliegue
10
+
11
+ Eres el **Centinela**. Tras un despliegue, vigilas que el servicio siga sano y avisas en cuanto algo se rompe. Inspirado en `/canary` de gstack.
12
+
13
+ ## PASO 1 — Obtener la URL desplegada
14
+
15
+ ```bash
16
+ URL=$(grep -o '"ultimo_despliegue":[^}]*"url": *"[^"]*"' .sdd/estado.json 2>/dev/null | grep -o 'https\?://[^"]*' | head -1)
17
+ echo "URL a vigilar: ${URL:-NO_ENCONTRADA}"
18
+ ```
19
+
20
+ Si no hay URL registrada, pídela al usuario o sugiere correr `/sdd.desplegar` primero.
21
+
22
+ ## PASO 2 — Definir el chequeo
23
+
24
+ Permite que el usuario indique cuántas rondas y cada cuánto (default: 5 rondas, ~30s entre cada una). En entornos sin tarea programada, haz un puñado de chequeos seguidos y reporta; no bloquees indefinidamente.
25
+
26
+ ```bash
27
+ URL="[url]"
28
+ HEALTH="${URL}/health" # ajusta si el proyecto usa otro endpoint
29
+
30
+ for i in 1 2 3 4 5; do
31
+ CODE=$(curl -s -o /dev/null -w "%{http_code}" --max-time 10 "$HEALTH" 2>/dev/null)
32
+ LAT=$(curl -s -o /dev/null -w "%{time_total}" --max-time 10 "$HEALTH" 2>/dev/null)
33
+ echo "ronda $i: HTTP $CODE (${LAT}s)"
34
+ if [ "$CODE" != "200" ]; then
35
+ echo "⚠️ ALERTA: el servicio respondió $CODE en la ronda $i"
36
+ fi
37
+ done
38
+ ```
39
+
40
+ ## PASO 3 — Reportar
41
+
42
+ ```
43
+ 🐤 Canary — [url]
44
+
45
+ Rondas: 5
46
+ Sanas: [N]/5
47
+ Latencia: ~[X]s promedio
48
+ Estado: [✅ estable | ⚠️ inestable | ❌ caído]
49
+ ```
50
+
51
+ Si hubo cualquier respuesta no-2xx:
52
+ - **experto**: sugiere revisar logs de la plataforma y, si es grave, rollback.
53
+ - **guiado**: *"Detecté que tu producto dejó de responder un momento. ¿Quieres que revise qué pasó?"* (sin jerga).
54
+
55
+ Si todo sano:
56
+
57
+ > ✅ Tu producto está estable. Respondió bien en todas las pruebas.
58
+
59
+ ---
60
+ **HOOK:** `.sdd/hooks/despues_canary.sh`