sdd-es 2.0.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 (127) hide show
  1. package/.claude/settings.json +29 -29
  2. package/.claude/settings.local.json +10 -0
  3. package/.claude-plugin/marketplace.json +10 -7
  4. package/.claude-plugin/plugin.json +59 -37
  5. package/.gitignore +20 -0
  6. package/.mcp.json +8 -0
  7. package/LICENSE +21 -0
  8. package/README.md +77 -40
  9. package/agents/architecture-designer.md +211 -0
  10. package/agents/arquitecto.md +16 -1
  11. package/agents/asesor-datos.md +15 -1
  12. package/agents/critico.md +37 -1
  13. package/agents/desarrollador-backend.md +3 -1
  14. package/agents/desarrollador-frontend.md +11 -16
  15. package/agents/disenador-api.md +13 -1
  16. package/agents/documentador.md +3 -1
  17. package/agents/investigador.md +3 -1
  18. package/agents/operaciones.md +3 -1
  19. package/agents/product-designer.md +268 -0
  20. package/agents/revisor.md +25 -1
  21. package/agents/seguridad.md +5 -1
  22. package/agents/tester.md +3 -1
  23. package/claude-hooks/agent-memory.js +288 -0
  24. package/claude-hooks/pre-tool-guard.js +61 -9
  25. package/cli/index.js +1 -2
  26. package/commands/sdd.adr.md +196 -0
  27. package/commands/sdd.analizar.md +23 -2
  28. package/commands/sdd.ayuda.md +13 -0
  29. package/commands/sdd.compliance.md +521 -0
  30. package/commands/sdd.configurar.md +34 -1
  31. package/commands/sdd.constitucion.md +198 -23
  32. package/commands/sdd.construir.md +210 -0
  33. package/commands/sdd.crear-mcp.md +2 -0
  34. package/commands/sdd.defect-report.md +134 -0
  35. package/commands/sdd.descubrir.md +19 -0
  36. package/commands/sdd.dise/303/261ar.md +188 -0
  37. package/commands/sdd.estado.md +120 -3
  38. package/commands/sdd.exportar.md +344 -0
  39. package/commands/sdd.implementar.md +272 -52
  40. package/commands/sdd.interpretar.md +239 -0
  41. package/commands/sdd.md +93 -4
  42. package/commands/sdd.optimizar-memoria.md +47 -0
  43. package/commands/sdd.optimizar.md +164 -0
  44. package/commands/sdd.planificar.md +64 -0
  45. package/commands/sdd.retro.md +74 -0
  46. package/commands/sdd.verificar.md +81 -0
  47. package/configuracion-ejemplo/.claude/CLAUDE.md +106 -0
  48. package/configuracion-ejemplo/sdd.config.yaml +10 -0
  49. package/craft/accessibility-baseline.md +216 -0
  50. package/craft/anti-ai-slop.md +158 -0
  51. package/craft/color.md +160 -0
  52. package/craft/typography.md +121 -0
  53. package/design-systems/bold-brutalist/DESIGN.md +239 -0
  54. package/design-systems/editorial-minimal/DESIGN.md +205 -0
  55. package/design-systems/neutral-modern/DESIGN.md +227 -0
  56. package/design-systems/vibrant-consumer/DESIGN.md +257 -0
  57. package/design-systems/warm-editorial/DESIGN.md +221 -0
  58. package/docs/AGENTES.md +4 -1
  59. package/docs/CASO-COMPLETO.md +206 -0
  60. package/docs/EJEMPLOS.md +61 -185
  61. package/docs/FABRICA.md +163 -115
  62. package/docs/INICIO-RAPIDO.md +27 -79
  63. package/docs/MEMORIA-Y-OBSERVABILIDAD.md +239 -0
  64. package/docs/MODELOS.md +3 -0
  65. package/docs/QUE-PASA-SI-FALLA.md +404 -0
  66. package/docs/README.md +43 -0
  67. package/docs/RELACION-CON-CLAUDE-CODE.md +38 -0
  68. package/docs/SEGURIDAD-PARA-NOTECNICOS.md +280 -0
  69. package/package.json +15 -10
  70. package/plantillas/job-story-mejorar-prompt.md +107 -0
  71. package/presets/enterprise.yaml +6 -0
  72. package/presets/lean.yaml +4 -0
  73. package/presets/startup.yaml +6 -0
  74. package/skills/adr-indexer/SKILL.md +181 -0
  75. package/skills/cache-audit/SKILL.md +163 -0
  76. package/skills/critica-diseno/SKILL.md +193 -0
  77. package/skills/descubrir-idea/SKILL.md +133 -0
  78. package/skills/effort-router/SKILL.md +128 -0
  79. package/skills/elegir-direccion/SKILL.md +184 -0
  80. package/skills/github-connect/IMPLEMENTATION-CHECKLIST.md +297 -0
  81. package/skills/github-connect/INDEX.md +223 -0
  82. package/skills/github-connect/INTEGRATION.md +361 -0
  83. package/skills/github-connect/QUICK-START.md +168 -0
  84. package/skills/github-connect/README.md +414 -0
  85. package/skills/github-connect/RESUMEN_IMPLEMENTACION.txt +374 -0
  86. package/skills/github-connect/SKILL.md +343 -0
  87. package/skills/github-connect/STRUCTURE.txt +252 -0
  88. package/skills/github-connect/example-config.yaml +41 -0
  89. package/skills/github-connect/github-connect.sh +419 -0
  90. package/skills/interpretar-idea/SKILL.md +254 -0
  91. package/skills/mejorar-prompt/SKILL.md +237 -0
  92. package/skills/memory-compactor/SKILL.md +68 -0
  93. package/skills/modo-guiado/SKILL.md +12 -2
  94. package/skills/mutation-detector/SKILL.md +134 -0
  95. package/skills/observabilidad-consumo/SKILL.md +164 -0
  96. package/skills/token-budget/SKILL.md +177 -0
  97. package/skills/vercel-deploy/00-START-HERE.txt +364 -0
  98. package/skills/vercel-deploy/CHECKLIST.md +205 -0
  99. package/skills/vercel-deploy/EXEC-SUMMARY.txt +322 -0
  100. package/skills/vercel-deploy/FLOW.txt +334 -0
  101. package/skills/vercel-deploy/INDEX.md +276 -0
  102. package/skills/vercel-deploy/INTEGRATION.md +328 -0
  103. package/skills/vercel-deploy/MANIFEST.md +310 -0
  104. package/skills/vercel-deploy/README.md +65 -0
  105. package/skills/vercel-deploy/SKILL.md +356 -0
  106. package/skills/vercel-deploy/deploy.sh +298 -0
  107. package/skills/vercel-deploy/estado.json.example +205 -0
  108. package/skills/vercel-deploy/skill.yaml +323 -0
  109. package/skills/vercel-deploy/vercel-deploy.sh +216 -0
  110. package/skills/wireframe-mvp/SKILL.md +157 -0
  111. package/docs/EJEMPLO-PRACTICA.md +0 -383
  112. package/mcp-figma/README.md +0 -158
  113. package/mcp-figma/package.json +0 -7
  114. package/mcp-figma/src/component-generator.js +0 -162
  115. package/mcp-figma/src/design-system-analyzer.js +0 -247
  116. package/mcp-figma/src/figma-client.js +0 -75
  117. package/mcp-figma/src/index.js +0 -114
  118. package/mcp-figma/src/mcp.js +0 -97
  119. package/mcp-figma/src/style-mapper.js +0 -85
  120. /package/skills/{compresion-tokens.md → compresion-tokens/SKILL.md} +0 -0
  121. /package/skills/{constitucion-constraint.md → constitucion-constraint/SKILL.md} +0 -0
  122. /package/skills/{deteccion-stack.md → deteccion-stack/SKILL.md} +0 -0
  123. /package/skills/{enrutador-agentes.md → enrutador-agentes/SKILL.md} +0 -0
  124. /package/skills/{gestion-estado.md → gestion-estado/SKILL.md} +0 -0
  125. /package/skills/{indexador.md → indexador/SKILL.md} +0 -0
  126. /package/skills/{validacion-spec.md → validacion-spec/SKILL.md} +0 -0
  127. /package/skills/{verificador-implementacion.md → verificador-implementacion/SKILL.md} +0 -0
