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,361 @@
1
+ # GitHub Connect - Guía de Integración
2
+
3
+ Documentación para integrar el skill `github-connect` con el orquestador SDD-ES y otros componentes.
4
+
5
+ ## Integración con sdd.constitucion.md
6
+
7
+ En el archivo `sdd.constitucion.md`, el skill se invoca en el **PASO 4** del flujo constitucional:
8
+
9
+ ### Ubicación en el Flujo
10
+
11
+ ```yaml
12
+ PASO 1: Recopilación de Información del Proyecto
13
+ └─ Nombre, descripción, stack
14
+
15
+ PASO 2: Creación de Estructura Base
16
+ └─ Carpetas, archivos de configuración
17
+
18
+ PASO 3: Inicialización de Dependencias
19
+ └─ npm install, pip install, etc.
20
+
21
+ PASO 4: Conexión a GitHub (← github-connect se invoca aquí)
22
+ └─ "¿Guardar el proyecto en GitHub?"
23
+ └─ Si usuario dice "sí" → invocar github-connect
24
+ └─ Si usuario dice "no" → continuar sin GitHub
25
+
26
+ PASO 5: Configuración Final
27
+ └─ Hooks pre-commit, configuración IDE, etc.
28
+
29
+ PASO 6: Resumen y Próximos Pasos
30
+ └─ Mostrar URL del repositorio, instrucciones finales
31
+ ```
32
+
33
+ ### Invocación desde el Orquestador
34
+
35
+ El orquestador (`enrutador-agentes.md` u similar) debe invocar el skill así:
36
+
37
+ **En YAML:**
38
+ ```yaml
39
+ cuando_usuario_responde: "sí, guardar en GitHub"
40
+ entonces:
41
+ skill: github-connect
42
+ parametros:
43
+ repo_name: ${proyecto.nombre}
44
+ repo_description: "${proyecto.descripcion}"
45
+ repo_visibility: "public"
46
+ contexto:
47
+ proyecto_path: ${proyecto.ruta}
48
+ usuario_email: ${usuario.email}
49
+ stack: ${proyecto.stack}
50
+ ```
51
+
52
+ **En Markdown (sdd.constitucion.md):**
53
+ ```markdown
54
+ ## Paso 4: Conexión a GitHub
55
+
56
+ ¿Deseas guardar este proyecto en GitHub?
57
+
58
+ [Sí, guardar en GitHub] [No, ahora no]
59
+
60
+ Si selecciona "Sí":
61
+ - Ejecuta: `/github-connect repo_name={proyecto.nombre}`
62
+ - El skill manejará:
63
+ - Validar token de GitHub
64
+ - Crear repositorio
65
+ - Configurar remote
66
+ - Push inicial
67
+ ```
68
+
69
+ ## Interfaz Pública del Skill
70
+
71
+ ### Parámetros de Entrada
72
+
73
+ ```bash
74
+ github-connect [OPTIONS]
75
+
76
+ OPTIONS:
77
+ --repo-name TEXT Nombre del repositorio (default: nombre de carpeta)
78
+ --repo-description TEXT Descripción (default: "Proyecto SDD-ES")
79
+ --repo-visibility TEXT "public" o "private" (default: "public")
80
+ --branch-name TEXT Nombre de rama (default: "main")
81
+ --auto-init-commit BOOL Hacer commit inicial (default: true)
82
+ --github-token TEXT Token de GitHub (busca en $GITHUB_TOKEN si no se proporciona)
83
+ --help Mostrar ayuda
84
+ ```
85
+
86
+ ### Salida Esperada
87
+
88
+ **Éxito:**
89
+ ```json
90
+ {
91
+ "status": "success",
92
+ "repository": {
93
+ "name": "mi-proyecto",
94
+ "owner": "usuario",
95
+ "url": "https://github.com/usuario/mi-proyecto",
96
+ "visibility": "public",
97
+ "branch": "main"
98
+ },
99
+ "git": {
100
+ "remote_url": "https://github.com/usuario/mi-proyecto.git",
101
+ "upstream_configured": true,
102
+ "initial_push_completed": true
103
+ },
104
+ "config_file": ".sdd/sdd.config.yaml"
105
+ }
106
+ ```
107
+
108
+ **Error:**
109
+ ```json
110
+ {
111
+ "status": "error",
112
+ "error_code": "INVALID_TOKEN",
113
+ "message": "Token de GitHub inválido o expirado",
114
+ "recovery_url": "https://github.com/settings/tokens?type=beta"
115
+ }
116
+ ```
117
+
118
+ ## Variables de Entorno Esperadas
119
+
120
+ El skill necesita:
121
+
122
+ ```bash
123
+ GITHUB_TOKEN=ghp_xxxxxxxxxxxxx
124
+ ```
125
+
126
+ Puede ser:
127
+ - Exportada globalmente: `export GITHUB_TOKEN=...`
128
+ - Pasada al skill: `github-connect --github-token ghp_xxx`
129
+ - Obtenida de `~/.config/gh/hosts.yml` (gh cli)
130
+
131
+ ## Archivos Modificados/Creados
132
+
133
+ Después de la ejecución, el skill:
134
+
135
+ **Crea:**
136
+ - `.sdd/sdd.config.yaml` - Configuración de GitHub
137
+
138
+ **Modifica:**
139
+ - `.git/config` - Añade remote origin
140
+ - Commits iniciales en la rama main
141
+
142
+ **No toca:**
143
+ - Token de GitHub (nunca se persiste)
144
+ - Archivos de usuario existentes
145
+
146
+ ## Integración con Otros Skills
147
+
148
+ ### Con `deteccion-stack.md`
149
+
150
+ ```yaml
151
+ # El stack detectado se puede pasar al github-connect
152
+ si: Stack detectado = Node.js
153
+ entonces:
154
+ github-connect:
155
+ repo_description: "Proyecto Node.js con ${framework}"
156
+ ```
157
+
158
+ ### Con `gestion-estado.md`
159
+
160
+ ```yaml
161
+ # Después de github-connect, actualizar estado del proyecto
162
+ github-connect completado:
163
+ proyecto.github_connected = true
164
+ proyecto.repo_url = "https://github.com/..."
165
+ proyecto.git_configured = true
166
+ ```
167
+
168
+ ### Con `modo-guiado.md`
169
+
170
+ ```yaml
171
+ # En modo guiado, mostrar progreso
172
+ Paso 4/6: Conectando a GitHub...
173
+ - Validando token... ✓
174
+ - Creando repositorio... ✓
175
+ - Configurando remote... ✓
176
+ - Push inicial... ✓
177
+
178
+ Tu repositorio está en: https://github.com/usuario/proyecto
179
+ ```
180
+
181
+ ## Errores Comunes y Recuperación
182
+
183
+ ### 1. GITHUB_TOKEN no configurado
184
+
185
+ **Error:**
186
+ ```
187
+ ❌ GITHUB_TOKEN no configurado
188
+ ```
189
+
190
+ **Recuperación Automática:**
191
+ ```yaml
192
+ mostrar_instrucciones: true
193
+ url_token: "https://github.com/settings/tokens?type=beta"
194
+ permitir_reintentar: true
195
+ ```
196
+
197
+ ### 2. GitHub CLI no instalado
198
+
199
+ **Detección:**
200
+ ```bash
201
+ if ! command -v gh &> /dev/null; then
202
+ echo "gh no está instalado"
203
+ # Ofrecer instalación automática
204
+ fi
205
+ ```
206
+
207
+ **Instalación Automática (opcional):**
208
+ ```bash
209
+ # En Mac
210
+ brew install gh
211
+
212
+ # En Linux (Ubuntu)
213
+ sudo apt install gh
214
+
215
+ # En Windows (si Chocolatey está disponible)
216
+ choco install gh
217
+ ```
218
+
219
+ ### 3. Git no inicializado
220
+
221
+ **Detección:**
222
+ ```bash
223
+ if [ ! -d ".git" ]; then
224
+ git init
225
+ git config user.name "${usuario.nombre}"
226
+ git config user.email "${usuario.email}"
227
+ fi
228
+ ```
229
+
230
+ ### 4. Repositorio ya existe
231
+
232
+ **Comportamiento:**
233
+ - No crear repositorio nuevo
234
+ - Usar el repositorio existente
235
+ - Configurar remote para que apunte al existente
236
+ - Preguntar si desea hacer push a repositorio existente
237
+
238
+ ## Estado Persistente
239
+
240
+ ### Configuración Guardada
241
+
242
+ En `.sdd/sdd.config.yaml`:
243
+ ```yaml
244
+ git:
245
+ remote_url: "https://github.com/usuario/repo.git"
246
+ connected: true
247
+ connected_at: "2026-06-13T14:32:45Z"
248
+ github_user: "usuario"
249
+ repo_name: "repo"
250
+ branch: "main"
251
+ visibility: "public"
252
+ ```
253
+
254
+ ### Usar Configuración en Otros Skills
255
+
256
+ ```bash
257
+ # Leer configuración
258
+ REPO_URL=$(grep 'remote_url' .sdd/sdd.config.yaml | cut -d'"' -f2)
259
+ GITHUB_USER=$(grep 'github_user' .sdd/sdd.config.yaml | cut -d'"' -f2)
260
+
261
+ # Verificar conexión
262
+ if grep -q 'connected: true' .sdd/sdd.config.yaml; then
263
+ echo "GitHub está conectado"
264
+ fi
265
+ ```
266
+
267
+ ## Flujo de Reintentos
268
+
269
+ Si el skill falla, el orquestador puede reintentar:
270
+
271
+ ```yaml
272
+ reintentos:
273
+ max_intentos: 3
274
+ espera_entre_intentos: 5000ms # 5 segundos
275
+ exponencial_backoff: true
276
+
277
+ errores_reinentables:
278
+ - NETWORK_ERROR
279
+ - GITHUB_API_RATE_LIMIT
280
+ - TEMPORARY_FAILURE
281
+
282
+ errores_no_reinentables:
283
+ - INVALID_TOKEN
284
+ - REPO_ALREADY_EXISTS
285
+ - PERMISSION_DENIED
286
+ ```
287
+
288
+ ## Testing e Integración Continua
289
+
290
+ ### Probar el Skill Localmente
291
+
292
+ ```bash
293
+ # Instalar requisitos
294
+ sudo apt install git gh
295
+
296
+ # Configurar token
297
+ export GITHUB_TOKEN=ghp_test_xxxxx
298
+
299
+ # Ejecutar en repo test
300
+ mkdir test-sdd-lite
301
+ cd test-sdd-lite
302
+ git init
303
+ git config user.name "Test User"
304
+ git config user.email "test@example.com"
305
+
306
+ # Correr skill
307
+ bash /path/to/github-connect.sh "test-repo" "Test description" "public"
308
+ ```
309
+
310
+ ### Validar Ejecución
311
+
312
+ ```bash
313
+ # Verificar remote
314
+ git remote -v
315
+
316
+ # Verificar config
317
+ cat .sdd/sdd.config.yaml
318
+
319
+ # Verificar push
320
+ git log --oneline
321
+
322
+ # Verificar en GitHub
323
+ gh repo view
324
+ ```
325
+
326
+ ### CI/CD Integration
327
+
328
+ En `.github/workflows/sdd-ci.yml`:
329
+ ```yaml
330
+ name: SDD Continuous Integration
331
+
332
+ on: [push, pull_request]
333
+
334
+ jobs:
335
+ validate-github-config:
336
+ runs-on: ubuntu-latest
337
+ steps:
338
+ - uses: actions/checkout@v2
339
+ - name: Validate GitHub config
340
+ run: |
341
+ if [ -f ".sdd/sdd.config.yaml" ]; then
342
+ echo "✓ GitHub config file exists"
343
+ cat .sdd/sdd.config.yaml
344
+ fi
345
+ ```
346
+
347
+ ## Notas para Mantenimiento
348
+
349
+ - **Versión**: 1.0.0
350
+ - **Compatibilidad**: Git 2.20+, GitHub CLI 1.0+
351
+ - **Soporte**: usuario@sdd-es.com
352
+ - **Licencia**: MIT (o la del proyecto SDD-ES)
353
+
354
+ ## Cambios Futuros (Roadmap)
355
+
356
+ - [ ] Soporte para SSH keys
357
+ - [ ] Integración con Actions (CI/CD)
358
+ - [ ] Soporte para GitHub Organizations
359
+ - [ ] Configuración de protecciones de rama
360
+ - [ ] Integración con Dependabot
361
+ - [ ] Soporte para múltiples remotes
@@ -0,0 +1,168 @@
1
+ # GitHub Connect - Quick Start Guide
2
+
3
+ Comienza en menos de 5 minutos.
4
+
5
+ ## 1. Requisitos Previos (30 segundos)
6
+
7
+ Verifica que tienes instalado:
8
+
9
+ ```bash
10
+ git --version # Debe ser 2.20+
11
+ gh --version # Debe ser 1.0+
12
+ ```
13
+
14
+ Si no tienes GitHub CLI:
15
+ - macOS: `brew install gh`
16
+ - Linux: `sudo apt install gh` (o tu gestor de paquetes)
17
+ - Windows: Descarga desde https://cli.github.com/
18
+
19
+ ## 2. Configura tu Token (1 minuto)
20
+
21
+ 1. Ve a: https://github.com/settings/tokens?type=beta
22
+ 2. Click "Generate new token (beta)"
23
+ 3. Nombre: `SDD-ES CLI`
24
+ 4. Permisos: `repo` (todos) + `user:email`
25
+ 5. Copia el token
26
+
27
+ Configura la variable de entorno:
28
+
29
+ ```bash
30
+ # Linux/Mac
31
+ export GITHUB_TOKEN=ghp_xxxxxxxxxxxxx
32
+
33
+ # Windows PowerShell
34
+ $env:GITHUB_TOKEN = "ghp_xxxxxxxxxxxxx"
35
+ ```
36
+
37
+ ## 3. Prepara tu Proyecto (1 minuto)
38
+
39
+ ```bash
40
+ cd tu-proyecto
41
+
42
+ # Si no es git repo aún:
43
+ git init
44
+ git config user.name "Tu Nombre"
45
+ git config user.email "tu@email.com"
46
+ ```
47
+
48
+ ## 4. Ejecuta el Skill (2 minutos)
49
+
50
+ ```bash
51
+ # Opción A: Comando rápido con defaults
52
+ /github-connect
53
+
54
+ # Opción B: Con parámetros personalizados
55
+ /github-connect \
56
+ repo_name=mi-proyecto \
57
+ repo_description="Mi proyecto increíble" \
58
+ repo_visibility=private
59
+ ```
60
+
61
+ ## 5. Verifica (30 segundos)
62
+
63
+ ```bash
64
+ # Ver remote
65
+ git remote -v
66
+
67
+ # Ver repositorio en GitHub
68
+ gh repo view
69
+
70
+ # Ver configuración guardada
71
+ cat .sdd/sdd.config.yaml
72
+ ```
73
+
74
+ Done! Tu proyecto está en GitHub.
75
+
76
+ ## Ejemplos Rápidos
77
+
78
+ ### Repositorio Público
79
+
80
+ ```bash
81
+ export GITHUB_TOKEN=ghp_xxxxx
82
+ cd mi-proyecto
83
+ /github-connect
84
+ ```
85
+
86
+ ### Repositorio Privado con Descripción
87
+
88
+ ```bash
89
+ /github-connect \
90
+ repo_name=app-privada \
91
+ repo_description="Aplicación interna" \
92
+ repo_visibility=private
93
+ ```
94
+
95
+ ### Rama Personalizada
96
+
97
+ ```bash
98
+ /github-connect \
99
+ repo_name=mi-proyecto \
100
+ branch_name=develop
101
+ ```
102
+
103
+ ## Si algo va mal
104
+
105
+ ### Error: Token no configurado
106
+
107
+ ```bash
108
+ export GITHUB_TOKEN=ghp_xxxxx
109
+ # Luego ejecuta de nuevo
110
+ ```
111
+
112
+ ### Error: GitHub CLI no instalado
113
+
114
+ ```bash
115
+ # macOS
116
+ brew install gh
117
+
118
+ # Linux (Debian/Ubuntu)
119
+ sudo apt install gh
120
+
121
+ # Windows
122
+ # Descarga desde https://cli.github.com/
123
+ ```
124
+
125
+ ### Error: Git no configurado
126
+
127
+ ```bash
128
+ git config user.name "Tu Nombre"
129
+ git config user.email "tu@email.com"
130
+ ```
131
+
132
+ ### Error: Repositorio ya existe
133
+
134
+ El skill lo detecta y usa el existente. Si quieres uno diferente:
135
+
136
+ ```bash
137
+ /github-connect repo_name=otro-nombre
138
+ ```
139
+
140
+ ## Ver más detalles
141
+
142
+ - Documentación completa: `README.md`
143
+ - Especificación técnica: `SKILL.md`
144
+ - Integración con SDD-ES: `INTEGRATION.md`
145
+ - Troubleshooting: Ver sección de errores en `README.md`
146
+
147
+ ## Comandos Útiles Después
148
+
149
+ ```bash
150
+ # Abrir repo en navegador
151
+ gh repo view -w
152
+
153
+ # Ver logs del repositorio
154
+ git log --oneline
155
+
156
+ # Configurar reglas de rama
157
+ gh repo edit --enable-branch-protection
158
+
159
+ # Añadir colaboradores
160
+ gh repo collaborators add usuario
161
+
162
+ # Ver estado del repositorio
163
+ gh repo view --json description,visibility,nameWithOwner
164
+ ```
165
+
166
+ ---
167
+
168
+ Eso es todo. Tu proyecto está listo para colaboración en GitHub.