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,205 @@
1
+ {
2
+ "skill": "vercel-deploy",
3
+ "version": "1.0.0",
4
+ "execution": {
5
+ "timestamp_start": "2026-06-13T14:25:30Z",
6
+ "timestamp_end": "2026-06-13T14:30:15Z",
7
+ "duration_seconds": 285,
8
+ "status": "SUCCESS",
9
+ "exit_code": 0
10
+ },
11
+ "ultimo_despliegue": {
12
+ "timestamp": "2026-06-13T14:30:00Z",
13
+ "url": "https://mi-proyecto.vercel.app",
14
+ "status": "OK",
15
+ "health_check": "200 OK",
16
+ "framework": "nextjs",
17
+ "environment": "production"
18
+ },
19
+ "pre_checks": {
20
+ "vercel_token": {
21
+ "status": "OK",
22
+ "message": "Token presente y válido"
23
+ },
24
+ "branch_clean": {
25
+ "status": "OK",
26
+ "message": "Sin cambios sin stagear"
27
+ },
28
+ "secrets_scan": {
29
+ "status": "OK",
30
+ "message": "No secretos detectados"
31
+ },
32
+ "tests": {
33
+ "status": "OK",
34
+ "message": "Tests pasando (42/42)",
35
+ "exit_code": 0
36
+ }
37
+ },
38
+ "build": {
39
+ "status": "OK",
40
+ "command": "npm run build",
41
+ "duration_seconds": 120,
42
+ "output": {
43
+ "lines": 45,
44
+ "first_line": "Linting source files...",
45
+ "last_line": "✓ Build complete"
46
+ }
47
+ },
48
+ "deploy": {
49
+ "status": "OK",
50
+ "platform": "vercel",
51
+ "deployment_id": "dpl_abc123def456ghi789",
52
+ "url": "https://mi-proyecto.vercel.app",
53
+ "production_url": "https://mi-proyecto.vercel.app",
54
+ "console_url": "https://vercel.com/dashboard/deployments/dpl_abc123def456ghi789",
55
+ "duration_seconds": 85,
56
+ "regions": ["iad1", "sfo1"]
57
+ },
58
+ "health_check": {
59
+ "status": "OK",
60
+ "attempts": 1,
61
+ "max_attempts": 3,
62
+ "http_code": "200",
63
+ "response_time_ms": 145,
64
+ "checks": [
65
+ {
66
+ "attempt": 1,
67
+ "timestamp": "2026-06-13T14:30:10Z",
68
+ "http_code": "200",
69
+ "response_time_ms": 145,
70
+ "status": "OK"
71
+ }
72
+ ]
73
+ },
74
+ "rollback": {
75
+ "status": "NOT_NEEDED",
76
+ "previous_deployment": "dpl_xyz789abc456def123",
77
+ "previous_url": "https://mi-proyecto-prev.vercel.app"
78
+ },
79
+ "configuration": {
80
+ "vercel_json": {
81
+ "buildCommand": "npm run build",
82
+ "outputDirectory": ".next",
83
+ "framework": "nextjs",
84
+ "auto_generated": false
85
+ },
86
+ "environment_vars": {
87
+ "NODE_ENV": "production",
88
+ "VERCEL_ENV": "production"
89
+ },
90
+ "secrets_detected": 0
91
+ },
92
+ "files_generated": {
93
+ ".sdd/estado.json": {
94
+ "size_bytes": 2845,
95
+ "timestamp": "2026-06-13T14:30:15Z"
96
+ }
97
+ },
98
+ "next_steps": [
99
+ "Comparte URL con testers: https://mi-proyecto.vercel.app",
100
+ "Monitorea por anomalías (15 minutos)",
101
+ "Ejecuta /sdd.snapshot para actualizar estado del producto",
102
+ "En caso de issues: /sdd.revertir para rollback manual"
103
+ ],
104
+ "metrics": {
105
+ "total_duration_seconds": 285,
106
+ "build_duration_seconds": 120,
107
+ "deploy_duration_seconds": 85,
108
+ "health_check_duration_seconds": 5,
109
+ "files_deployed": 342,
110
+ "uncompressed_size_mb": 45.2,
111
+ "compressed_size_mb": 8.7
112
+ },
113
+ "network": {
114
+ "git_commits_deployed": 3,
115
+ "last_commit_hash": "abc123def456",
116
+ "last_commit_message": "Add new feature: user dashboard",
117
+ "branch_deployed": "main",
118
+ "tag_created": "v1.2.3"
119
+ },
120
+ "notifications": {
121
+ "slack": {
122
+ "status": "SENT",
123
+ "channel": "#deployments",
124
+ "message_ts": "1686751815.000100"
125
+ },
126
+ "email": {
127
+ "status": "QUEUED",
128
+ "recipients": ["dev-team@company.com"],
129
+ "subject": "Deployment successful: v1.2.3 → production"
130
+ }
131
+ },
132
+ "compliance": {
133
+ "security_scan": {
134
+ "status": "OK",
135
+ "vulnerabilities_found": 0,
136
+ "scanner": "npm audit"
137
+ },
138
+ "code_quality": {
139
+ "status": "OK",
140
+ "linting_errors": 0,
141
+ "warnings": 2,
142
+ "tool": "eslint"
143
+ },
144
+ "performance": {
145
+ "lighthouse_score": 98,
146
+ "first_contentful_paint_ms": 850,
147
+ "largest_contentful_paint_ms": 1200
148
+ }
149
+ },
150
+ "audit_trail": [
151
+ {
152
+ "timestamp": "2026-06-13T14:25:30Z",
153
+ "action": "PRE_CHECKS_START",
154
+ "actor": "user@company.com",
155
+ "result": "OK"
156
+ },
157
+ {
158
+ "timestamp": "2026-06-13T14:27:45Z",
159
+ "action": "BUILD_START",
160
+ "actor": "vercel-cli",
161
+ "result": "OK"
162
+ },
163
+ {
164
+ "timestamp": "2026-06-13T14:29:15Z",
165
+ "action": "DEPLOY_START",
166
+ "actor": "vercel-api",
167
+ "result": "OK"
168
+ },
169
+ {
170
+ "timestamp": "2026-06-13T14:30:10Z",
171
+ "action": "HEALTH_CHECK",
172
+ "actor": "curl",
173
+ "result": "OK"
174
+ },
175
+ {
176
+ "timestamp": "2026-06-13T14:30:15Z",
177
+ "action": "COMPLETE",
178
+ "actor": "system",
179
+ "result": "SUCCESS"
180
+ }
181
+ ],
182
+ "error_history": [],
183
+ "previous_deployments": [
184
+ {
185
+ "timestamp": "2026-06-12T10:15:00Z",
186
+ "url": "https://mi-proyecto-v1-2-2.vercel.app",
187
+ "status": "SUCCESS",
188
+ "deployment_id": "dpl_xyz789abc456def123"
189
+ },
190
+ {
191
+ "timestamp": "2026-06-11T16:45:30Z",
192
+ "url": "https://mi-proyecto-v1-2-1.vercel.app",
193
+ "status": "SUCCESS",
194
+ "deployment_id": "dpl_prev123abc789def456"
195
+ }
196
+ ],
197
+ "environment_info": {
198
+ "vercel_cli_version": "28.16.4",
199
+ "node_version": "18.16.0",
200
+ "npm_version": "9.6.2",
201
+ "git_version": "2.40.0",
202
+ "os": "Linux ubuntu-latest",
203
+ "arch": "x64"
204
+ }
205
+ }
@@ -0,0 +1,323 @@
1
+ ---
2
+ # Metadatos del skill: vercel-deploy
3
+ # Sistema: SDD (Software Deployment Dashboard)
4
+
5
+ metadata:
6
+ id: vercel-deploy
7
+ name: "Despliegue Automático en Vercel"
8
+ version: 1.0.0
9
+ author: "SDD Framework"
10
+ last_updated: 2026-06-13
11
+ status: production
12
+
13
+ description:
14
+ short: "Despliega automáticamente a Vercel con pre-checks, health checks y rollback automático"
15
+ long: |
16
+ Cierra el ciclo idea→producción sin salir del flujo.
17
+ Diferenciador vs Bolt/v0: verificación independiente PRE-deploy, no post-deploy.
18
+
19
+ Flujo sincrónico bloqueante con 6 pasos:
20
+ 1. Pre-checks (valida VERCEL_TOKEN, rama limpia, sin secretos, tests verdes)
21
+ 2. Auto-generar vercel.json (detecta framework automáticamente)
22
+ 3. Build y deploy (npm run build + vercel deploy --prod)
23
+ 4. Health check (retry 3x con backoff)
24
+ 5. Rollback automático (si health check falla)
25
+ 6. Registrar resultado (.sdd/estado.json)
26
+
27
+ tags:
28
+ - deployment
29
+ - vercel
30
+ - ci-cd
31
+ - production
32
+ - automation
33
+ - devops
34
+
35
+ requirements:
36
+ tools:
37
+ - name: Bash
38
+ version: "4+"
39
+ - name: vercel-cli
40
+ version: "latest"
41
+ install: "npm install -g vercel"
42
+ - name: git
43
+ version: "2+"
44
+ - name: npm
45
+ version: "8+"
46
+ - name: curl
47
+ version: "7+"
48
+
49
+ environment:
50
+ required:
51
+ - VERCEL_TOKEN
52
+ description: "Token de autenticación en Vercel"
53
+ generate_at: "https://vercel.com/account/tokens"
54
+ optional:
55
+ - VERCEL_PROJECT_ID
56
+ description: "ID del proyecto si ya existe en Vercel"
57
+ source: "Vercel Dashboard > Settings > General"
58
+
59
+ inputs:
60
+ framework:
61
+ type: enum
62
+ values: [auto, nextjs, react, vue, astro, python, flask, fastapi]
63
+ default: auto
64
+ description: "Framework detectado automáticamente si es 'auto'"
65
+
66
+ environment:
67
+ type: enum
68
+ values: [staging, production]
69
+ default: production
70
+ description: "Entorno a desplegar"
71
+
72
+ retry_count:
73
+ type: integer
74
+ default: 3
75
+ description: "Número de reintentos para health check"
76
+
77
+ retry_delay:
78
+ type: integer
79
+ default: 5
80
+ description: "Segundos entre reintentos (backoff)"
81
+
82
+ outputs:
83
+ deploy_url:
84
+ type: string
85
+ description: "URL de la aplicación desplegada"
86
+ example: "https://mi-proyecto.vercel.app"
87
+
88
+ health_check_status:
89
+ type: enum
90
+ values: [OK, FAILED]
91
+ description: "Estado del health check"
92
+
93
+ deployment_timestamp:
94
+ type: string
95
+ format: "ISO 8601"
96
+ description: "Timestamp del despliegue"
97
+ example: "2026-06-13T14:30:00Z"
98
+
99
+ stato_file:
100
+ type: string
101
+ description: "Ruta al archivo de estado"
102
+ value: ".sdd/estado.json"
103
+
104
+ flow:
105
+ steps:
106
+ - id: "paso-1-prechecks"
107
+ name: "Pre-checks"
108
+ description: "Valida VERCEL_TOKEN, rama limpia, sin secretos, tests verdes"
109
+ blocking: true
110
+ timeout_seconds: 60
111
+
112
+ - id: "paso-2-config"
113
+ name: "Configuración"
114
+ description: "Detecta framework y auto-genera vercel.json"
115
+ blocking: false
116
+ timeout_seconds: 30
117
+
118
+ - id: "paso-3-deploy"
119
+ name: "Deploy"
120
+ description: "Build local y envío a Vercel"
121
+ blocking: true
122
+ timeout_seconds: 900 # 15 minutos
123
+
124
+ - id: "paso-4-health"
125
+ name: "Health Check"
126
+ description: "Verificación de que la URL responde (HTTP 200)"
127
+ blocking: true
128
+ timeout_seconds: 60
129
+ retries:
130
+ count: 3
131
+ delay_seconds: 5
132
+ strategy: exponential_backoff
133
+
134
+ - id: "paso-5-rollback"
135
+ name: "Rollback"
136
+ description: "Revertir a deploy anterior si health check falla"
137
+ blocking: true
138
+ timeout_seconds: 300
139
+ condition: "health_check_failed"
140
+
141
+ - id: "paso-6-log"
142
+ name: "Registrar"
143
+ description: "Guardar metadatos en .sdd/estado.json"
144
+ blocking: false
145
+ timeout_seconds: 10
146
+
147
+ invocation:
148
+ automatic:
149
+ trigger: "sdd.implementar-paso-5"
150
+ condition: "deploy.plataforma == 'vercel'"
151
+ gate: "user_confirmation" # Requiere confirmación humana
152
+
153
+ manual:
154
+ commands:
155
+ - "/sdd.desplegar"
156
+ - "/sdd.desplegar --environment staging"
157
+ - "/sdd.desplegar --environment production"
158
+
159
+ error_handling:
160
+ - error_code: "VERCEL_TOKEN_MISSING"
161
+ http_code: 401
162
+ message: "VERCEL_TOKEN no configurado"
163
+ action: "user_must_set_token"
164
+
165
+ - error_code: "TESTS_FAILING"
166
+ http_code: 422
167
+ message: "Tests fallando"
168
+ action: "user_must_fix_tests"
169
+
170
+ - error_code: "HEALTH_CHECK_FAILED"
171
+ http_code: 502
172
+ message: "Health check falló después de reintentos"
173
+ action: "automatic_rollback"
174
+
175
+ - error_code: "BUILD_FAILED"
176
+ http_code: 422
177
+ message: "Build local falló"
178
+ action: "user_must_fix_code"
179
+
180
+ - error_code: "UNCOMMITTED_CHANGES"
181
+ http_code: 422
182
+ message: "Cambios sin stagear"
183
+ action: "user_must_commit"
184
+
185
+ - error_code: "SECRETS_FOUND"
186
+ http_code: 422
187
+ message: "Secretos detectados en código"
188
+ action: "user_must_move_secrets"
189
+
190
+ atomic: true
191
+ idempotent: true
192
+ supports_rollback: true
193
+
194
+ documentation:
195
+ files:
196
+ - path: "./SKILL.md"
197
+ type: "spec"
198
+ primary: true
199
+ - path: "./README.md"
200
+ type: "quickstart"
201
+ - path: "./CHECKLIST.md"
202
+ type: "prerequisites"
203
+ - path: "./INTEGRATION.md"
204
+ type: "integration"
205
+ - path: "./deploy.sh"
206
+ type: "executable"
207
+ - path: "./INDEX.md"
208
+ type: "navigation"
209
+
210
+ examples:
211
+ - name: "Despliegue simple"
212
+ commands:
213
+ - "export VERCEL_TOKEN='vercel_xxx_abc123...'"
214
+ - "/sdd.desplegar"
215
+
216
+ - name: "Despliegue a staging"
217
+ commands:
218
+ - "export VERCEL_TOKEN='vercel_xxx_abc123...'"
219
+ - "/sdd.desplegar --environment staging"
220
+
221
+ - name: "Despliegue manual con script"
222
+ commands:
223
+ - "bash ./skills/vercel-deploy/deploy.sh"
224
+
225
+ post_deployment:
226
+ actions:
227
+ - "/sdd.snapshot"
228
+ description: "Actualizar estado del producto"
229
+ - "/sdd.canary"
230
+ description: "Monitorear por 15 minutos"
231
+ - "/sdd.revertir"
232
+ description: "Rollback manual si es necesario"
233
+
234
+ monitoring:
235
+ state_file: ".sdd/estado.json"
236
+ logs_location: "~/.sdd/logs/vercel-deploy/"
237
+ dashboard_link: "https://vercel.com/dashboard"
238
+
239
+ security:
240
+ secrets_detected: true
241
+ secrets_patterns:
242
+ - "VERCEL_TOKEN"
243
+ - "API_KEY"
244
+ - "SECRET"
245
+ - "password"
246
+ token_exposure: "never"
247
+ git_safe: true
248
+
249
+ performance:
250
+ typical_duration_seconds: 240 # 4 minutos
251
+ max_duration_seconds: 1800 # 30 minutos
252
+ parallelizable: false
253
+
254
+ ci_cd_integrations:
255
+ - name: "GitHub Actions"
256
+ supported: true
257
+ docs: "https://vercel.com/docs/concepts/git/vercel-for-github"
258
+
259
+ - name: "GitLab CI"
260
+ supported: true
261
+ docs: "https://vercel.com/docs/concepts/git/vercel-for-gitlab"
262
+
263
+ - name: "Jenkins"
264
+ supported: true
265
+ example: "vercel deploy --prod --token=$VERCEL_TOKEN"
266
+
267
+ frameworks_supported:
268
+ - next.js
269
+ - React
270
+ - Vue
271
+ - Astro
272
+ - Python (Flask, FastAPI)
273
+ - Node.js
274
+ - Express
275
+ - Nuxt
276
+ - SvelteKit
277
+
278
+ pricing:
279
+ skill_cost: "free"
280
+ vercel_cost: "see https://vercel.com/pricing"
281
+
282
+ changelog:
283
+ - version: "1.0.0"
284
+ date: "2026-06-13"
285
+ changes:
286
+ - "Initial release"
287
+ - "6-step deployment flow"
288
+ - "Automatic health checks"
289
+ - "Atomic rollback support"
290
+ - "Framework auto-detection"
291
+
292
+ maintainers:
293
+ - "SDD Team"
294
+ - "DevOps"
295
+
296
+ license: "MIT"
297
+
298
+ ---
299
+
300
+ # Uso en YAML de proyectos
301
+
302
+ ```yaml
303
+ # En tu sdd.implementar.md o configuración:
304
+ deploy:
305
+ plataforma: vercel
306
+ framework: auto # O específico: nextjs, react, vue, etc.
307
+ environment: production
308
+ skill: vercel-deploy
309
+ ```
310
+
311
+ # Invocación desde CLI
312
+
313
+ ```bash
314
+ # Automática (con gate de confirmación)
315
+ /sdd.implementar
316
+
317
+ # Manual
318
+ /sdd.desplegar
319
+ /sdd.desplegar --environment staging
320
+
321
+ # Directamente (si se expone como skill)
322
+ /vercel-deploy
323
+ ```