sdd-es 2.0.0 → 2.5.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 (95) hide show
  1. package/.claude/settings.json +21 -45
  2. package/LICENSE +21 -0
  3. package/README.md +51 -21
  4. package/agents/architecture-designer.md +174 -0
  5. package/agents/arquitecto.md +16 -1
  6. package/agents/asesor-datos.md +15 -1
  7. package/agents/critico.md +37 -1
  8. package/agents/desarrollador-backend.md +3 -1
  9. package/agents/desarrollador-frontend.md +3 -1
  10. package/agents/disenador-api.md +13 -1
  11. package/agents/documentador.md +3 -1
  12. package/agents/investigador.md +3 -1
  13. package/agents/operaciones.md +3 -1
  14. package/agents/product-designer.md +232 -0
  15. package/agents/revisor.md +25 -1
  16. package/agents/seguridad.md +5 -1
  17. package/agents/tester.md +3 -1
  18. package/claude-hooks/agent-memory.js +154 -0
  19. package/cli/index.js +1 -2
  20. package/commands/sdd.analizar.md +23 -2
  21. package/commands/sdd.compliance.md +516 -0
  22. package/commands/sdd.configurar.md +33 -0
  23. package/commands/sdd.constitucion.md +198 -23
  24. package/commands/sdd.construir.md +210 -0
  25. package/commands/sdd.dise/303/261ar.md +188 -0
  26. package/commands/sdd.estado.md +68 -1
  27. package/commands/sdd.exportar.md +344 -0
  28. package/commands/sdd.implementar.md +203 -23
  29. package/commands/sdd.interpretar.md +239 -0
  30. package/commands/sdd.md +70 -1
  31. package/commands/sdd.optimizar.md +164 -0
  32. package/commands/sdd.planificar.md +64 -0
  33. package/commands/sdd.verificar.md +10 -0
  34. package/craft/accessibility-baseline.md +216 -0
  35. package/craft/anti-ai-slop.md +158 -0
  36. package/craft/color.md +160 -0
  37. package/craft/typography.md +121 -0
  38. package/design-systems/bold-brutalist/DESIGN.md +239 -0
  39. package/design-systems/editorial-minimal/DESIGN.md +205 -0
  40. package/design-systems/neutral-modern/DESIGN.md +227 -0
  41. package/design-systems/vibrant-consumer/DESIGN.md +257 -0
  42. package/design-systems/warm-editorial/DESIGN.md +221 -0
  43. package/docs/AGENTES.md +4 -1
  44. package/docs/FABRICA.md +164 -115
  45. package/docs/MEMORIA-Y-OBSERVABILIDAD.md +237 -0
  46. package/docs/MODELOS.md +3 -0
  47. package/docs/QUE-PASA-SI-FALLA.md +404 -0
  48. package/docs/SEGURIDAD-PARA-NOTECNICOS.md +280 -0
  49. package/package.json +5 -3
  50. package/skills/cache-audit/SKILL.md +163 -0
  51. package/skills/critica-diseno/SKILL.md +193 -0
  52. package/skills/descubrir-idea/SKILL.md +133 -0
  53. package/skills/effort-router/SKILL.md +128 -0
  54. package/skills/elegir-direccion/SKILL.md +184 -0
  55. package/skills/github-connect/IMPLEMENTATION-CHECKLIST.md +297 -0
  56. package/skills/github-connect/INDEX.md +223 -0
  57. package/skills/github-connect/INTEGRATION.md +361 -0
  58. package/skills/github-connect/QUICK-START.md +168 -0
  59. package/skills/github-connect/README.md +414 -0
  60. package/skills/github-connect/RESUMEN_IMPLEMENTACION.txt +374 -0
  61. package/skills/github-connect/SKILL.md +343 -0
  62. package/skills/github-connect/STRUCTURE.txt +252 -0
  63. package/skills/github-connect/example-config.yaml +41 -0
  64. package/skills/github-connect/github-connect.sh +419 -0
  65. package/skills/interpretar-idea/SKILL.md +254 -0
  66. package/skills/memory-compactor/SKILL.md +114 -0
  67. package/skills/modo-guiado/SKILL.md +12 -2
  68. package/skills/observabilidad-consumo/SKILL.md +164 -0
  69. package/skills/token-budget/SKILL.md +154 -0
  70. package/skills/vercel-deploy/00-START-HERE.txt +364 -0
  71. package/skills/vercel-deploy/CHECKLIST.md +205 -0
  72. package/skills/vercel-deploy/EXEC-SUMMARY.txt +322 -0
  73. package/skills/vercel-deploy/FLOW.txt +334 -0
  74. package/skills/vercel-deploy/INDEX.md +276 -0
  75. package/skills/vercel-deploy/INTEGRATION.md +328 -0
  76. package/skills/vercel-deploy/MANIFEST.md +310 -0
  77. package/skills/vercel-deploy/README.md +65 -0
  78. package/skills/vercel-deploy/SKILL.md +356 -0
  79. package/skills/vercel-deploy/deploy.sh +298 -0
  80. package/skills/vercel-deploy/estado.json.example +205 -0
  81. package/skills/vercel-deploy/skill.yaml +323 -0
  82. package/skills/vercel-deploy/vercel-deploy.sh +216 -0
  83. package/skills/wireframe-mvp/SKILL.md +157 -0
  84. package/.claude-plugin/marketplace.json +0 -31
  85. package/.claude-plugin/plugin.json +0 -97
  86. package/docs/EJEMPLO-PRACTICA.md +0 -383
  87. package/docs/EJEMPLOS.md +0 -212
  88. /package/skills/{compresion-tokens.md → compresion-tokens/SKILL.md} +0 -0
  89. /package/skills/{constitucion-constraint.md → constitucion-constraint/SKILL.md} +0 -0
  90. /package/skills/{deteccion-stack.md → deteccion-stack/SKILL.md} +0 -0
  91. /package/skills/{enrutador-agentes.md → enrutador-agentes/SKILL.md} +0 -0
  92. /package/skills/{gestion-estado.md → gestion-estado/SKILL.md} +0 -0
  93. /package/skills/{indexador.md → indexador/SKILL.md} +0 -0
  94. /package/skills/{validacion-spec.md → validacion-spec/SKILL.md} +0 -0
  95. /package/skills/{verificador-implementacion.md → verificador-implementacion/SKILL.md} +0 -0
