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.
- package/.claude/settings.json +29 -29
- package/.claude/settings.local.json +10 -0
- package/.claude-plugin/marketplace.json +10 -7
- package/.claude-plugin/plugin.json +59 -37
- package/.gitignore +20 -0
- package/.mcp.json +8 -0
- package/LICENSE +21 -0
- package/README.md +77 -40
- package/agents/architecture-designer.md +211 -0
- package/agents/arquitecto.md +16 -1
- package/agents/asesor-datos.md +15 -1
- package/agents/critico.md +37 -1
- package/agents/desarrollador-backend.md +3 -1
- package/agents/desarrollador-frontend.md +11 -16
- package/agents/disenador-api.md +13 -1
- package/agents/documentador.md +3 -1
- package/agents/investigador.md +3 -1
- package/agents/operaciones.md +3 -1
- package/agents/product-designer.md +268 -0
- package/agents/revisor.md +25 -1
- package/agents/seguridad.md +5 -1
- package/agents/tester.md +3 -1
- package/claude-hooks/agent-memory.js +288 -0
- package/claude-hooks/pre-tool-guard.js +61 -9
- package/cli/index.js +1 -2
- package/commands/sdd.adr.md +196 -0
- package/commands/sdd.analizar.md +23 -2
- package/commands/sdd.ayuda.md +13 -0
- package/commands/sdd.compliance.md +521 -0
- package/commands/sdd.configurar.md +34 -1
- package/commands/sdd.constitucion.md +198 -23
- package/commands/sdd.construir.md +210 -0
- package/commands/sdd.crear-mcp.md +2 -0
- package/commands/sdd.defect-report.md +134 -0
- package/commands/sdd.descubrir.md +19 -0
- package/commands/sdd.dise/303/261ar.md +188 -0
- package/commands/sdd.estado.md +120 -3
- package/commands/sdd.exportar.md +344 -0
- package/commands/sdd.implementar.md +272 -52
- package/commands/sdd.interpretar.md +239 -0
- package/commands/sdd.md +93 -4
- package/commands/sdd.optimizar-memoria.md +47 -0
- package/commands/sdd.optimizar.md +164 -0
- package/commands/sdd.planificar.md +64 -0
- package/commands/sdd.retro.md +74 -0
- package/commands/sdd.verificar.md +81 -0
- package/configuracion-ejemplo/.claude/CLAUDE.md +106 -0
- package/configuracion-ejemplo/sdd.config.yaml +10 -0
- package/craft/accessibility-baseline.md +216 -0
- package/craft/anti-ai-slop.md +158 -0
- package/craft/color.md +160 -0
- package/craft/typography.md +121 -0
- package/design-systems/bold-brutalist/DESIGN.md +239 -0
- package/design-systems/editorial-minimal/DESIGN.md +205 -0
- package/design-systems/neutral-modern/DESIGN.md +227 -0
- package/design-systems/vibrant-consumer/DESIGN.md +257 -0
- package/design-systems/warm-editorial/DESIGN.md +221 -0
- package/docs/AGENTES.md +4 -1
- package/docs/CASO-COMPLETO.md +206 -0
- package/docs/EJEMPLOS.md +61 -185
- package/docs/FABRICA.md +163 -115
- package/docs/INICIO-RAPIDO.md +27 -79
- package/docs/MEMORIA-Y-OBSERVABILIDAD.md +239 -0
- package/docs/MODELOS.md +3 -0
- package/docs/QUE-PASA-SI-FALLA.md +404 -0
- package/docs/README.md +43 -0
- package/docs/RELACION-CON-CLAUDE-CODE.md +38 -0
- package/docs/SEGURIDAD-PARA-NOTECNICOS.md +280 -0
- package/package.json +15 -10
- package/plantillas/job-story-mejorar-prompt.md +107 -0
- package/presets/enterprise.yaml +6 -0
- package/presets/lean.yaml +4 -0
- package/presets/startup.yaml +6 -0
- package/skills/adr-indexer/SKILL.md +181 -0
- package/skills/cache-audit/SKILL.md +163 -0
- package/skills/critica-diseno/SKILL.md +193 -0
- package/skills/descubrir-idea/SKILL.md +133 -0
- package/skills/effort-router/SKILL.md +128 -0
- package/skills/elegir-direccion/SKILL.md +184 -0
- package/skills/github-connect/IMPLEMENTATION-CHECKLIST.md +297 -0
- package/skills/github-connect/INDEX.md +223 -0
- package/skills/github-connect/INTEGRATION.md +361 -0
- package/skills/github-connect/QUICK-START.md +168 -0
- package/skills/github-connect/README.md +414 -0
- package/skills/github-connect/RESUMEN_IMPLEMENTACION.txt +374 -0
- package/skills/github-connect/SKILL.md +343 -0
- package/skills/github-connect/STRUCTURE.txt +252 -0
- package/skills/github-connect/example-config.yaml +41 -0
- package/skills/github-connect/github-connect.sh +419 -0
- package/skills/interpretar-idea/SKILL.md +254 -0
- package/skills/mejorar-prompt/SKILL.md +237 -0
- package/skills/memory-compactor/SKILL.md +68 -0
- package/skills/modo-guiado/SKILL.md +12 -2
- package/skills/mutation-detector/SKILL.md +134 -0
- package/skills/observabilidad-consumo/SKILL.md +164 -0
- package/skills/token-budget/SKILL.md +177 -0
- package/skills/vercel-deploy/00-START-HERE.txt +364 -0
- package/skills/vercel-deploy/CHECKLIST.md +205 -0
- package/skills/vercel-deploy/EXEC-SUMMARY.txt +322 -0
- package/skills/vercel-deploy/FLOW.txt +334 -0
- package/skills/vercel-deploy/INDEX.md +276 -0
- package/skills/vercel-deploy/INTEGRATION.md +328 -0
- package/skills/vercel-deploy/MANIFEST.md +310 -0
- package/skills/vercel-deploy/README.md +65 -0
- package/skills/vercel-deploy/SKILL.md +356 -0
- package/skills/vercel-deploy/deploy.sh +298 -0
- package/skills/vercel-deploy/estado.json.example +205 -0
- package/skills/vercel-deploy/skill.yaml +323 -0
- package/skills/vercel-deploy/vercel-deploy.sh +216 -0
- package/skills/wireframe-mvp/SKILL.md +157 -0
- package/docs/EJEMPLO-PRACTICA.md +0 -383
- package/mcp-figma/README.md +0 -158
- package/mcp-figma/package.json +0 -7
- package/mcp-figma/src/component-generator.js +0 -162
- package/mcp-figma/src/design-system-analyzer.js +0 -247
- package/mcp-figma/src/figma-client.js +0 -75
- package/mcp-figma/src/index.js +0 -114
- package/mcp-figma/src/mcp.js +0 -97
- package/mcp-figma/src/style-mapper.js +0 -85
- /package/skills/{compresion-tokens.md → compresion-tokens/SKILL.md} +0 -0
- /package/skills/{constitucion-constraint.md → constitucion-constraint/SKILL.md} +0 -0
- /package/skills/{deteccion-stack.md → deteccion-stack/SKILL.md} +0 -0
- /package/skills/{enrutador-agentes.md → enrutador-agentes/SKILL.md} +0 -0
- /package/skills/{gestion-estado.md → gestion-estado/SKILL.md} +0 -0
- /package/skills/{indexador.md → indexador/SKILL.md} +0 -0
- /package/skills/{validacion-spec.md → validacion-spec/SKILL.md} +0 -0
- /package/skills/{verificador-implementacion.md → verificador-implementacion/SKILL.md} +0 -0
|
@@ -0,0 +1,404 @@
|
|
|
1
|
+
# ¿Qué Pasa Si Algo Sale Mal? Guía de Recuperación
|
|
2
|
+
|
|
3
|
+
Este documento responde a las preguntas más comunes de usuarios no-técnicos cuando algo no sale como esperaban.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Premisa: Tu código está **siempre seguro**
|
|
8
|
+
|
|
9
|
+
Antes de cualquier respuesta, recuerda esto:
|
|
10
|
+
|
|
11
|
+
✅ Tu código está guardado en GitHub (historial completo)
|
|
12
|
+
✅ Cada cambio se registra (puedes ver quién cambió qué y cuándo)
|
|
13
|
+
✅ Puedes volver a una versión anterior en cualquier momento (sin perder nada)
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Escenario 1: "El deploy falló — mi app no está en internet"
|
|
18
|
+
|
|
19
|
+
### ¿Por qué pasó?
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
Vercel rechazó el código porque:
|
|
23
|
+
→ Falta una variable de entorno
|
|
24
|
+
→ Un archivo obligatorio no se generó
|
|
25
|
+
→ El código tiene un error que no detectamos en pruebas
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
### ¿Qué hago?
|
|
29
|
+
|
|
30
|
+
**Opción A: Reintentar** (si fue un error pasajero)
|
|
31
|
+
|
|
32
|
+
```
|
|
33
|
+
Claude responde:
|
|
34
|
+
"Voy a intentar publicar de nuevo..."
|
|
35
|
+
|
|
36
|
+
[Reintentos automáticos con espera]
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
**Opción B: Arreglar el código**
|
|
40
|
+
|
|
41
|
+
```
|
|
42
|
+
Si el error es técnico (variable faltante, etc.):
|
|
43
|
+
|
|
44
|
+
Tú dices: "Cambio X cosa"
|
|
45
|
+
Claude: "¿Qué cambias?"
|
|
46
|
+
Tú: "Agrega soporte para pagos"
|
|
47
|
+
|
|
48
|
+
Claude:
|
|
49
|
+
1. Edita el código
|
|
50
|
+
2. Prueba de nuevo
|
|
51
|
+
3. Intenta publicar
|
|
52
|
+
|
|
53
|
+
Tu versión anterior sigue en GitHub → sin miedo de cambiar
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
**Opción C: Esperar y intentar después**
|
|
57
|
+
|
|
58
|
+
```
|
|
59
|
+
Tú dices: "Dejar para después"
|
|
60
|
+
|
|
61
|
+
Claude:
|
|
62
|
+
✅ Tu código está seguro en GitHub
|
|
63
|
+
✅ Puedes intentar publicar mañana
|
|
64
|
+
✅ Nada se perdió
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## Escenario 2: "Cambié de idea a mitad del proceso"
|
|
70
|
+
|
|
71
|
+
### Caso: Empezamos a construir, pero quiero otra cosa
|
|
72
|
+
|
|
73
|
+
**Ejecuta `/sdd.constitucion` de nuevo:**
|
|
74
|
+
|
|
75
|
+
```
|
|
76
|
+
Claude detecta: "Ya hay una constitución"
|
|
77
|
+
|
|
78
|
+
¿Quieres actualizar los principios?
|
|
79
|
+
|
|
80
|
+
Tú: "Sí, cambio X"
|
|
81
|
+
|
|
82
|
+
Claude:
|
|
83
|
+
1. Actualiza la constitución
|
|
84
|
+
2. Carga la especificación anterior
|
|
85
|
+
3. ¿Modifico la especificación también?
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
**Lo que NO se pierde:**
|
|
89
|
+
|
|
90
|
+
```
|
|
91
|
+
✅ Especificación anterior (en GitHub)
|
|
92
|
+
✅ Plan anterior (en GitHub)
|
|
93
|
+
✅ Código que se construyó (en GitHub — rama anterior)
|
|
94
|
+
|
|
95
|
+
Tú empiezas una nueva rama con los cambios.
|
|
96
|
+
Si cambias de idea de vuelta, la anterior sigue disponible.
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
## Escenario 3: "Publiqué pero después quiero cambiar algo"
|
|
102
|
+
|
|
103
|
+
### Opción A: Cambio rápido (antes de compartir)
|
|
104
|
+
|
|
105
|
+
```
|
|
106
|
+
Tú dices: "Cambio el color del botón"
|
|
107
|
+
|
|
108
|
+
Claude:
|
|
109
|
+
1. Edita el código
|
|
110
|
+
2. Prueba
|
|
111
|
+
3. Publica la nueva versión (3 minutos)
|
|
112
|
+
|
|
113
|
+
Usuarios no notan nada (refresca la página y ven la versión nueva)
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
### Opción B: Cambio importante (que afecta datos)
|
|
117
|
+
|
|
118
|
+
```
|
|
119
|
+
Tú dices: "Quiero agregar una nueva pregunta al formulario"
|
|
120
|
+
|
|
121
|
+
Claude:
|
|
122
|
+
1. Actualiza la especificación
|
|
123
|
+
2. Genera un plan
|
|
124
|
+
3. Pide tu aprobación
|
|
125
|
+
4. Construye
|
|
126
|
+
5. Prueba
|
|
127
|
+
6. Publica
|
|
128
|
+
|
|
129
|
+
[Igual que la primera vez, pero más rápido porque ya tiene contexto]
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
### Opción C: "Me arrepiento — vuelvo a la versión anterior"
|
|
133
|
+
|
|
134
|
+
```
|
|
135
|
+
Tú dices: "Vuelve a cómo estaba hace 2 horas"
|
|
136
|
+
|
|
137
|
+
Claude:
|
|
138
|
+
1. Ve a GitHub
|
|
139
|
+
2. Encuentra ese commit
|
|
140
|
+
3. Publica esa versión
|
|
141
|
+
|
|
142
|
+
Tu sitio está igual que antes. Sin pérdida de datos.
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
---
|
|
146
|
+
|
|
147
|
+
## Escenario 4: "Mi cliente dice que algo no funciona"
|
|
148
|
+
|
|
149
|
+
### Paso 1: Reproducir el problema
|
|
150
|
+
|
|
151
|
+
```
|
|
152
|
+
Tú dices: "Mi cliente dice que X no funciona"
|
|
153
|
+
|
|
154
|
+
Claude:
|
|
155
|
+
1. Prueba el sitio en vivo
|
|
156
|
+
2. Intenta reproducir el problema
|
|
157
|
+
3. Pregunta: "¿Qué exactamente hizo tu cliente?"
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
**Ejemplo:**
|
|
161
|
+
|
|
162
|
+
```
|
|
163
|
+
Tú: "Mi cliente dice que el formulario no calcula el precio"
|
|
164
|
+
|
|
165
|
+
Claude:
|
|
166
|
+
"¿A qué tipo de proyecto selecciona?"
|
|
167
|
+
Tú: "Logo simple"
|
|
168
|
+
|
|
169
|
+
Claude:
|
|
170
|
+
"¿Cuántas revisiones elige?"
|
|
171
|
+
Tú: "Normal"
|
|
172
|
+
|
|
173
|
+
[Claude llena el formulario con esos datos]
|
|
174
|
+
|
|
175
|
+
Claude:
|
|
176
|
+
"Aquí veo el problema: el precio dice $200, pero debería ser $300"
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
### Paso 2: Identificar la causa
|
|
180
|
+
|
|
181
|
+
```
|
|
182
|
+
Claude diagnostica:
|
|
183
|
+
|
|
184
|
+
❌ Error de cálculo (la fórmula está mal)
|
|
185
|
+
❌ Falta una opción (ej: urgencia 24 horas)
|
|
186
|
+
❌ Base de datos no guarda bien los datos
|
|
187
|
+
✅ Problema del navegador del cliente (caché viejo)
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
### Paso 3: Arreglar
|
|
191
|
+
|
|
192
|
+
**Si es cálculo incorrecto:**
|
|
193
|
+
|
|
194
|
+
```
|
|
195
|
+
Tú: "El precio está mal"
|
|
196
|
+
|
|
197
|
+
Claude:
|
|
198
|
+
"¿Cuál debería ser el precio correcto para logo + normal?"
|
|
199
|
+
Tú: "$400"
|
|
200
|
+
|
|
201
|
+
Claude:
|
|
202
|
+
1. Edita la fórmula
|
|
203
|
+
2. Prueba con diferentes opciones
|
|
204
|
+
3. Publica
|
|
205
|
+
|
|
206
|
+
Listo. Tu cliente verá el precio correcto.
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
**Si es caché del navegador:**
|
|
210
|
+
|
|
211
|
+
```
|
|
212
|
+
Claude:
|
|
213
|
+
"Dile a tu cliente que actualice la página (Ctrl+F5 o Cmd+Shift+R)"
|
|
214
|
+
|
|
215
|
+
Eso borra la copia antigua del sitio de su navegador
|
|
216
|
+
y carga la versión nueva.
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
---
|
|
220
|
+
|
|
221
|
+
## Escenario 5: "¿Qué pasa si GitHub desaparece?"
|
|
222
|
+
|
|
223
|
+
### Respuesta: No es realista, pero aquí está el plan
|
|
224
|
+
|
|
225
|
+
```
|
|
226
|
+
GitHub es propiedad de Microsoft. Es tan importante como AWS o Google.
|
|
227
|
+
La probabilidad de que desaparezca es 0.001%.
|
|
228
|
+
|
|
229
|
+
Pero si quieres dormir tranquilo:
|
|
230
|
+
|
|
231
|
+
1. Tu código está en Vercel también (servidor en vivo)
|
|
232
|
+
2. Puedes hacer "backup" a tu computadora en cualquier momento
|
|
233
|
+
(comando: git clone https://github.com/tu-user/tu-repo)
|
|
234
|
+
3. Puedes mover tu repo a GitLab o Gitea en 5 minutos
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
---
|
|
238
|
+
|
|
239
|
+
## Escenario 6: "¿Qué pasa si Vercel cobra y no puedo pagar?"
|
|
240
|
+
|
|
241
|
+
### Respuesta: No sucede sin advertencia
|
|
242
|
+
|
|
243
|
+
```
|
|
244
|
+
Vercel es gratis hasta 100GB de ancho de banda (datos descargados).
|
|
245
|
+
|
|
246
|
+
Si algo cambia:
|
|
247
|
+
1. Te lo avisan con 30 días de anticipación
|
|
248
|
+
2. Tu sitio NO desaparece (sigue funcionando)
|
|
249
|
+
3. Puedes mover a otro servidor gratis (Netlify, Railway, etc.)
|
|
250
|
+
4. Tus datos en GitHub no se pierden
|
|
251
|
+
|
|
252
|
+
Claude puede ayudarte a mover en 30 minutos.
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
---
|
|
256
|
+
|
|
257
|
+
## Escenario 7: "¿Qué pasa si cambia mi requerimiento legal?"
|
|
258
|
+
|
|
259
|
+
### Ejemplo: Necesito cumplir GDPR, HIPAA, etc.
|
|
260
|
+
|
|
261
|
+
```
|
|
262
|
+
Tú: "Mi cliente quiere que el sitio cumpla GDPR"
|
|
263
|
+
|
|
264
|
+
Claude:
|
|
265
|
+
1. Ejecuta /sdd.compliance automáticamente
|
|
266
|
+
2. Identifica qué falta
|
|
267
|
+
3. Genera un plan
|
|
268
|
+
4. Pregunta: "¿Apruebo estos cambios?"
|
|
269
|
+
5. Implementa
|
|
270
|
+
|
|
271
|
+
Ejemplo de cambios:
|
|
272
|
+
- Agregar "política de privacidad"
|
|
273
|
+
- Permitir que usuarios descarguen sus datos
|
|
274
|
+
- Encriptar datos sensibles
|
|
275
|
+
- Otros cambios específicos
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
---
|
|
279
|
+
|
|
280
|
+
## Escenario 8: "¿Qué pasa si alguien hackea mi sitio?"
|
|
281
|
+
|
|
282
|
+
### Respuesta: SDD-ES lo previene
|
|
283
|
+
|
|
284
|
+
```
|
|
285
|
+
Durante el proceso:
|
|
286
|
+
|
|
287
|
+
✅ El agente de seguridad revisó el código automáticamente
|
|
288
|
+
✅ Se prueban ataques comunes (XSS, SQL injection, etc.)
|
|
289
|
+
✅ Secretos (contraseñas, API keys) no están en el código
|
|
290
|
+
✅ Validación de datos (usuario no puede inyectar código malicioso)
|
|
291
|
+
|
|
292
|
+
Si algo pasara:
|
|
293
|
+
|
|
294
|
+
1. GitHub registra quién cambió qué (auditoría completa)
|
|
295
|
+
2. Puedes volver a una versión anterior en segundos
|
|
296
|
+
3. Investigar qué pasó (historial de cambios)
|
|
297
|
+
```
|
|
298
|
+
|
|
299
|
+
---
|
|
300
|
+
|
|
301
|
+
## Escenario 9: "¿Y si alguien lo copia?"
|
|
302
|
+
|
|
303
|
+
### Respuesta: Depende del contexto
|
|
304
|
+
|
|
305
|
+
```
|
|
306
|
+
Casos:
|
|
307
|
+
|
|
308
|
+
❌ Algo muy valioso (algoritmo secreto, datos únicos)
|
|
309
|
+
→ Considera cerrar el repo (private en GitHub)
|
|
310
|
+
→ Requiere autenticación para acceder al sitio
|
|
311
|
+
|
|
312
|
+
✅ Algo público (herramienta útil, componente reutilizable)
|
|
313
|
+
→ Está bien que la copien
|
|
314
|
+
→ Agrega tu licencia (MIT: "úsalo gratis, dame crédito")
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
---
|
|
318
|
+
|
|
319
|
+
## Escenario 10: "Pasó algo raro — no sé qué está mal"
|
|
320
|
+
|
|
321
|
+
### Paso 1: Ejecutar el diagnóstico
|
|
322
|
+
|
|
323
|
+
```
|
|
324
|
+
Tú: "Algo no funciona bien"
|
|
325
|
+
|
|
326
|
+
Claude:
|
|
327
|
+
"Voy a revisar todo..."
|
|
328
|
+
|
|
329
|
+
Ejecuta: /sdd.doctor
|
|
330
|
+
|
|
331
|
+
Este comando verifica:
|
|
332
|
+
✅ Código sintaxis correcta
|
|
333
|
+
✅ Todos los archivos presentes
|
|
334
|
+
✅ Base de datos conectada
|
|
335
|
+
✅ Servidor respondiendo
|
|
336
|
+
✅ Tests pasando
|
|
337
|
+
✅ Sin secretos expuestos
|
|
338
|
+
```
|
|
339
|
+
|
|
340
|
+
### Paso 2: Obtener un reporte
|
|
341
|
+
|
|
342
|
+
```
|
|
343
|
+
Claude te muestra:
|
|
344
|
+
|
|
345
|
+
DIAGNOSTICO:
|
|
346
|
+
✅ Código bien
|
|
347
|
+
✅ Tests pasando
|
|
348
|
+
❌ Base de datos no conecta
|
|
349
|
+
|
|
350
|
+
CAUSA PROBABLE:
|
|
351
|
+
El archivo de base de datos se eliminó accidentalmente.
|
|
352
|
+
|
|
353
|
+
SOLUCION:
|
|
354
|
+
Voy a restaurar desde GitHub...
|
|
355
|
+
```
|
|
356
|
+
|
|
357
|
+
---
|
|
358
|
+
|
|
359
|
+
## Resumen: No hay error que no se pueda arreglar
|
|
360
|
+
|
|
361
|
+
| Problema | Tiempo | Reversible | Datos seguros |
|
|
362
|
+
|----------|--------|-----------|----------------|
|
|
363
|
+
| Deploy falló | 2 min reintentar | ✅ Sí | ✅ Sí (GitHub) |
|
|
364
|
+
| Cambié de idea | 10 min refactor | ✅ Sí | ✅ Sí (ramas) |
|
|
365
|
+
| Cliente reporta bug | 5 min fix + test | ✅ Sí | ✅ Sí (auditoria) |
|
|
366
|
+
| GitHub desaparece | 1 hora mover | ✅ Sí | ✅ Sí (backup local) |
|
|
367
|
+
| Vercel cobra extra | 30 min migrar | ✅ Sí | ✅ Sí (GitHub) |
|
|
368
|
+
| Compliance nueva | 20 min auditar | ✅ Sí | ✅ Sí (reportes) |
|
|
369
|
+
| Hackeo potencial | — | ✅ Sí (rollback) | ✅ Sí (GitHub audit) |
|
|
370
|
+
|
|
371
|
+
---
|
|
372
|
+
|
|
373
|
+
## Mantra: "Tu código está seguro, cualquier cambio es reversible"
|
|
374
|
+
|
|
375
|
+
Esto no es verdad en 99% de las herramientas.
|
|
376
|
+
|
|
377
|
+
**Con SDD-ES:**
|
|
378
|
+
|
|
379
|
+
```
|
|
380
|
+
GitHub → historial completo (quién, qué, cuándo)
|
|
381
|
+
Vercel → roll-forward/rollback en 1 click
|
|
382
|
+
Especificación → documento versionado
|
|
383
|
+
Plan → aprobado por ti, registrado
|
|
384
|
+
|
|
385
|
+
No hay decisión que no puedas deshacer.
|
|
386
|
+
```
|
|
387
|
+
|
|
388
|
+
---
|
|
389
|
+
|
|
390
|
+
## Última línea: Si necesitas ayuda
|
|
391
|
+
|
|
392
|
+
```
|
|
393
|
+
Tu proyecto tiene:
|
|
394
|
+
|
|
395
|
+
📝 Especificación clara (qué debería hacer)
|
|
396
|
+
📋 Plan técnico (cómo se construyó)
|
|
397
|
+
📊 Cambios documentados (quién hizo qué)
|
|
398
|
+
✅ Tests automáticos (qué funciona)
|
|
399
|
+
🔒 Auditoría de seguridad (vulnerabilidades conocidas)
|
|
400
|
+
|
|
401
|
+
Si algo está mal, Claude tiene TODA la información para arreglarlo.
|
|
402
|
+
|
|
403
|
+
Sin necesidad de programar. Solo describir el problema.
|
|
404
|
+
```
|
package/docs/README.md
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# Documentación de FORGE
|
|
2
|
+
|
|
3
|
+
> **Sitio web de documentación**: hay una versión navegable, bilingüe (ES/EN) y con buscador en [`docs-site/`](../docs-site/) — ábrela en el navegador o visita la versión publicada en GitHub Pages.
|
|
4
|
+
|
|
5
|
+
Esta carpeta contiene la documentación de referencia en Markdown. Está organizada en dos rutas según para quién es.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 🟢 Para construir (no necesitas saber programar)
|
|
10
|
+
|
|
11
|
+
| Documento | De qué trata |
|
|
12
|
+
|-----------|--------------|
|
|
13
|
+
| [INICIO-RAPIDO.md](INICIO-RAPIDO.md) | Los primeros pasos: instalar y escribir tu primera idea |
|
|
14
|
+
| [FABRICA.md](FABRICA.md) | Cómo una idea se convierte en producto, en vivo y sin código |
|
|
15
|
+
| [QUE-PASA-SI-FALLA.md](QUE-PASA-SI-FALLA.md) | Qué hacer cuando algo sale mal, en lenguaje simple |
|
|
16
|
+
| [SEGURIDAD-PARA-NOTECNICOS.md](SEGURIDAD-PARA-NOTECNICOS.md) | Tokens y seguridad explicados sin miedo |
|
|
17
|
+
|
|
18
|
+
## 🔵 Para entender el motor (desarrolladores)
|
|
19
|
+
|
|
20
|
+
| Documento | De qué trata |
|
|
21
|
+
|-----------|--------------|
|
|
22
|
+
| [FLUJO.md](FLUJO.md) | El flujo de ingeniería SDD completo, con diagrama |
|
|
23
|
+
| [FILOSOFIA.md](FILOSOFIA.md) | Qué es SDD y los principios que lo guían |
|
|
24
|
+
| [AGENTES.md](AGENTES.md) | Los 14 agentes: roles, cuándo se activan |
|
|
25
|
+
| [MODELOS.md](MODELOS.md) | Qué modelo de Claude usa cada agente y por qué |
|
|
26
|
+
| [MEMORIA-Y-OBSERVABILIDAD.md](MEMORIA-Y-OBSERVABILIDAD.md) | Persistencia, ledger y compresión de tokens |
|
|
27
|
+
| [MAPAS.md](MAPAS.md) | Indexación de estructura, símbolos y dependencias |
|
|
28
|
+
| [RELACION-CON-CLAUDE-CODE.md](RELACION-CON-CLAUDE-CODE.md) | FORGE como capa sobre las primitivas oficiales |
|
|
29
|
+
| [PERSONALIZACION.md](PERSONALIZACION.md) | Los 5 niveles de personalización |
|
|
30
|
+
| [COMPRESION.md](COMPRESION.md) | La técnica de compresión de contexto |
|
|
31
|
+
|
|
32
|
+
## 📖 Ejemplos y casos
|
|
33
|
+
|
|
34
|
+
| Documento | De qué trata |
|
|
35
|
+
|-----------|--------------|
|
|
36
|
+
| [CASO-COMPLETO.md](CASO-COMPLETO.md) | Un proyecto real de principio a fin |
|
|
37
|
+
| [EJEMPLOS.md](EJEMPLOS.md) | Ejemplos por stack (TypeScript, Python, Go…) |
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## Ingeniería de prompts
|
|
42
|
+
|
|
43
|
+
La guía de ingeniería de prompts con Claude — principios oficiales, ejemplos buenos vs malos y cómo FORGE los aplica — está en el **sitio de documentación** ([`docs-site/`](../docs-site/)), sección *Ingeniería de prompts*.
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# FORGE / SDD-ES — Relación con las primitivas oficiales de Claude Code
|
|
2
|
+
|
|
3
|
+
FORGE no es un reemplazo de Claude Code. Es una **capa de opinión en español** que organiza y conecta las primitivas nativas de Claude Code en un flujo de trabajo estructurado (idea → deploy).
|
|
4
|
+
|
|
5
|
+
Toda la funcionalidad de FORGE descansa sobre primitivas que Claude Code ya provee.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Tabla de correspondencias
|
|
10
|
+
|
|
11
|
+
| Pieza de FORGE | Primitiva oficial de Claude Code | Notas |
|
|
12
|
+
|----------------|----------------------------------|-------|
|
|
13
|
+
| `commands/*.md` (ej. `/sdd.especificar`) | **Slash commands** (`.claude/commands/*.md`) | FORGE instala sus comandos en `.claude/commands/`. El mecanismo de invocación es idéntico al de cualquier slash command de Claude Code. |
|
|
14
|
+
| `agents/*.md` (ej. `arquitecto`, `tester`) | **Subagents** (`model: …`, `tools: […]`) | Cada archivo `agents/X.md` es un subagente que Claude Code puede instanciar con su propio contexto, modelo y herramientas. |
|
|
15
|
+
| `skills/*.md` (ej. `modo-guiado`, `constitucion-constraint`) | **Skills** (`.claude/skills/*.md`) | Las skills de FORGE son skills de Claude Code: fragmentos de instrucción reutilizables que los agentes y comandos incluyen cuando los necesitan. |
|
|
16
|
+
| `claude-hooks/` | **Hooks** (`.claude/settings.json → hooks`) | Los hooks de FORGE se registran en `settings.json` y se ejecutan en los puntos de ciclo de vida que Claude Code expone (`PreToolUse`, `PostToolUse`, `Stop`, etc.). |
|
|
17
|
+
| Presets (`presets/lean.yaml`, etc.) | Configuración de usuario / proyecto | Los presets son archivos YAML que `/sdd.configurar` copia a `.sdd/sdd.config.yaml`. No son una primitiva de Claude Code; son configuración propia de FORGE. |
|
|
18
|
+
| `plantillas/*.md` | Sin equivalente directo | Plantillas Markdown que los comandos llenan al generar artefactos (specs, planes, ADRs). Claude Code no tiene un sistema de plantillas nativo. |
|
|
19
|
+
| `.sdd/estado.json` | Sin equivalente directo | Estado persistente del proyecto (spec activa, fase, ID de sesión). Claude Code no tiene estado global nativo; FORGE lo gestiona en disco. |
|
|
20
|
+
| Modo guiado (`perfil: guiado`) | Sin equivalente directo | Comportamiento de conducción paso a paso implementado dentro del slash command `/sdd`, no una primitiva de Claude Code. |
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Lo que FORGE añade sobre Claude Code
|
|
25
|
+
|
|
26
|
+
1. **Flujo ordenado**: encadena los slash commands en fases (descubrir → especificar → planificar → implementar → verificar → desplegar) con transiciones explícitas.
|
|
27
|
+
2. **Lenguaje español**: todos los artefactos, comandos y mensajes están en español.
|
|
28
|
+
3. **Memoria entre sesiones**: `estado.json` y los artefactos en `.sdd/` persisten el contexto del proyecto entre conversaciones.
|
|
29
|
+
4. **Presets de calidad**: configuraciones probadas (lean / startup / enterprise) que ajustan qué agentes están activos y con qué modelo.
|
|
30
|
+
5. **Modo guiado**: conduce a usuarios no-técnicos sin exponer la nomenclatura de comandos.
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## Lo que FORGE NO hace
|
|
35
|
+
|
|
36
|
+
- No modifica el binario de Claude Code ni su comportamiento base.
|
|
37
|
+
- No reemplaza las primitivas: si Claude Code actualiza Skills, Subagents o Hooks, FORGE se beneficia automáticamente.
|
|
38
|
+
- No requiere acceso a la API de Anthropic directamente — todo pasa por Claude Code como intermediario.
|