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,205 @@
1
+ # Editorial Minimal — DESIGN.md
2
+
3
+ **Tagline**: Silencio tipográfico. El diseño que se quita de en medio.
4
+
5
+ Un sistema austero donde solo existe lo necesario. Más espacio en blanco que contenido visible. Cada elemento justifica su presencia.
6
+
7
+ ---
8
+
9
+ ## 1. Visual Theme & Atmosphere
10
+
11
+ Editorial Minimal es la reducción máxima. Sin color de acento visible en el estado de reposo. La tipografía es el único ornamento. Inspirado en la arquitectura japonesa (ma — el valor del espacio vacío) y en las mejores publicaciones tipográficas europeas.
12
+
13
+ **Sensación**: quietud, autoridad, precisión.
14
+ **Anti-sensación**: caos, ruido, urgencia.
15
+
16
+ Productos ideales: firmas de abogados, consultoras de alto nivel, estudios de fotografía, galerías, portfolios de diseño, plataformas editoriales premium.
17
+
18
+ ---
19
+
20
+ ## 2. Color Palette & Roles
21
+
22
+ ```css
23
+ :root {
24
+ /* Fondos */
25
+ --bg-base: #FFFFFF;
26
+ --bg-surface: #FAFAFA;
27
+ --bg-surface2: #F5F5F5;
28
+
29
+ /* Texto */
30
+ --text-primary: #0A0A0A;
31
+ --text-secondary:#2A2A2A;
32
+ --text-muted: #767676;
33
+ --text-inverse: #FFFFFF;
34
+
35
+ /* Acento — solo aparece en acciones, no en decoración */
36
+ --accent: #0A0A0A;
37
+ --accent-hover: #2A2A2A;
38
+ --accent-subtle: #F0F0F0;
39
+
40
+ /* Bordes */
41
+ --border: #E0E0E0;
42
+ --border-strong: #0A0A0A;
43
+
44
+ /* Semánticos */
45
+ --error: #CC0000;
46
+ --success: #006600;
47
+ --warning: #AA6600;
48
+ }
49
+ ```
50
+
51
+ **Regla de color**: casi monocromático. El "acento" es negro sobre blanco. El único color permitido es uno de semántica (error/success), y solo cuando hay un mensaje que mostrar.
52
+
53
+ ---
54
+
55
+ ## 3. Typography Rules
56
+
57
+ **Display**: Freight Display Pro (si disponible) o **Cormorant Garamond** (Google Fonts) — `font-weight: 300, 600`
58
+ **Body**: **IBM Plex Serif** o **Lora** (Google Fonts) — `font-weight: 400`
59
+ **UI labels**: **IBM Plex Sans** — `font-weight: 400, 500`
60
+ **Code**: IBM Plex Mono
61
+
62
+ ```html
63
+ <link href="https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@300;600&family=Lora:wght@400&family=IBM+Plex+Sans:wght@400;500&display=swap" rel="stylesheet">
64
+ ```
65
+
66
+ ```css
67
+ :root {
68
+ --font-display: 'Cormorant Garamond', Georgia, serif;
69
+ --font-body: 'Lora', Georgia, serif;
70
+ --font-ui: 'IBM Plex Sans', system-ui, sans-serif;
71
+ --font-mono: 'IBM Plex Mono', monospace;
72
+ }
73
+ ```
74
+
75
+ **Escala**:
76
+ - Hero h1: `clamp(48px, 8vw, 96px)`, weight 300, letter-spacing -0.02em
77
+ - Section h2: 32px, weight 600
78
+ - Body: 17px, line-height 1.75
79
+ - UI labels: 13px, weight 500, letter-spacing 0.04em, UPPERCASE
80
+
81
+ ---
82
+
83
+ ## 4. Component Stylings
84
+
85
+ ### Botones
86
+ ```css
87
+ .btn-primary {
88
+ background: var(--accent);
89
+ color: var(--text-inverse);
90
+ padding: 12px 32px;
91
+ border: 1px solid var(--accent);
92
+ border-radius: 0; /* sin border-radius */
93
+ font-family: var(--font-ui);
94
+ font-size: 12px;
95
+ font-weight: 500;
96
+ letter-spacing: 0.1em;
97
+ text-transform: uppercase;
98
+ }
99
+
100
+ .btn-secondary {
101
+ background: transparent;
102
+ color: var(--text-primary);
103
+ border: 1px solid var(--border-strong);
104
+ /* mismas propiedades de tipografía */
105
+ }
106
+ ```
107
+
108
+ ### Cards
109
+ ```css
110
+ .card {
111
+ background: var(--bg-surface);
112
+ border: 1px solid var(--border);
113
+ border-radius: 0;
114
+ padding: 40px;
115
+ }
116
+ ```
117
+
118
+ ### Inputs
119
+ ```css
120
+ input, textarea {
121
+ border: none;
122
+ border-bottom: 1px solid var(--border-strong);
123
+ border-radius: 0;
124
+ padding: 12px 0;
125
+ background: transparent;
126
+ font-family: var(--font-ui);
127
+ font-size: 15px;
128
+ }
129
+ input:focus { border-bottom-color: var(--accent); outline: none; }
130
+ ```
131
+
132
+ ### Divisores
133
+ ```css
134
+ hr { border: none; border-top: 1px solid var(--border); margin: 64px 0; }
135
+ ```
136
+
137
+ ---
138
+
139
+ ## 5. Layout Principles
140
+
141
+ - **Máximo ancho de contenido**: 720px (texto), 1100px (layout completo)
142
+ - **Grid**: 12 columnas con gutter de 32px
143
+ - **Espaciado**: múltiplos de 8px (8, 16, 24, 32, 48, 64, 96, 128)
144
+ - **Margen vertical entre secciones**: mínimo 96px — el espacio es parte del diseño
145
+ - El espacio vacío no es "espacio perdido" — es el diseño
146
+
147
+ ---
148
+
149
+ ## 6. Depth & Elevation
150
+
151
+ Sin sombras. La elevación se comunica con bordes y diferencia de color de fondo.
152
+
153
+ ```css
154
+ /* Sin box-shadow — usar separación cromática */
155
+ .elevated { background: var(--bg-surface); border: 1px solid var(--border); }
156
+ ```
157
+
158
+ ---
159
+
160
+ ## 7. Do's and Don'ts
161
+
162
+ **Do**:
163
+ - Usa el espacio vacío como elemento de diseño activo
164
+ - Un elemento centrado, mucho espacio alrededor — máxima elegancia
165
+ - Tipografía de display condensada y ligera para títulos grandes
166
+ - Líneas horizontales finas como únicos separadores decorativos
167
+ - Texto en mayúsculas solo para labels de 1–3 palabras
168
+
169
+ **Don't**:
170
+ - Colores de fondo en secciones (no alternar gris/blanco en secciones)
171
+ - Sombras de ningún tipo
172
+ - Más de 2 familias tipográficas
173
+ - Botones con border-radius redondeado
174
+ - Emojis o iconos decorativos de ningún tipo
175
+
176
+ ---
177
+
178
+ ## 8. Responsive Behavior
179
+
180
+ ```css
181
+ /* Mobile first */
182
+ body { font-size: 16px; padding: 24px; }
183
+ h1 { font-size: clamp(32px, 7vw, 96px); }
184
+ .container { max-width: 720px; margin: 0 auto; padding: 0 24px; }
185
+
186
+ @media (min-width: 768px) {
187
+ body { padding: 40px; }
188
+ .container { padding: 0 40px; }
189
+ }
190
+ ```
191
+
192
+ ---
193
+
194
+ ## 9. Agent Prompt Guide
195
+
196
+ Cuando generes wireframes con Editorial Minimal:
197
+
198
+ - **Espacio blanco**: la pantalla debe tener más espacio vacío que contenido — si parece "llena", elimina elementos
199
+ - **Tipografía como jerarquía**: el título principal debe ser grande (≥ 48px), ligero (weight 300), y tener mucho espacio alrededor
200
+ - **Sin color de acento visible**: el negro es el acento. No añadir color decorativo
201
+ - **Inputs underline**: los campos de formulario solo tienen borde inferior, sin caja
202
+ - **Botones con borde cuadrado**: `border-radius: 0`, tipografía en mayúsculas pequeñas
203
+ - **Sin sombras**: la elevación es con borde y fondo diferenciado
204
+ - **Centrar con propósito**: elementos importantes centrados en página, no en columna lateral
205
+ - **La regla de oro**: si puedes eliminar un elemento y la pantalla mejora, elimínalo
@@ -0,0 +1,227 @@
1
+ # DESIGN SYSTEM: Neutral Modern
2
+
3
+ > **Dirección**: Minimal, funcional, sobrio. Confiable sin ser frío. El diseño no compite con el contenido.
4
+
5
+ ---
6
+
7
+ ## 1. Visual Theme & Atmosphere
8
+
9
+ Calm, functional, quietly confident. Espacios amplios. Tipografía clara. Acciones obvias.
10
+ El producto desaparece — solo queda la tarea del usuario.
11
+
12
+ **Palabras clave**: limpio · espacioso · legible · confiable · sin adornos
13
+
14
+ ---
15
+
16
+ ## 2. Color Palette & Roles
17
+
18
+ ```css
19
+ /* Fondos */
20
+ --bg-base: #FAFAFA; /* fondo principal */
21
+ --bg-surface: #FFFFFF; /* tarjetas, modales */
22
+ --bg-subtle: #F4F4F5; /* inputs, secciones alternadas */
23
+ --bg-emphasis: #E4E4E7; /* hover states */
24
+
25
+ /* Texto */
26
+ --text-primary: #111111; /* texto principal */
27
+ --text-secondary:#52525B; /* texto de soporte, labels */
28
+ --text-muted: #A1A1AA; /* placeholders, deshabilitados */
29
+ --text-inverse: #FFFFFF; /* texto sobre fondos oscuros */
30
+
31
+ /* Acento */
32
+ --accent: #2563EB; /* acciones primarias, links, focus */
33
+ --accent-hover: #1D4ED8; /* hover del acento */
34
+ --accent-subtle: #EFF6FF; /* fondos de chips, badges de acento */
35
+
36
+ /* Estado */
37
+ --success: #16A34A;
38
+ --warning: #D97706;
39
+ --error: #DC2626;
40
+ --info: #0284C7;
41
+
42
+ /* Bordes */
43
+ --border: #E4E4E7; /* separadores, inputs */
44
+ --border-strong: #A1A1AA; /* bordes con más énfasis */
45
+ ```
46
+
47
+ **Regla de uso**: El acento aparece máximo en 2 elementos por pantalla. Nunca decorativo — solo en acciones.
48
+
49
+ ---
50
+
51
+ ## 3. Typography Rules
52
+
53
+ ```css
54
+ /* Fuentes */
55
+ --font-display: 'Inter', system-ui, sans-serif;
56
+ --font-body: 'Inter', system-ui, sans-serif;
57
+ --font-mono: 'JetBrains Mono', 'Fira Code', monospace;
58
+
59
+ /* Escala (8 pasos) */
60
+ --text-xs: 12px / 1.4;
61
+ --text-sm: 14px / 1.5;
62
+ --text-base: 16px / 1.6; /* body default */
63
+ --text-lg: 18px / 1.5;
64
+ --text-xl: 20px / 1.4;
65
+ --text-2xl: 24px / 1.3;
66
+ --text-3xl: 30px / 1.2;
67
+ --text-4xl: 36px / 1.1;
68
+
69
+ /* Pesos */
70
+ --weight-normal: 400;
71
+ --weight-medium: 500;
72
+ --weight-semibold: 600;
73
+ --weight-bold: 700;
74
+
75
+ /* Tracking */
76
+ --tracking-tight: -0.02em; /* headings grandes */
77
+ --tracking-normal: 0em;
78
+ --tracking-wide: 0.05em; /* labels, caps pequeñas */
79
+ ```
80
+
81
+ **Reglas**:
82
+ - H1: 30–36px, weight 700, tracking -0.02em
83
+ - H2: 24px, weight 600
84
+ - Body: 16px, weight 400, line-height 1.6
85
+ - Labels: 12–14px, weight 500, UPPERCASE solo para etiquetas de categoría
86
+
87
+ ---
88
+
89
+ ## 4. Component Stylings
90
+
91
+ ### Botones
92
+ ```css
93
+ /* Primario */
94
+ .btn-primary {
95
+ background: var(--accent);
96
+ color: white;
97
+ padding: 10px 20px;
98
+ border-radius: 6px;
99
+ font-weight: 500;
100
+ font-size: 14px;
101
+ }
102
+ .btn-primary:hover { background: var(--accent-hover); }
103
+
104
+ /* Secundario */
105
+ .btn-secondary {
106
+ background: transparent;
107
+ border: 1px solid var(--border-strong);
108
+ color: var(--text-primary);
109
+ padding: 10px 20px;
110
+ border-radius: 6px;
111
+ }
112
+
113
+ /* Ghost */
114
+ .btn-ghost {
115
+ background: transparent;
116
+ color: var(--text-secondary);
117
+ padding: 8px 16px;
118
+ }
119
+ .btn-ghost:hover { background: var(--bg-subtle); }
120
+ ```
121
+
122
+ ### Cards
123
+ ```css
124
+ .card {
125
+ background: var(--bg-surface);
126
+ border: 1px solid var(--border);
127
+ border-radius: 8px;
128
+ padding: 20px 24px;
129
+ box-shadow: 0 1px 3px rgba(0,0,0,0.06);
130
+ }
131
+ ```
132
+
133
+ ### Inputs
134
+ ```css
135
+ .input {
136
+ background: var(--bg-surface);
137
+ border: 1px solid var(--border);
138
+ border-radius: 6px;
139
+ padding: 10px 14px;
140
+ font-size: 14px;
141
+ color: var(--text-primary);
142
+ }
143
+ .input:focus {
144
+ border-color: var(--accent);
145
+ outline: 2px solid var(--accent-subtle);
146
+ outline-offset: 0;
147
+ }
148
+ ```
149
+
150
+ ### Badges / Tags
151
+ ```css
152
+ .badge {
153
+ display: inline-flex;
154
+ padding: 2px 8px;
155
+ border-radius: 4px;
156
+ font-size: 12px;
157
+ font-weight: 500;
158
+ background: var(--bg-subtle);
159
+ color: var(--text-secondary);
160
+ }
161
+ ```
162
+
163
+ ---
164
+
165
+ ## 5. Layout Principles
166
+
167
+ - **Grid**: 12 columnas, gutter 24px, max-width 1200px
168
+ - **Contenedor principal**: `max-width: 1200px; margin: 0 auto; padding: 0 24px`
169
+ - **Sidebar**: 240–280px fijo, contenido: el resto
170
+ - **Espaciado base**: múltiplos de 4px (4, 8, 12, 16, 24, 32, 48, 64, 96)
171
+ - **Sección vertical**: `padding-top: 64px; padding-bottom: 64px`
172
+
173
+ ---
174
+
175
+ ## 6. Depth & Elevation
176
+
177
+ Solo 2 niveles:
178
+ ```css
179
+ --shadow-sm: 0 1px 3px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.04); /* cards */
180
+ --shadow-md: 0 4px 12px rgba(0,0,0,0.08), 0 2px 4px rgba(0,0,0,0.04); /* modales, dropdowns */
181
+ ```
182
+
183
+ Sin `box-shadow` de colores. Sin sombras de 4+ capas. La elevación se comunica con el color de fondo, no con sombras.
184
+
185
+ ---
186
+
187
+ ## 7. Do's and Don'ts
188
+
189
+ **✅ Hacer:**
190
+ - Espacios amplios entre secciones (mínimo 48px)
191
+ - Labels cortos y directos
192
+ - Un CTA primario por pantalla
193
+ - Alineación consistente (izquierda para texto, centro para CTAs standalone)
194
+ - Feedback visual claro (loading, success, error)
195
+
196
+ **❌ No hacer:**
197
+ - Gradientes en botones o fondos de hero
198
+ - Más de 2 colores de acento en la misma pantalla
199
+ - Bordes redondeados > 12px (excepto avatares/círculos)
200
+ - Texto en mayúsculas excepto labels de categoría ≤ 12px
201
+ - Iconos decorativos sin función
202
+ - Métricas inventadas ("10x más rápido")
203
+ - Lorem ipsum o copy de relleno
204
+
205
+ ---
206
+
207
+ ## 8. Responsive Behavior
208
+
209
+ ```
210
+ Desktop (≥1024px): 12 columnas, sidebar visible, navbar horizontal
211
+ Tablet (640–1023px): 8 columnas, sidebar colapsable, navbar comprimido
212
+ Mobile (<640px): 4 columnas (1 col layout), navegación bottom bar o hamburger
213
+ ```
214
+
215
+ **Breakpoints**:
216
+ ```css
217
+ @media (max-width: 1023px) { /* tablet */ }
218
+ @media (max-width: 639px) { /* mobile */ }
219
+ ```
220
+
221
+ ---
222
+
223
+ ## 9. Agent Prompt Guide
224
+
225
+ Cuando un agente genere UI con este sistema:
226
+
227
+ > Usa el sistema Neutral Modern: fondos claros (#FAFAFA, #FFFFFF), texto oscuro (#111111), acento azul (#2563EB) solo en acciones primarias. Inter para todo el texto. Bordes sutiles (#E4E4E7), sombras mínimas. Espaciado generoso (mínimo 24px entre secciones). Sin gradientes. Sin emojis como iconos. Un solo CTA primario por pantalla. Cuando en duda, quita elementos en lugar de agregar.
@@ -0,0 +1,257 @@
1
+ # Vibrant Consumer — DESIGN.md
2
+
3
+ **Tagline**: Energía en cada píxel. Para productos que quieren ser amados.
4
+
5
+ Un sistema de diseño de alta energía para productos B2C que compiten por atención. Color saturado, tipografía expresiva, interacciones que se sienten vivas.
6
+
7
+ ---
8
+
9
+ ## 1. Visual Theme & Atmosphere
10
+
11
+ Vibrant Consumer lleva el color al máximo sin cruzar la línea hacia lo ruidoso. Inspirado en apps como Duolingo, Notion, Linear y los mejores productos de consumo actuales. El color no es decoración — es el lenguaje.
12
+
13
+ **Sensación**: energía, accesibilidad, diversión, momentum.
14
+ **Anti-sensación**: aburrimiento, austeridad, frialdad.
15
+
16
+ Productos ideales: apps de fitness, educación, marketplace B2C, redes sociales, fintech para consumidores, apps de entretenimiento, onboarding de herramientas.
17
+
18
+ ---
19
+
20
+ ## 2. Color Palette & Roles
21
+
22
+ ```css
23
+ :root {
24
+ /* Fondos */
25
+ --bg-base: #F8F7FF; /* blanco con tinte violeta muy sutil */
26
+ --bg-surface: #FFFFFF;
27
+ --bg-surface2: #F0EEFF;
28
+
29
+ /* Texto */
30
+ --text-primary: #1A1535; /* casi negro con tinte violeta */
31
+ --text-secondary:#3D3660;
32
+ --text-muted: #7B74A8;
33
+ --text-inverse: #FFFFFF;
34
+
35
+ /* Acento principal — violeta vibrante */
36
+ --accent: #6C3FF5;
37
+ --accent-hover: #5A32D0;
38
+ --accent-subtle: #EDE8FF;
39
+
40
+ /* Acento secundario — coral/naranja para CTAs secundarios */
41
+ --accent2: #FF6B35;
42
+ --accent2-hover: #E55A24;
43
+ --accent2-subtle:#FFF0EB;
44
+
45
+ /* Bordes */
46
+ --border: #E2DCFF;
47
+ --border-strong: #6C3FF5;
48
+
49
+ /* Semánticos */
50
+ --error: #E53E3E;
51
+ --success: #38A169;
52
+ --warning: #DD6B20;
53
+ }
54
+ ```
55
+
56
+ **Regla de color**: dos acentos (primario + secundario) usados con intención. El primario para acciones principales y navegación, el secundario para urgencia/promoción. Nunca mezclarlos en el mismo componente.
57
+
58
+ ---
59
+
60
+ ## 3. Typography Rules
61
+
62
+ **Display**: **Nunito** (Google Fonts) — `font-weight: 800, 900` — redondeada, amigable
63
+ **Body**: Nunito — `font-weight: 400, 600`
64
+ **UI alternativa**: **Plus Jakarta Sans** — más neutra para dashboards
65
+
66
+ ```html
67
+ <link href="https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;800;900&display=swap" rel="stylesheet">
68
+ ```
69
+
70
+ ```css
71
+ :root {
72
+ --font-display: 'Nunito', system-ui, sans-serif;
73
+ --font-body: 'Nunito', system-ui, sans-serif;
74
+ --font-mono: 'Fira Code', monospace;
75
+ }
76
+ ```
77
+
78
+ **Escala**:
79
+ - Hero h1: 48–64px, weight 900, letter-spacing -0.02em
80
+ - Section h2: 28px, weight 800
81
+ - Body: 15px, line-height 1.65
82
+ - Labels: 13px, weight 600
83
+
84
+ ---
85
+
86
+ ## 4. Component Stylings
87
+
88
+ ### Botones
89
+ ```css
90
+ .btn-primary {
91
+ background: var(--accent);
92
+ color: var(--text-inverse);
93
+ padding: 14px 28px;
94
+ border-radius: 12px;
95
+ font-family: var(--font-body);
96
+ font-size: 15px;
97
+ font-weight: 700;
98
+ box-shadow: 0 4px 14px rgba(108, 63, 245, 0.35);
99
+ transition: all 0.15s;
100
+ }
101
+ .btn-primary:hover {
102
+ background: var(--accent-hover);
103
+ transform: translateY(-1px);
104
+ box-shadow: 0 6px 20px rgba(108, 63, 245, 0.45);
105
+ }
106
+
107
+ .btn-secondary {
108
+ background: var(--accent-subtle);
109
+ color: var(--accent);
110
+ border: none;
111
+ padding: 14px 28px;
112
+ border-radius: 12px;
113
+ font-weight: 700;
114
+ }
115
+
116
+ .btn-cta { /* para CTAs de conversión urgente */
117
+ background: var(--accent2);
118
+ color: var(--text-inverse);
119
+ border-radius: 12px;
120
+ font-weight: 800;
121
+ box-shadow: 0 4px 14px rgba(255, 107, 53, 0.35);
122
+ }
123
+ ```
124
+
125
+ ### Cards
126
+ ```css
127
+ .card {
128
+ background: var(--bg-surface);
129
+ border: 1.5px solid var(--border);
130
+ border-radius: 16px;
131
+ padding: 24px;
132
+ box-shadow: 0 2px 8px rgba(108, 63, 245, 0.06);
133
+ }
134
+ .card:hover {
135
+ border-color: var(--border-strong);
136
+ box-shadow: 0 4px 16px rgba(108, 63, 245, 0.12);
137
+ }
138
+ ```
139
+
140
+ ### Inputs
141
+ ```css
142
+ input, textarea, select {
143
+ background: var(--bg-surface);
144
+ border: 1.5px solid var(--border);
145
+ border-radius: 10px;
146
+ padding: 12px 16px;
147
+ font-family: var(--font-body);
148
+ font-size: 15px;
149
+ transition: border-color 0.15s;
150
+ }
151
+ input:focus {
152
+ border-color: var(--accent);
153
+ box-shadow: 0 0 0 3px var(--accent-subtle);
154
+ outline: none;
155
+ }
156
+ ```
157
+
158
+ ### Badges / Pills
159
+ ```css
160
+ .badge {
161
+ display: inline-flex;
162
+ padding: 4px 12px;
163
+ border-radius: 20px;
164
+ font-size: 12px;
165
+ font-weight: 700;
166
+ background: var(--accent-subtle);
167
+ color: var(--accent);
168
+ }
169
+ .badge-success { background: #E6FFEE; color: #38A169; }
170
+ .badge-warning { background: #FFFBE6; color: #DD6B20; }
171
+ ```
172
+
173
+ ### Progress bars
174
+ ```css
175
+ .progress { height: 8px; background: var(--border); border-radius: 4px; overflow: hidden; }
176
+ .progress-fill { height: 100%; background: var(--accent); border-radius: 4px; transition: width 0.5s; }
177
+ ```
178
+
179
+ ---
180
+
181
+ ## 5. Layout Principles
182
+
183
+ - **Máximo ancho**: 1200px con padding lateral de 24px en mobile, 48px en desktop
184
+ - **Grid**: 12 columnas, gutter 24px
185
+ - **Spacing**: escala de 4px: 4, 8, 12, 16, 24, 32, 48, 64, 96
186
+ - **Cards en grid**: 2–3 columnas en desktop, 1 en mobile
187
+ - **Secciones con fondo alternado**: usar `--bg-surface2` (violeta muy claro) para secciones importantes
188
+
189
+ ---
190
+
191
+ ## 6. Depth & Elevation
192
+
193
+ ```css
194
+ /* Nivel 1 — base elevation */
195
+ .shadow-sm { box-shadow: 0 1px 4px rgba(108,63,245,0.06); }
196
+
197
+ /* Nivel 2 — cards interactivas */
198
+ .shadow-md { box-shadow: 0 4px 16px rgba(108,63,245,0.10); }
199
+
200
+ /* Nivel 3 — modales, dropdowns */
201
+ .shadow-lg { box-shadow: 0 8px 32px rgba(108,63,245,0.16); }
202
+
203
+ /* Botones CTA — sombra de color */
204
+ .shadow-accent { box-shadow: 0 4px 14px rgba(108,63,245,0.35); }
205
+ ```
206
+
207
+ ---
208
+
209
+ ## 7. Do's and Don'ts
210
+
211
+ **Do**:
212
+ - Usa el color de acento en las acciones principales — que sea obvio qué hacer
213
+ - Gradientes sutiles en elementos de display (de `--accent` a `--accent-hover` horizontal — nunca diagonal)
214
+ - Micro-animaciones en hover de botones (`transform: translateY(-1px)`)
215
+ - Emojis solo en onboarding o estados vacíos (no como iconos de feature)
216
+ - `border-radius: 12–16px` en cards y botones — redondeado pero no excesivo
217
+
218
+ **Don't**:
219
+ - Gradiente en diagonal sobre el hero (regla P0 de anti-ai-slop)
220
+ - Usar los dos acentos juntos en el mismo componente
221
+ - Texto blanco sobre color claro (verificar contraste siempre)
222
+ - Más de 3 colores diferentes en la misma pantalla
223
+ - Sombras de color negro — en este sistema las sombras son del color del acento
224
+
225
+ ---
226
+
227
+ ## 8. Responsive Behavior
228
+
229
+ ```css
230
+ body { font-size: 15px; background: var(--bg-base); }
231
+ .container { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
232
+
233
+ @media (min-width: 768px) {
234
+ .container { padding: 0 48px; }
235
+ .grid-cards { grid-template-columns: repeat(2, 1fr); }
236
+ }
237
+
238
+ @media (min-width: 1024px) {
239
+ .grid-cards { grid-template-columns: repeat(3, 1fr); }
240
+ }
241
+ ```
242
+
243
+ ---
244
+
245
+ ## 9. Agent Prompt Guide
246
+
247
+ Cuando generes wireframes con Vibrant Consumer:
248
+
249
+ - **El color es protagonista**: el acento violeta `#6C3FF5` en botones, links, indicadores activos — que sea visible desde lejos
250
+ - **Botones con sombra de color**: `box-shadow: 0 4px 14px rgba(108,63,245,0.35)` en el botón primario
251
+ - **Emojis permitidos** (solo en): estados vacíos, ilustraciones de onboarding, celebraciones de logro
252
+ - **Cards con border-radius 16px**: redondeadas pero no burbujas
253
+ - **Sin iconos de emoji para features** — los features usan SVG o texto, no 🚀📊✨
254
+ - **CTA secundario con color 2** (`--accent2`): coral/naranja para urgencia (ofertas, límites de tiempo)
255
+ - **Progress y gamificación**: este sistema es el adecuado para streaks, puntos, barras de progreso
256
+ - **Hover animado**: los botones suben 1px al hacer hover — `transform: translateY(-1px)`
257
+ - **Gradiente permitido** (solo): de `--accent` a `--accent-hover` en dirección horizontal, solo en elementos de display grande, nunca en el hero completo