@@ -0,0 +1,216 @@
1
+ #!/bin/bash
2
+ # Vercel Deploy Skill - Wrapper para invocación desde SDD-ES
3
+ # Uso: ./vercel-deploy.sh [--spec-id SPEC_ID] [--profile PROFILE]
4
+
5
+ set -e
6
+
7
+ # Colores
8
+ RED='\033[0;31m'
9
+ GREEN='\033[0;32m'
10
+ YELLOW='\033[1;33m'
11
+ BLUE='\033[0;34m'
12
+ NC='\033[0m' # No Color
13
+
14
+ # Valores por defecto
15
+ SPEC_ID="${spec_id:=}"
16
+ PROFILE="${profile:=experto}"
17
+
18
+ # Parsear argumentos
19
+ while [[ $# -gt 0 ]]; do
20
+ case $1 in
21
+ --spec-id) SPEC_ID="$2"; shift 2 ;;
22
+ --profile) PROFILE="$2"; shift 2 ;;
23
+ *) shift ;;
24
+ esac
25
+ done
26
+
27
+ echo -e "${BLUE}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
28
+ echo -e "${BLUE}Vercel Deploy Skill${NC}"
29
+ echo -e "${BLUE}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
30
+ echo ""
31
+
32
+ # 1. Validar token Vercel
33
+ if [ -z "$VERCEL_TOKEN" ]; then
34
+ echo -e "${RED}❌ VERCEL_TOKEN no configurado${NC}"
35
+ echo ""
36
+ echo "Para generar un token:"
37
+ echo "1. Ve a: https://vercel.com/account/tokens"
38
+ echo "2. Crea un nuevo token con scope 'full'"
39
+ echo "3. Copia el token y pégalo en la variable VERCEL_TOKEN"
40
+ echo ""
41
+ exit 1
42
+ fi
43
+
44
+ echo -e "${BLUE}📋 Configuración:${NC}"
45
+ echo " Profile: $PROFILE"
46
+ echo " Spec ID: $SPEC_ID"
47
+ echo ""
48
+
49
+ # 2. Ejecutar pre-checks
50
+ echo -e "${BLUE}🔍 Ejecutando pre-checks...${NC}"
51
+
52
+ # Check: Token Vercel
53
+ echo -e "${GREEN}✅ Token Vercel presente${NC}"
54
+
55
+ # Check: Cambios no commiteados → auto-commit sin mostrar git comandos
56
+ if ! git diff-files --quiet || ! git diff-index --cached --quiet HEAD; then
57
+ echo -e "${YELLOW}⚠️ Guardando cambios automáticamente...${NC}"
58
+ git add -A
59
+ git commit -m "Auto-commit SDD-ES deploy ($(date +'%Y-%m-%d %H:%M:%S'))" 2>/dev/null || true
60
+ echo -e "${GREEN}✅ Cambios guardados${NC}"
61
+ else
62
+ echo -e "${GREEN}✅ Rama limpia${NC}"
63
+ fi
64
+
65
+ # Check: Tests pasen (si existen)
66
+ if [ -f "package.json" ] && grep -q '"test"' package.json; then
67
+ echo -e "${BLUE}🧪 Ejecutando tests...${NC}"
68
+ if npm test 2>&1 | tail -5; then
69
+ echo -e "${GREEN}✅ Tests pasando${NC}"
70
+ else
71
+ echo -e "${YELLOW}⚠️ Tests con fallos o warnings${NC}"
72
+ fi
73
+ fi
74
+
75
+ # Check: Sin secretos en código
76
+ echo -e "${BLUE}🔒 Verificando secretos...${NC}"
77
+ if grep -r "PRIVATE_KEY\|PASSWORD\|SECRET" --include="*.js" --include="*.ts" . 2>/dev/null | grep -v node_modules | grep -v ".git"; then
78
+ echo -e "${YELLOW}⚠️ Se encontraron posibles secretos en el código${NC}"
79
+ else
80
+ echo -e "${GREEN}✅ Sin secretos detectados${NC}"
81
+ fi
82
+
83
+ echo ""
84
+
85
+ # 3. Auto-generar vercel.json si no existe
86
+ if [ ! -f "vercel.json" ]; then
87
+ echo -e "${BLUE}📝 Generando vercel.json...${NC}"
88
+
89
+ # Detectar tipo de proyecto
90
+ if [ -f "package.json" ]; then
91
+ # Node.js project
92
+ cat > vercel.json << 'EOF'
93
+ {
94
+ "version": 2,
95
+ "buildCommand": "npm run build || npm run dev",
96
+ "installCommand": "npm install",
97
+ "env": {
98
+ "NODE_ENV": "production"
99
+ },
100
+ "regions": ["sfo1"],
101
+ "functions": {
102
+ "api/**/*.js": {
103
+ "maxDuration": 10
104
+ }
105
+ },
106
+ "redirects": [
107
+ {
108
+ "source": "/",
109
+ "destination": "/index.html"
110
+ }
111
+ ]
112
+ }
113
+ EOF
114
+ echo -e "${GREEN}✅ vercel.json creado${NC}"
115
+ else
116
+ echo -e "${YELLOW}⚠️ No se pudo detectar tipo de proyecto${NC}"
117
+ fi
118
+ fi
119
+
120
+ echo ""
121
+
122
+ # 4. Desplegar a Vercel
123
+ echo -e "${BLUE}🚀 Desplegando a Vercel...${NC}"
124
+
125
+ # Usar Vercel CLI si está disponible, sino instrucciones
126
+ if command -v vercel &> /dev/null; then
127
+ echo -e "${BLUE}Usando Vercel CLI...${NC}"
128
+
129
+ # Deploy
130
+ if vercel --token "$VERCEL_TOKEN" --prod 2>&1 | tee /tmp/vercel-deploy.log; then
131
+ echo -e "${GREEN}✅ Deploy completado${NC}"
132
+
133
+ # Obtener URL
134
+ VERCEL_URL=$(grep "https://" /tmp/vercel-deploy.log | tail -1 | awk '{print $NF}')
135
+ if [ -n "$VERCEL_URL" ]; then
136
+ echo -e "${GREEN} URL: $VERCEL_URL${NC}"
137
+ fi
138
+ else
139
+ echo -e "${RED}❌ Error en el deploy${NC}"
140
+ exit 1
141
+ fi
142
+ else
143
+ echo -e "${YELLOW}⚠️ Vercel CLI no instalado${NC}"
144
+ echo ""
145
+ echo "Para instalar:"
146
+ echo " npm i -g vercel"
147
+ echo ""
148
+ echo "Luego ejecuta:"
149
+ echo " vercel --token \$VERCEL_TOKEN --prod"
150
+ echo ""
151
+ exit 1
152
+ fi
153
+
154
+ echo ""
155
+
156
+ # 5. Health check (3 reintentos)
157
+ echo -e "${BLUE}🏥 Ejecutando health checks...${NC}"
158
+
159
+ MAX_RETRIES=3
160
+ RETRY=0
161
+ HEALTH_OK=false
162
+
163
+ while [ $RETRY -lt $MAX_RETRIES ]; do
164
+ RETRY=$((RETRY + 1))
165
+ echo -e "${BLUE}Intento $RETRY/$MAX_RETRIES...${NC}"
166
+
167
+ sleep 5 # Esperar a que Vercel estabilice
168
+
169
+ if curl -s -o /dev/null -w "%{http_code}" "$VERCEL_URL" | grep -q "200"; then
170
+ echo -e "${GREEN}✅ Health check pasó${NC}"
171
+ HEALTH_OK=true
172
+ break
173
+ else
174
+ echo -e "${YELLOW}⚠️ Health check falló, reintentando...${NC}"
175
+ fi
176
+ done
177
+
178
+ if [ "$HEALTH_OK" = false ]; then
179
+ echo -e "${RED}❌ Health check falló después de $MAX_RETRIES intentos${NC}"
180
+ echo ""
181
+ echo "Tu código está publicado en Vercel, pero parece haber un problema."
182
+ echo "Verifica en: https://vercel.com/dashboard"
183
+ exit 1
184
+ fi
185
+
186
+ echo ""
187
+
188
+ # 6. Guardar configuración
189
+ echo -e "${BLUE}💾 Guardando estado del deploy...${NC}"
190
+
191
+ mkdir -p .sdd
192
+
193
+ cat > .sdd/.vercel-deploy.json << EOF
194
+ {
195
+ "deployed": true,
196
+ "deployment_date": "$(date -u +%Y-%m-%dT%H:%M:%SZ)",
197
+ "app_url": "$VERCEL_URL",
198
+ "profile": "$PROFILE",
199
+ "spec_id": "$SPEC_ID"
200
+ }
201
+ EOF
202
+
203
+ echo -e "${GREEN}✅ Configuración guardada${NC}"
204
+
205
+ echo ""
206
+ echo -e "${BLUE}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
207
+ echo -e "${GREEN}✅ ¡Despliegue exitoso!${NC}"
208
+ echo -e "${BLUE}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
209
+ echo ""
210
+ echo "Tu app está en vivo:"
211
+ echo -e " ${GREEN}$VERCEL_URL${NC}"
212
+ echo ""
213
+ echo "Puedes compartir este link con quien quieras."
214
+ echo ""
215
+
216
+ exit 0
@@ -0,0 +1,157 @@
1
+ ---
2
+ description: Genera un wireframe HTML de la pantalla P0 del MVP. Usa el DESIGN.md activo para colores, tipografía y estilo. Guarda el HTML en .sdd/diseño/ con la tool Write. Respeta {PLUGIN_DIR}/craft/anti-ai-slop.md.
3
+ model: claude-sonnet-4-6
4
+ allowed-tools: Read, Write, Bash
5
+ ---
6
+
7
+ # Skill: Wireframe MVP
8
+
9
+ ## Propósito
10
+
11
+ Generar un **wireframe HTML funcional** de la pantalla más importante del MVP (P0). El wireframe es visual, usa los tokens del DESIGN.md activo, y el usuario puede verlo antes de que exista una línea de código real.
12
+
13
+ ---
14
+
15
+ ## Lo que lees antes de empezar
16
+
17
+ ```bash
18
+ # Pantalla P0
19
+ cat .sdd/product-design.json | node -e "
20
+ const d = JSON.parse(require('fs').readFileSync('/dev/stdin','utf8'));
21
+ const p0 = d.core_screens.find(s => s.priority === 'P0');
22
+ console.log(JSON.stringify(p0, null, 2));
23
+ console.log('DESIGN:', d.design_direction);
24
+ "
25
+
26
+ # DESIGN.md activo
27
+ DESIGN_PATH=$(cat .sdd/estado.json | node -e "
28
+ const d = JSON.parse(require('fs').readFileSync('/dev/stdin','utf8'));
29
+ console.log(d.design_system_path || '{PLUGIN_DIR}/design-systems/neutral-modern/DESIGN.md');
30
+ ")
31
+ cat "$DESIGN_PATH"
32
+
33
+ # Reglas anti-slop
34
+ cat "{PLUGIN_DIR}/craft/anti-ai-slop.md" | head -80
35
+ ```
36
+
37
+ ---
38
+
39
+ ## Lo que produces
40
+
41
+ Un HTML completo, en un solo archivo, guardado con la tool `Write` en `.sdd/diseño/wireframe-pantalla-principal.html`:
42
+
43
+ ```html
44
+ <!DOCTYPE html>
45
+ <html lang="es">
46
+ <head>
47
+ <meta charset="UTF-8">
48
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
49
+ <title>[product.name] — [screen.name]</title>
50
+ <style>
51
+ /* Variables del DESIGN.md activo */
52
+ :root {
53
+ --bg-base: [valor del DESIGN.md];
54
+ --text-primary: [valor del DESIGN.md];
55
+ --accent: [valor del DESIGN.md];
56
+ /* ... resto de variables */
57
+ }
58
+ /* Estilos de componentes del DESIGN.md */
59
+ /* ... */
60
+ </style>
61
+ </head>
62
+ <body>
63
+ <!-- Wireframe de [screen.name] -->
64
+ <!-- Usando los elementos definidos en screen.elements[] -->
65
+ </body>
66
+ </html>
67
+ ```
68
+
69
+ ---
70
+
71
+ ## Reglas de generación
72
+
73
+ ### 1. Fidelidad al DESIGN.md
74
+
75
+ - Los valores CSS **deben coincidir** con el DESIGN.md activo (colores, fuentes, border-radius, sombras)
76
+ - Para las fuentes: si el DESIGN.md usa Google Fonts, añadir el `<link>` correspondiente
77
+ - Para bold-brutalist: `border-radius: 0`, offset shadows, UPPERCASE en headings
78
+ - Para warm-editorial: Playfair Display para headings, bordes casi cuadrados
79
+ - Para neutral-modern: Inter, border-radius 6–8px, sombras mínimas
80
+
81
+ ### 2. Contenido del wireframe
82
+
83
+ - Usar **copy real derivado del IR** — el nombre del producto, las features del mvp
84
+ - **No usar lorem ipsum** ni "Feature One" ni placeholders genéricos
85
+ - Los datos de ejemplo deben ser coherentes con el dominio (si es peluquería, usar "10:00 - Ana García", no "Item 1")
86
+
87
+ ### 3. Estructura del HTML
88
+
89
+ - Un solo archivo (no imports externos excepto Google Fonts)
90
+ - CSS en `<style>` inline
91
+ - No usar frameworks externos (no Tailwind, no Bootstrap)
92
+ - JavaScript solo si la pantalla lo requiere (ej: toggle de tab, modal básico)
93
+ - El wireframe debe verse bien en 1280px de ancho (desktop first para web)
94
+
95
+ ### 4. Elementos a incluir
96
+
97
+ Genera los elementos definidos en `screen.elements[]` del ProductDesign:
98
+ - `nav` → barra de navegación con el nombre del producto + links principales
99
+ - `hero` → sección principal con el value proposition
100
+ - `form` → formulario con los campos relevantes al dominio
101
+ - `table` → tabla con datos de ejemplo del dominio
102
+ - `card` → tarjeta(s) con información
103
+ - `list` → lista de items
104
+ - `button` → botón con el label del CTA real
105
+ - `modal` → modal (puede ser cerrado por defecto)
106
+
107
+ ### 5. Guardar con Write
108
+
109
+ Usa la tool `Write` para guardar el HTML directamente:
110
+ - Ruta destino: `.sdd/diseño/wireframe-pantalla-principal.html`
111
+ - Crear el directorio `.sdd/diseño/` si no existe (con `Bash`: `mkdir -p .sdd/diseño`)
112
+ - Después de guardar, abrir en el navegador: `start .sdd/diseño/wireframe-pantalla-principal.html` (Windows) / `open ...` (Mac) / `xdg-open ...` (Linux)
113
+
114
+ ---
115
+
116
+ ## Checklist anti-AI-slop (OBLIGATORIO antes de finalizar)
117
+
118
+ Antes de guardar el HTML, verifica:
119
+
120
+ - [ ] ¿Los colores son exactamente los del DESIGN.md? (sin indigo default `#6366F1`)
121
+ - [ ] ¿No hay gradientes de 2 colores en diagonal sobre el hero?
122
+ - [ ] ¿Los iconos son SVG o texto — no emojis?
123
+ - [ ] ¿La fuente es la del DESIGN.md (no sistema default si el DESIGN.md especifica una)?
124
+ - [ ] ¿No hay métricas inventadas ("10x más rápido")?
125
+ - [ ] ¿El copy es específico del dominio (no "Feature One", "Lorem ipsum")?
126
+ - [ ] ¿No hay el patrón "card con borde izquierdo de color + métrica"?
127
+
128
+ Si alguno falla, corregir antes de guardar.
129
+
130
+ ---
131
+
132
+ ## Guardar el output
133
+
134
+ ```bash
135
+ mkdir -p .sdd/diseño
136
+ ```
137
+
138
+ Luego usar la tool `Write` con ruta `.sdd/diseño/wireframe-pantalla-principal.html` y el HTML completo como contenido.
139
+
140
+ ```bash
141
+ # Abrir en navegador tras guardar
142
+ start .sdd/diseño/wireframe-pantalla-principal.html # Windows
143
+ # open .sdd/diseño/wireframe-pantalla-principal.html # macOS
144
+ # xdg-open .sdd/diseño/wireframe-pantalla-principal.html # Linux
145
+
146
+ echo "✅ Wireframe guardado en .sdd/diseño/wireframe-pantalla-principal.html"
147
+ ```
148
+
149
+ ---
150
+
151
+ ## Notas
152
+
153
+ - El wireframe es un **boceto funcional**, no el diseño final
154
+ - El objetivo es que el usuario vea "su producto" antes de que exista código
155
+ - Después del wireframe, la skill `critica-diseno` evalúa y refina automáticamente
156
+ - El HTML generado puede usarse como base para el frontend real (los tokens CSS son reutilizables)
157
+ - El HTML se abre directamente en el navegador del sistema — no requiere servidor
@@ -1,31 +0,0 @@
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
- }
@@ -1,97 +0,0 @@
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
- }