@@ -0,0 +1,276 @@
1
+ # Skill: vercel-deploy
2
+
3
+ **Despliegue automático en Vercel con pre-checks, health checks y rollback automático.**
4
+
5
+ Cierra el ciclo idea→producción sin salir del flujo. Diferenciador vs Bolt/v0: verificación independiente **PRE-deploy**, no post-deploy.
6
+
7
+ ---
8
+
9
+ ## 📋 Archivos en este directorio
10
+
11
+ ### `SKILL.md` ⭐ (Principal)
12
+ **Documento maestro** con la especificación completa del skill.
13
+
14
+ Contenido:
15
+ - Propósito y visión
16
+ - Entrada requerida (VERCEL_TOKEN, variables de entorno)
17
+ - Flujo detallado de 6 pasos (código Bash ejecutable)
18
+ - PASO 1: Pre-checks (bloquea si hay issues)
19
+ - PASO 2: Auto-generar vercel.json
20
+ - PASO 3: Build y deploy a Vercel
21
+ - PASO 4: Health check con retry y backoff
22
+ - PASO 5: Rollback automático si falla
23
+ - PASO 6: Registrar resultado en `.sdd/estado.json`
24
+ - Output visual para el usuario
25
+ - Tabla de manejo de errores
26
+ - Notas de implementación (atomicidad, idempotencia, seguridad)
27
+
28
+ **Leer esto primero para entender qué hace el skill.**
29
+
30
+ ---
31
+
32
+ ### `deploy.sh` (Ejecutable)
33
+ **Script Bash funcional** que implementa los 6 pasos.
34
+
35
+ Características:
36
+ - Colores y emojis en el output
37
+ - Manejo robusto de errores
38
+ - Funciones modulares para cada paso
39
+ - Exit codes correctos
40
+ - Logging a `.sdd/estado.json`
41
+
42
+ Uso:
43
+ ```bash
44
+ bash ./skills/vercel-deploy/deploy.sh
45
+ # O si tiene permisos de ejecución:
46
+ ./skills/vercel-deploy/deploy.sh
47
+ ```
48
+
49
+ **Para testing y ejecución real del flujo.**
50
+
51
+ ---
52
+
53
+ ### `README.md` (Inicio rápido)
54
+ **Guía de usuario con setup mínimo.**
55
+
56
+ Contenido:
57
+ - Uso rápido (copy-paste commands)
58
+ - Cómo obtener VERCEL_TOKEN
59
+ - Tabla de errores comunes
60
+ - Próximos pasos post-deploy
61
+ - Invocación (automática vs manual)
62
+
63
+ **Para usuarios que quieren empezar rápido.**
64
+
65
+ ---
66
+
67
+ ### `CHECKLIST.md` (Pre-requisitos)
68
+ **Checklist interactivo** antes de desplegar.
69
+
70
+ Contenido:
71
+ - 8 secciones: autenticación, código, seguridad, tests, vercel config, dependencias, comunicación, contingencia
72
+ - Comandos para verificar cada condición
73
+ - Acciones remediales si algo falla
74
+ - Checklist de una línea (copy-paste)
75
+ - Tabla "estado final: all systems go"
76
+
77
+ **Para verificar que todo está ready antes de desplegar.**
78
+
79
+ ---
80
+
81
+ ### `INTEGRATION.md` (Integración con sdd.implementar)
82
+ **Guía para conectar vercel-deploy en el flujo `/sdd.implementar`.**
83
+
84
+ Contenido:
85
+ - Overview del flujo (dónde se invoca)
86
+ - Requisitos previos (VERCEL_TOKEN, VERCEL_PROJECT_ID)
87
+ - Configuración en sdd.implementar (YAML frontmatter)
88
+ - Gate humano ("¿Despliego?")
89
+ - Flujo esperado (éxito, fallo, rollback)
90
+ - Ejemplo completo de sdd.implementar.md
91
+ - Archivos generados (.sdd/estado.json, vercel.json)
92
+ - Troubleshooting por escenario
93
+ - Variables de entorno en Vercel Dashboard
94
+ - Monitoreo post-deploy
95
+
96
+ **Para integrar el skill en tu workflow SDD.**
97
+
98
+ ---
99
+
100
+ ### `INDEX.md` (Este archivo)
101
+ **Mapa de navegación** de toda la documentación.
102
+
103
+ Contenido:
104
+ - Descripción de cada archivo
105
+ - Qué leer según tu caso de uso
106
+ - Relaciones entre documentos
107
+
108
+ **Para orientarte en la estructura.**
109
+
110
+ ---
111
+
112
+ ## 🎯 Qué leer según tu caso de uso
113
+
114
+ ### "Quiero desplegar ahora mismo"
115
+ 1. Lee [README.md](./README.md) (2 min)
116
+ 2. Lee [CHECKLIST.md](./CHECKLIST.md) (5 min)
117
+ 3. Ejecuta: `bash ./skills/vercel-deploy/deploy.sh`
118
+
119
+ ### "Quiero entender qué hace el skill"
120
+ 1. Lee [SKILL.md](./SKILL.md) (10 min)
121
+ 2. Analiza [deploy.sh](./deploy.sh) (5 min)
122
+ 3. Revisa ejemplos en [README.md](./README.md)
123
+
124
+ ### "Quiero integrarlo en mi /sdd.implementar"
125
+ 1. Lee [INTEGRATION.md](./INTEGRATION.md) (15 min)
126
+ 2. Copia la sección YAML del ejemplo
127
+ 3. Añade el gate humano en tu workflow
128
+ 4. Configura VERCEL_TOKEN
129
+
130
+ ### "Algo falló y necesito troubleshoot"
131
+ 1. Consulta tabla de errores en [README.md](./README.md)
132
+ 2. Más detalles en [SKILL.md](./SKILL.md) → "Manejo de errores"
133
+ 3. Si es de integración, ve a [INTEGRATION.md](./INTEGRATION.md) → "Troubleshooting"
134
+
135
+ ### "Quiero ver el código ejecutable"
136
+ 1. Revisa [deploy.sh](./deploy.sh)
137
+ 2. Lee comentarios alineados con [SKILL.md](./SKILL.md)
138
+ 3. Test localmente con variables mock
139
+
140
+ ---
141
+
142
+ ## ⚡ Flujo de 6 pasos (resumen)
143
+
144
+ ```
145
+ PASO 1: Pre-checks
146
+ ✓ VERCEL_TOKEN presente
147
+ ✓ Rama limpia (git)
148
+ ✓ Sin secretos en src/
149
+ ✓ Tests verdes
150
+ ↓ (bloquea si algo falla)
151
+
152
+ PASO 2: Configuración
153
+ ✓ Detectar framework (next, react, vue, astro, python...)
154
+ ✓ Auto-generar vercel.json si no existe
155
+
156
+
157
+ PASO 3: Deploy
158
+ ✓ Build local: npm run build
159
+ ✓ Enviar a Vercel: vercel deploy --prod
160
+ ✓ Capturar URL de salida
161
+
162
+
163
+ PASO 4: Health Check
164
+ ✓ Retry 3 veces: curl -s $DEPLOY_URL
165
+ ✓ Esperar backoff si falla (5s entre intentos)
166
+ ✓ Si HTTP 200: ✅ éxito
167
+ ↓ (si no, ir a PASO 5)
168
+
169
+ PASO 5: Rollback
170
+ ✓ Si health check falla: vercel rollback --prod
171
+ ✓ Revertir a deploy anterior
172
+ ✓ Loguear y notificar usuario
173
+
174
+
175
+ PASO 6: Registrar
176
+ ✓ Guardar metadatos en .sdd/estado.json
177
+ ✓ Timestamp, URL, status, health_check, framework
178
+ ✓ Disponible para auditoría y monitoreo
179
+ ```
180
+
181
+ ---
182
+
183
+ ## 📦 Input del skill
184
+
185
+ ```env
186
+ # Requerido
187
+ VERCEL_TOKEN=vercel_xxx_abc123...
188
+
189
+ # Opcional pero recomendado
190
+ VERCEL_PROJECT_ID=prj_xyz123...
191
+
192
+ # Auto-detectado
193
+ framework=nextjs # O react, vue, astro, python, etc.
194
+ ```
195
+
196
+ ## 📤 Output del skill
197
+
198
+ ```
199
+ 🚀 DESPLIEGUE A VERCEL — COMPLETADO
200
+
201
+ ✅ Pre-checks completados
202
+ ✅ Build exitoso
203
+ ✅ Vercel deployment: https://mi-proyecto.vercel.app
204
+ ✅ Health check: HTTP 200
205
+
206
+ Tu app está en vivo: https://mi-proyecto.vercel.app
207
+ Tiempo total: 3m 42s
208
+
209
+ Próximos pasos:
210
+ • Comparte la URL
211
+ • Monitorea por 15 minutos
212
+ • Ejecuta /sdd.snapshot
213
+ ```
214
+
215
+ ---
216
+
217
+ ## 🔐 Seguridad
218
+
219
+ - ✅ VERCEL_TOKEN nunca se loguea en stdout
220
+ - ✅ Secretos detectados pre-deploy (grep en src/)
221
+ - ✅ .env.local en .gitignore
222
+ - ✅ Credenciales en variables de entorno, no en código
223
+ - ✅ Atomicidad: o todo se despliega o se revierte
224
+
225
+ ---
226
+
227
+ ## 📚 Relaciones entre documentos
228
+
229
+ ```
230
+ INDEX.md (Tú estás aquí)
231
+ ├─ README.md ← Empezar aquí
232
+ ├─ CHECKLIST.md ← Antes de desplegar
233
+ ├─ SKILL.md ← Entender el flujo
234
+ │ └─ deploy.sh ← Implementación
235
+ ├─ INTEGRATION.md ← Conectar con sdd.implementar
236
+ └─ Este mismo archivo
237
+ ```
238
+
239
+ ---
240
+
241
+ ## 💡 Tips
242
+
243
+ 1. **Siempre verifica el checklist antes de desplegar** → Lee [CHECKLIST.md](./CHECKLIST.md)
244
+
245
+ 2. **Si algo falla, revisa logs en Vercel Dashboard** → https://vercel.com/dashboard
246
+
247
+ 3. **VERCEL_TOKEN va en .env.local** (nunca en git):
248
+ ```bash
249
+ echo 'VERCEL_TOKEN=vercel_xxx_...' >> .env.local
250
+ ```
251
+
252
+ 4. **El skill es idempotente** → Ejecutar dos veces produce el mismo resultado
253
+
254
+ 5. **Health check reintenta 3 veces automáticamente** → Maneja cold starts
255
+
256
+ 6. **Rollback es automático si health check falla** → Protección contra deployments rotos
257
+
258
+ ---
259
+
260
+ ## 🚀 Próximos pasos
261
+
262
+ | Quiero... | Ir a... |
263
+ |-----------|---------|
264
+ | Desplegar ahora | [README.md](./README.md) |
265
+ | Entender el flujo | [SKILL.md](./SKILL.md) |
266
+ | Verificar prerequisites | [CHECKLIST.md](./CHECKLIST.md) |
267
+ | Integrar en /sdd.implementar | [INTEGRATION.md](./INTEGRATION.md) |
268
+ | Ver código ejecutable | [deploy.sh](./deploy.sh) |
269
+
270
+ ---
271
+
272
+ **Versión:** 1.0
273
+ **Última actualización:** 2026-06-13
274
+ **Framework:** Bash + Vercel CLI
275
+ **Estado:** ✅ Listo para usar
276
+
@@ -0,0 +1,328 @@
1
+ # Integración: vercel-deploy con sdd.implementar
2
+
3
+ Guía para integrar el skill **vercel-deploy** en el flujo de `/sdd.implementar`.
4
+
5
+ ## Overview
6
+
7
+ El skill **vercel-deploy** se invoca automáticamente al final del flujo `/sdd.implementar` cuando `deploy.plataforma: vercel` está configurado.
8
+
9
+ ```
10
+ /sdd.implementar
11
+ ├─ Paso 1: Análisis & planning
12
+ ├─ Paso 2: Desarrollo iterativo
13
+ ├─ Paso 3: Testing
14
+ ├─ Paso 4: Revisión de código
15
+ └─ Paso 5: DEPLOY → [vercel-deploy skill] ← AQUÍ
16
+
17
+ Gate humano: "¿Despliego en Vercel?" [sí/no/después]
18
+ ↓ sí
19
+ [Ejecutar 6 pasos de deploy]
20
+ ```
21
+
22
+ ## Requisitos previos
23
+
24
+ ### 1. Variable de entorno: VERCEL_TOKEN
25
+
26
+ El skill requiere `VERCEL_TOKEN` configurado. Dos opciones:
27
+
28
+ **Opción A: Exportar en el shell (sesión actual)**
29
+ ```bash
30
+ export VERCEL_TOKEN="vercel_xxx_abc123..."
31
+ ```
32
+
33
+ **Opción B: Persistente en `.env.local` (recomendado)**
34
+ ```bash
35
+ echo 'VERCEL_TOKEN=vercel_xxx_abc123...' >> .env.local
36
+ ```
37
+
38
+ Obtener el token:
39
+ 1. Ve a https://vercel.com/account/tokens
40
+ 2. Crea un nuevo token con scope **full**
41
+ 3. Cópialo y guárdalo
42
+
43
+ ### 2. (Opcional) VERCEL_PROJECT_ID
44
+
45
+ Si el proyecto ya existe en Vercel:
46
+ ```bash
47
+ export VERCEL_PROJECT_ID="prj_xyz123..."
48
+ # O en .env.local:
49
+ echo 'VERCEL_PROJECT_ID=prj_xyz123...' >> .env.local
50
+ ```
51
+
52
+ Obtener project ID:
53
+ 1. Ve a https://vercel.com/dashboard
54
+ 2. Abre tu proyecto
55
+ 3. Ve a Settings > General
56
+ 4. Copia el **Project ID**
57
+
58
+ ## Configuración en sdd.implementar
59
+
60
+ En el archivo `/sdd.implementar.md` (o similar), añade:
61
+
62
+ ### Sección de configuración
63
+ ```yaml
64
+ ---
65
+ deploy:
66
+ plataforma: vercel # ← Activa invocación automática del skill
67
+ framework: auto # ← Auto-detect (next, react, vue, astro, etc.)
68
+ environment: production # ← O 'staging'
69
+ ---
70
+ ```
71
+
72
+ ### Gate humano antes de deploy
73
+ Justo antes de invocar el skill:
74
+
75
+ ```markdown
76
+ ## ¿Estamos listos para producción?
77
+
78
+ Checklist final:
79
+ - [ ] Tests pasando localmente
80
+ - [ ] Cambios committeados
81
+ - [ ] Sin secretos en código
82
+ - [ ] Health check en staging (opcional)
83
+
84
+ **¿Despliego en Vercel?**
85
+
86
+ [sí] → Ejecutar vercel-deploy
87
+ [no] → Saltar deploy
88
+ [después] → Recordarme luego
89
+ ```
90
+
91
+ ### Invocación del skill
92
+ ```bash
93
+ # Automática (recomendada)
94
+ /sdd.implementar
95
+ # ... pasos 1-4 ...
96
+ # PASO 5: Deploy
97
+ if [ deploy.plataforma == "vercel" ]; then
98
+ vercel-deploy # ← Invoca el skill
99
+ fi
100
+
101
+ # O manual en cualquier momento:
102
+ /sdd.desplegar
103
+ /sdd.desplegar --environment staging
104
+ ```
105
+
106
+ ## Flujo esperado
107
+
108
+ ### Ejecución exitosa
109
+ ```
110
+ 🚀 DESPLIEGUE A VERCEL
111
+
112
+ ✅ Pre-checks completados
113
+ ✓ VERCEL_TOKEN presente
114
+ ✓ Rama limpia
115
+ ✓ Sin secretos
116
+ ✓ Tests verdes
117
+
118
+ ✅ vercel.json: detectado framework nextjs
119
+
120
+ ✅ Build local exitoso
121
+ ✅ Deploy a Vercel enviado
122
+ URL: https://mi-proyecto.vercel.app
123
+
124
+ ✅ Health check: HTTP 200 OK
125
+
126
+ Tu app está en vivo: https://mi-proyecto.vercel.app
127
+ Tiempo total: 3m 42s
128
+
129
+ Próximos pasos:
130
+ • Comparte URL: https://mi-proyecto.vercel.app
131
+ • Ejecuta /sdd.snapshot para actualizar estado
132
+ • Monitorea por 15 minutos
133
+ ```
134
+
135
+ ### Fallo y rollback automático
136
+ ```
137
+ 🚀 DESPLIEGUE A VERCEL
138
+
139
+ ✅ Pre-checks completados
140
+ ✅ Build local exitoso
141
+ ✅ Deploy a Vercel enviado
142
+
143
+ ⚠️ Health check: HTTP 502 (3 reintentos fallidos)
144
+
145
+ 🔄 Ejecutando rollback...
146
+ ✅ Rollback completado — versión anterior está en vivo
147
+
148
+ ❌ ACCIÓN REQUERIDA:
149
+ • Revisa los logs en https://vercel.com/dashboard
150
+ • Diagnostica el error (env vars, memoria, etc.)
151
+ • Corrije y ejecuta /sdd.desplegar nuevamente
152
+ ```
153
+
154
+ ### Fallo en pre-checks
155
+ ```
156
+ 🔍 PASO 1: Pre-checks
157
+
158
+ ❌ Error: VERCEL_TOKEN no configurado
159
+
160
+ Instrucciones para generar:
161
+ 1. Ve a https://vercel.com/account/tokens
162
+ 2. Crea un nuevo token con scope 'full'
163
+ 3. Guárdalo:
164
+ export VERCEL_TOKEN='vercel_xxx_...'
165
+ # O en .env.local:
166
+ echo 'VERCEL_TOKEN=vercel_xxx_...' >> .env.local
167
+ ```
168
+
169
+ ## Ejemplo: sdd.implementar.md con vercel-deploy
170
+
171
+ ```markdown
172
+ # sdd.implementar
173
+
174
+ Implementar y desplegar una feature.
175
+
176
+ ---
177
+
178
+ ## Configuración
179
+
180
+ deploy:
181
+ plataforma: vercel
182
+ framework: nextjs
183
+ environment: production
184
+
185
+ ---
186
+
187
+ ## Paso 1: Análisis
188
+
189
+ ...
190
+
191
+ ## Paso 2: Desarrollo
192
+
193
+ ...
194
+
195
+ ## Paso 3: Testing
196
+
197
+ ...
198
+
199
+ ## Paso 4: Code Review
200
+
201
+ ...
202
+
203
+ ## Paso 5: Deploy
204
+
205
+ El siguiente paso despliega tu code a Vercel **solo si todo está OK**.
206
+
207
+ ### ¿Estamos listos?
208
+
209
+ - [ ] Tests pasando
210
+ - [ ] Cambios committeados
211
+ - [ ] Sin secretos en código
212
+
213
+ **¿Despliego en Vercel?**
214
+
215
+ ```bash
216
+ # Sí → ejecutar skill
217
+ /sdd.desplegar
218
+
219
+ # No → saltar por ahora
220
+ # Nota: Puedes desplegar manualmente luego con /sdd.desplegar
221
+ ```
222
+
223
+ ---
224
+
225
+ ## ✨ Checklist post-deploy
226
+
227
+ - [ ] Health check verde (HTTP 200)
228
+ - [ ] Compartir URL con testers
229
+ - [ ] Monitorear por 15 minutos
230
+ - [ ] Ejecutar `/sdd.snapshot` para actualizar estado
231
+ ```
232
+
233
+ ## Archivos generados post-deploy
234
+
235
+ Después de un deploy exitoso, el skill crea/actualiza:
236
+
237
+ ### `.sdd/estado.json`
238
+ Metadatos del último despliegue:
239
+ ```json
240
+ {
241
+ "ultimo_despliegue": {
242
+ "timestamp": "2026-06-13T14:30:00Z",
243
+ "url": "https://mi-proyecto.vercel.app",
244
+ "status": "OK",
245
+ "health_check": "200 OK",
246
+ "framework": "nextjs"
247
+ }
248
+ }
249
+ ```
250
+
251
+ ### `vercel.json` (auto-generado si no existe)
252
+ Configuración de build y output:
253
+ ```json
254
+ {
255
+ "buildCommand": "npm run build",
256
+ "outputDirectory": ".next",
257
+ "framework": "nextjs"
258
+ }
259
+ ```
260
+
261
+ ## Troubleshooting
262
+
263
+ ### Error: "VERCEL_TOKEN no configurado"
264
+
265
+ **Solución:**
266
+ ```bash
267
+ export VERCEL_TOKEN="vercel_xxx_abc123..."
268
+ # O:
269
+ echo 'VERCEL_TOKEN=vercel_xxx_abc123...' >> .env.local
270
+ source .env.local
271
+ ```
272
+
273
+ ### Error: "Tests fallando"
274
+
275
+ **Solución:**
276
+ 1. Ejecuta tests localmente: `npm test`
277
+ 2. Arregla los fallos
278
+ 3. Commit: `git add . && git commit -m "Fix tests"`
279
+ 4. Reintenta: `/sdd.desplegar`
280
+
281
+ ### Error: "Health check fallando (HTTP 502)"
282
+
283
+ **Causas posibles:**
284
+ - Aplicación tarda en iniciar (cold start)
285
+ - Variable de entorno faltante en Vercel
286
+ - Servidor no está escuchando en puerto correcto
287
+
288
+ **Solución:**
289
+ 1. Revisa logs en https://vercel.com/dashboard
290
+ 2. Configura env vars en Vercel si es necesario
291
+ 3. Reintenta el deploy
292
+
293
+ ### Error: "Cambios sin stagear"
294
+
295
+ **Solución:**
296
+ ```bash
297
+ git add .
298
+ git commit -m "Descripción de cambios"
299
+ /sdd.desplegar
300
+ ```
301
+
302
+ ## Variables de entorno en Vercel
303
+
304
+ Si tu aplicación necesita secrets o env vars:
305
+
306
+ 1. Ve a Vercel Dashboard → Settings → Environment Variables
307
+ 2. Añade cada variable: `KEY=value`
308
+ 3. Las variables están disponibles en build time y runtime
309
+
310
+ Ejemplo:
311
+ ```
312
+ DATABASE_URL=postgres://...
313
+ API_KEY=sk_xxx_...
314
+ NODE_ENV=production
315
+ ```
316
+
317
+ ## Monitoreo post-deploy
318
+
319
+ Después de desplegar, el skill propone:
320
+
321
+ 1. **Compartir URL** con testers y stakeholders
322
+ 2. **Monitorear por 15 minutos** usando `/sdd.canary`
323
+ 3. **Actualizar estado del producto** con `/sdd.snapshot`
324
+ 4. **En caso de issues**: `/sdd.revertir` para rollback manual
325
+
326
+ ---
327
+
328
+ Para más detalles, ver [SKILL.md](./SKILL.md).