don-cheli-sdd 1.22.0 → 1.23.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/CHANGELOG.md CHANGED
@@ -4,6 +4,12 @@ Todos los cambios notables en Don Cheli SDD Framework.
4
4
 
5
5
  Formato basado en [Conventional Commits](https://www.conventionalcommits.org/).
6
6
 
7
+ ## [1.23.0](https://github.com/doncheli/don-cheli-sdd/compare/v1.22.0...v1.23.0) (2026-04-07)
8
+
9
+ ### Nuevas Funcionalidades
10
+
11
+ * integrar PRD como fase 0 opcional en el pipeline SDD ([6e6fdd2](https://github.com/doncheli/don-cheli-sdd/commit/6e6fdd2e9e595994f343a7943bbd6f753ca061d8))
12
+
7
13
  ## [1.22.0](https://github.com/doncheli/don-cheli-sdd/compare/v1.21.1...v1.22.0) (2026-04-07)
8
14
 
9
15
  ### Nuevas Funcionalidades
package/README.es.md CHANGED
@@ -12,7 +12,7 @@
12
12
  </p>
13
13
  <p align="center">
14
14
  <a href="#-instalación"><img src="https://img.shields.io/badge/instalación-2_minutos-brightgreen" alt="Install"></a>
15
- <img src="https://img.shields.io/badge/versión-1.22.0-blue" alt="Version">
15
+ <img src="https://img.shields.io/badge/versión-1.23.0-blue" alt="Version">
16
16
  <img src="https://img.shields.io/badge/licencia-Apache%202.0-green" alt="License">
17
17
  <img src="https://img.shields.io/badge/idiomas-ES%20|%20EN%20|%20PT-red" alt="Languages">
18
18
  <img src="https://img.shields.io/badge/comandos-85+-purple" alt="Commands">
@@ -163,6 +163,7 @@ Paso 4: ✅ Confirmar → Resumen de todo lo seleccionado
163
163
 
164
164
  ```mermaid
165
165
  flowchart LR
166
+ P["📋 PRD"] -.->|opcional| B
166
167
  A["💡 Idea"] --> B["📄 Especificar"]
167
168
  B --> C["🔍 Clarificar"]
168
169
  C --> D["🏗 Planificar"]
@@ -170,6 +171,7 @@ flowchart LR
170
171
  E --> F["⚡ Implementar"]
171
172
  F --> G["✅ Revisar"]
172
173
 
174
+ style P fill:#2d3436,color:#dfe6e9,stroke:#6c5ce7,stroke-dasharray: 5 5
173
175
  style B fill:#6c5ce7,color:#fff
174
176
  style C fill:#0984e3,color:#fff
175
177
  style D fill:#00b894,color:#fff
@@ -178,6 +180,8 @@ flowchart LR
178
180
  style G fill:#fd79a8,color:#fff
179
181
  ```
180
182
 
183
+ > **PRD (opcional):** Si tienes un diseno en Figma, brief de producto o user research, ejecuta `/dc:prd` primero. El PRD alimenta automaticamente a Especificar con user stories, prioridades y riesgos.
184
+
181
185
  | # | Fase | Comando | Qué hace |
182
186
  |---|------|---------|----------|
183
187
  | 1 | **Especificar** | `/dc:especificar` | Convierte tu idea en especificación Gherkin con escenarios de prueba, prioridades y schema DBML |
package/README.md CHANGED
@@ -12,7 +12,7 @@
12
12
  </p>
13
13
  <p align="center">
14
14
  <a href="#-installation"><img src="https://img.shields.io/badge/install-2_minutes-brightgreen" alt="Install"></a>
15
- <img src="https://img.shields.io/badge/version-1.22.0-blue" alt="Version">
15
+ <img src="https://img.shields.io/badge/version-1.23.0-blue" alt="Version">
16
16
  <img src="https://img.shields.io/badge/license-Apache%202.0-green" alt="License">
17
17
  <img src="https://img.shields.io/badge/languages-ES%20|%20EN%20|%20PT-red" alt="Languages">
18
18
  <img src="https://img.shields.io/badge/commands-85+-purple" alt="Commands">
@@ -163,6 +163,7 @@ Step 4: ✅ Confirm → Summary of everything selected
163
163
 
164
164
  ```mermaid
165
165
  flowchart LR
166
+ P["📋 PRD"] -.->|optional| B
166
167
  A["💡 Idea"] --> B["📄 Specify"]
167
168
  B --> C["🔍 Clarify"]
168
169
  C --> D["🏗 Plan"]
@@ -170,6 +171,7 @@ flowchart LR
170
171
  E --> F["⚡ Implement"]
171
172
  F --> G["✅ Review"]
172
173
 
174
+ style P fill:#2d3436,color:#dfe6e9,stroke:#6c5ce7,stroke-dasharray: 5 5
173
175
  style B fill:#6c5ce7,color:#fff
174
176
  style C fill:#0984e3,color:#fff
175
177
  style D fill:#00b894,color:#fff
@@ -178,6 +180,8 @@ flowchart LR
178
180
  style G fill:#fd79a8,color:#fff
179
181
  ```
180
182
 
183
+ > **PRD (optional):** If you have a Figma design, product brief or user research, run `/dc:prd` first. The PRD auto-feeds into Specify with user stories, priorities and risks.
184
+
181
185
  | # | Phase | Command | What it does |
182
186
  |---|-------|---------|-------------|
183
187
  | 1 | **Specify** | `/dc:specify` | Turns your idea into a Gherkin specification with test scenarios, priorities and DBML schema |
package/README.pt.md CHANGED
@@ -12,7 +12,7 @@
12
12
  </p>
13
13
  <p align="center">
14
14
  <a href="#-instalação"><img src="https://img.shields.io/badge/instalação-2_minutos-brightgreen" alt="Install"></a>
15
- <img src="https://img.shields.io/badge/versão-1.22.0-blue" alt="Version">
15
+ <img src="https://img.shields.io/badge/versão-1.23.0-blue" alt="Version">
16
16
  <img src="https://img.shields.io/badge/licença-Apache%202.0-green" alt="License">
17
17
  <img src="https://img.shields.io/badge/idiomas-ES%20|%20EN%20|%20PT-red" alt="Languages">
18
18
  <img src="https://img.shields.io/badge/comandos-85+-purple" alt="Commands">
@@ -162,6 +162,7 @@ Passo 4: ✅ Confirmar → Resumo de tudo selecionado
162
162
 
163
163
  ```mermaid
164
164
  flowchart LR
165
+ P["📋 PRD"] -.->|opcional| B
165
166
  A["💡 Ideia"] --> B["📄 Especificar"]
166
167
  B --> C["🔍 Clarificar"]
167
168
  C --> D["🏗 Planejar"]
@@ -169,6 +170,7 @@ flowchart LR
169
170
  E --> F["⚡ Implementar"]
170
171
  F --> G["✅ Revisar"]
171
172
 
173
+ style P fill:#2d3436,color:#dfe6e9,stroke:#6c5ce7,stroke-dasharray: 5 5
172
174
  style B fill:#6c5ce7,color:#fff
173
175
  style C fill:#0984e3,color:#fff
174
176
  style D fill:#00b894,color:#fff
@@ -177,6 +179,8 @@ flowchart LR
177
179
  style G fill:#fd79a8,color:#fff
178
180
  ```
179
181
 
182
+ > **PRD (opcional):** Se voce tem um design Figma, brief de produto ou user research, execute `/dc:prd` primeiro. O PRD alimenta automaticamente Especificar com user stories, prioridades e riscos.
183
+
180
184
  | # | Fase | Comando | O que faz |
181
185
  |---|------|---------|-----------|
182
186
  | 1 | **Especificar** | `/dc:especificar` | Transforma sua ideia em especificação Gherkin com cenários de teste, prioridades e schema DBML |
package/VERSION CHANGED
@@ -1 +1 @@
1
- 1.22.0
1
+ 1.23.0
@@ -43,12 +43,35 @@ Nivel = max(puntuaciones) // Conservador: gana la dimensión más alta
43
43
 
44
44
  ## Comportamiento
45
45
 
46
- 1. **Analizar** la descripción de la tarea
47
- 2. **Evaluar** las 4 dimensiones (alcance, incógnitas, riesgo, duración)
48
- 3. **Determinar** nivel de complejidad
49
- 4. **Mostrar** evaluación al usuario
50
- 5. **Preguntar** si está de acuerdo o desea ajustar
51
- 6. **Iniciar** flujo del nivel correspondiente
46
+ 1. **Detectar PRD** ¿Existe `.dc/prd/prd-*.md`? ¿El usuario proporcionó brief, Figma o docs?
47
+ - Si hay PRD existente usarlo como input para las fases siguientes
48
+ - Si hay brief/Figma/docs pero no PRD → preguntar: "¿Quieres generar un PRD primero? (/dc:prd)"
49
+ - Si no hay nada → continuar sin PRD (flujo normal)
50
+ 2. **Analizar** la descripción de la tarea (o el PRD si existe)
51
+ 3. **Evaluar** las 4 dimensiones (alcance, incógnitas, riesgo, duración)
52
+ 4. **Determinar** nivel de complejidad
53
+ 5. **Mostrar** evaluación al usuario
54
+ 6. **Preguntar** si está de acuerdo o desea ajustar
55
+ 7. **Iniciar** flujo del nivel correspondiente
56
+
57
+ ### Flujo con PRD (niveles 2-4)
58
+
59
+ ```
60
+ ¿Se detectó PRD o fuentes de producto?
61
+
62
+ ├─ SÍ, PRD existe (.dc/prd/prd-*.md)
63
+ │ → Leer PRD
64
+ │ → Extraer user stories, prioridades, riesgos
65
+ │ → Alimentar /dc:especificar automáticamente
66
+
67
+ ├─ SÍ, hay brief/Figma pero no PRD
68
+ │ → "Se detectaron fuentes de producto. ¿Generar PRD? (s/n)"
69
+ │ → Si sí: /dc:prd → luego continúa el pipeline
70
+ │ → Si no: continuar sin PRD
71
+
72
+ └─ NO hay fuentes de producto
73
+ → Flujo normal (el usuario describe la tarea)
74
+ ```
52
75
 
53
76
  ## Ejemplo
54
77
 
@@ -85,9 +108,11 @@ Inspirada en el framework BMAD: el nivel de planificación se ajusta automática
85
108
  | **0 — Atómico** | implementar → verificar | spec, clarificar, planificar, desglosar |
86
109
  | **1 — Micro** | especificar (light) → implementar → revisar | clarificar, planificar, desglosar, pseudocódigo |
87
110
  | **P — PoC** | hipótesis → construir → evaluar → veredicto | todo el pipeline formal |
88
- | **2 — Estándar** | especificar → clarificar → planificar → desglosar → implementar → revisar | pseudocódigo (opcional) |
89
- | **3 — Complejo** | especificar → clarificar → pseudocódigo → planificar → diseñar → desglosar → implementar → revisar | nada se salta |
90
- | **4 — Producto** | constitución → proponer → especificar → clarificar → pseudocódigo → planificar → diseñar → desglosar → implementar → revisar | nada se salta |
111
+ | **2 — Estándar** | [PRD →] especificar → clarificar → planificar → desglosar → implementar → revisar | pseudocódigo (opcional) |
112
+ | **3 — Complejo** | [PRD →] especificar → clarificar → pseudocódigo → planificar → diseñar → desglosar → implementar → revisar | nada se salta |
113
+ | **4 — Producto** | [PRD →] constitución → proponer → especificar → clarificar → pseudocódigo → planificar → diseñar → desglosar → implementar → revisar | nada se salta |
114
+
115
+ > **[PRD]** = Fase 0 opcional. Si existe `.dc/prd/prd-*.md` o el usuario proporciona un brief/Figma, se ejecuta `/dc:prd` primero. El PRD alimenta automáticamente a `/dc:especificar` con user stories, prioridades y riesgos.
91
116
 
92
117
  **Principio:** No aplicar el mismo proceso a un micro-fix que a una migración de plataforma. La fricción innecesaria es tan dañina como la falta de estructura.
93
118
 
@@ -20,6 +20,16 @@ Convertir un requerimiento en lenguaje natural a una especificación Gherkin est
20
20
 
21
21
  ## Comportamiento
22
22
 
23
+ 0. **Detectar PRD** — Si existe `.dc/prd/prd-*.md`:
24
+ - Leer el PRD y extraer automáticamente:
25
+ - User stories (sección 6.1) → base para escenarios Gherkin
26
+ - Prioridades MoSCoW → mapear a P1 (Must), P2 (Should), P3+ (Could/Won't)
27
+ - Riesgos (sección 8) → agregar escenarios de error/edge case por riesgo
28
+ - Requirements no funcionales (sección 6.2) → anotar como constraints
29
+ - Data model DBML (sección 6.4) → usar como schema base si existe
30
+ - Informar al usuario: "PRD detectado — extrayendo X user stories, Y riesgos"
31
+ - Si no hay PRD → continuar con el flujo normal (input del usuario)
32
+
23
33
  1. **Verificar** si existe `specs/db_schema/<dominio>.dbml`
24
34
  - Si **NO existe** → Auto-generar DBML `@provisional` con campos inferidos del requerimiento
25
35
  - Si **existe y está ratificado** → Usar como referencia, agregar nuevos campos como `@provisional`
@@ -31,6 +31,10 @@ Verificar:
31
31
  - [ ] Edge cases cubiertos con tests
32
32
  - [ ] Sin stubs detectados (habilidad detección-stubs)
33
33
  - [ ] Criterios de éxito de la spec cumplidos
34
+ - [ ] Conformidad con PRD (si existe .dc/prd/):
35
+ - Features Must Have implementadas
36
+ - Riesgos del PRD mitigados
37
+ - KPIs del PRD son medibles en el código
34
38
  ```
35
39
 
36
40
  ### 2. Tests y Cobertura
@@ -43,12 +43,35 @@ Nivel = max(puntuaciones) // Conservador: gana la dimensión más alta
43
43
 
44
44
  ## Comportamiento
45
45
 
46
- 1. **Analizar** la descripción de la tarea
47
- 2. **Evaluar** las 4 dimensiones (alcance, incógnitas, riesgo, duración)
48
- 3. **Determinar** nivel de complejidad
49
- 4. **Mostrar** evaluación al usuario
50
- 5. **Preguntar** si está de acuerdo o desea ajustar
51
- 6. **Iniciar** flujo del nivel correspondiente
46
+ 1. **Detectar PRD** ¿Existe `.dc/prd/prd-*.md`? ¿El usuario proporcionó brief, Figma o docs?
47
+ - Si hay PRD existente usarlo como input para las fases siguientes
48
+ - Si hay brief/Figma/docs pero no PRD → preguntar: "¿Quieres generar un PRD primero? (/dc:prd)"
49
+ - Si no hay nada → continuar sin PRD (flujo normal)
50
+ 2. **Analizar** la descripción de la tarea (o el PRD si existe)
51
+ 3. **Evaluar** las 4 dimensiones (alcance, incógnitas, riesgo, duración)
52
+ 4. **Determinar** nivel de complejidad
53
+ 5. **Mostrar** evaluación al usuario
54
+ 6. **Preguntar** si está de acuerdo o desea ajustar
55
+ 7. **Iniciar** flujo del nivel correspondiente
56
+
57
+ ### Flujo con PRD (niveles 2-4)
58
+
59
+ ```
60
+ ¿Se detectó PRD o fuentes de producto?
61
+
62
+ ├─ SÍ, PRD existe (.dc/prd/prd-*.md)
63
+ │ → Leer PRD
64
+ │ → Extraer user stories, prioridades, riesgos
65
+ │ → Alimentar /dc:especificar automáticamente
66
+
67
+ ├─ SÍ, hay brief/Figma pero no PRD
68
+ │ → "Se detectaron fuentes de producto. ¿Generar PRD? (s/n)"
69
+ │ → Si sí: /dc:prd → luego continúa el pipeline
70
+ │ → Si no: continuar sin PRD
71
+
72
+ └─ NO hay fuentes de producto
73
+ → Flujo normal (el usuario describe la tarea)
74
+ ```
52
75
 
53
76
  ## Ejemplo
54
77
 
@@ -85,9 +108,11 @@ Inspirada en el framework BMAD: el nivel de planificación se ajusta automática
85
108
  | **0 — Atómico** | implementar → verificar | spec, clarificar, planificar, desglosar |
86
109
  | **1 — Micro** | especificar (light) → implementar → revisar | clarificar, planificar, desglosar, pseudocódigo |
87
110
  | **P — PoC** | hipótesis → construir → evaluar → veredicto | todo el pipeline formal |
88
- | **2 — Estándar** | especificar → clarificar → planificar → desglosar → implementar → revisar | pseudocódigo (opcional) |
89
- | **3 — Complejo** | especificar → clarificar → pseudocódigo → planificar → diseñar → desglosar → implementar → revisar | nada se salta |
90
- | **4 — Producto** | constitución → proponer → especificar → clarificar → pseudocódigo → planificar → diseñar → desglosar → implementar → revisar | nada se salta |
111
+ | **2 — Estándar** | [PRD →] especificar → clarificar → planificar → desglosar → implementar → revisar | pseudocódigo (opcional) |
112
+ | **3 — Complejo** | [PRD →] especificar → clarificar → pseudocódigo → planificar → diseñar → desglosar → implementar → revisar | nada se salta |
113
+ | **4 — Producto** | [PRD →] constitución → proponer → especificar → clarificar → pseudocódigo → planificar → diseñar → desglosar → implementar → revisar | nada se salta |
114
+
115
+ > **[PRD]** = Fase 0 opcional. Si existe `.dc/prd/prd-*.md` o el usuario proporciona un brief/Figma, se ejecuta `/dc:prd` primero. El PRD alimenta automáticamente a `/dc:especificar` con user stories, prioridades y riesgos.
91
116
 
92
117
  **Principio:** No aplicar el mismo proceso a un micro-fix que a una migración de plataforma. La fricción innecesaria es tan dañina como la falta de estructura.
93
118
 
@@ -20,6 +20,16 @@ Convertir un requerimiento en lenguaje natural a una especificación Gherkin est
20
20
 
21
21
  ## Comportamiento
22
22
 
23
+ 0. **Detectar PRD** — Si existe `.dc/prd/prd-*.md`:
24
+ - Leer el PRD y extraer automáticamente:
25
+ - User stories (sección 6.1) → base para escenarios Gherkin
26
+ - Prioridades MoSCoW → mapear a P1 (Must), P2 (Should), P3+ (Could/Won't)
27
+ - Riesgos (sección 8) → agregar escenarios de error/edge case por riesgo
28
+ - Requirements no funcionales (sección 6.2) → anotar como constraints
29
+ - Data model DBML (sección 6.4) → usar como schema base si existe
30
+ - Informar al usuario: "PRD detectado — extrayendo X user stories, Y riesgos"
31
+ - Si no hay PRD → continuar con el flujo normal (input del usuario)
32
+
23
33
  1. **Verificar** si existe `specs/db_schema/<dominio>.dbml`
24
34
  - Si **NO existe** → Auto-generar DBML `@provisional` con campos inferidos del requerimiento
25
35
  - Si **existe y está ratificado** → Usar como referencia, agregar nuevos campos como `@provisional`
@@ -31,6 +31,10 @@ Verificar:
31
31
  - [ ] Edge cases cubiertos con tests
32
32
  - [ ] Sin stubs detectados (habilidad detección-stubs)
33
33
  - [ ] Criterios de éxito de la spec cumplidos
34
+ - [ ] Conformidad con PRD (si existe .dc/prd/):
35
+ - Features Must Have implementadas
36
+ - Riesgos del PRD mitigados
37
+ - KPIs del PRD son medibles en el código
34
38
  ```
35
39
 
36
40
  ### 2. Tests y Cobertura
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "don-cheli-sdd",
3
- "version": "1.22.0",
3
+ "version": "1.23.0",
4
4
  "description": "Framework SDD para Claude Code — 72+ comandos, 43 habilidades, 15 modelos de razonamiento. TDD como ley de hierro. EN/ES/PT.",
5
5
  "main": "bin/don-cheli.js",
6
6
  "scripts": {
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: Iniciar tarea con nivel de complejidad auto-detectado (0-4)
2
+ description: Iniciar tarea nueva SDD con complejidad auto-detectada (0-4). Usa cuando el usuario dice "quiero iniciar tarea", "empezar feature", "nueva historia", "comenzar desarrollo", "start a new task/feature/story", "iniciar un feature". Detecta si es tarea rápida (nivel 1), normal (nivel 2) o compleja (nivel 3-4) y adapta el flujo TDD. No usar para código existente.
3
3
  i18n: true
4
4
  ---
5
5
 
@@ -43,12 +43,35 @@ Nivel = max(puntuaciones) // Conservador: gana la dimensión más alta
43
43
 
44
44
  ## Comportamiento
45
45
 
46
- 1. **Analizar** la descripción de la tarea
47
- 2. **Evaluar** las 4 dimensiones (alcance, incógnitas, riesgo, duración)
48
- 3. **Determinar** nivel de complejidad
49
- 4. **Mostrar** evaluación al usuario
50
- 5. **Preguntar** si está de acuerdo o desea ajustar
51
- 6. **Iniciar** flujo del nivel correspondiente
46
+ 1. **Detectar PRD** ¿Existe `.dc/prd/prd-*.md`? ¿El usuario proporcionó brief, Figma o docs?
47
+ - Si hay PRD existente usarlo como input para las fases siguientes
48
+ - Si hay brief/Figma/docs pero no PRD → preguntar: "¿Quieres generar un PRD primero? (/dc:prd)"
49
+ - Si no hay nada → continuar sin PRD (flujo normal)
50
+ 2. **Analizar** la descripción de la tarea (o el PRD si existe)
51
+ 3. **Evaluar** las 4 dimensiones (alcance, incógnitas, riesgo, duración)
52
+ 4. **Determinar** nivel de complejidad
53
+ 5. **Mostrar** evaluación al usuario
54
+ 6. **Preguntar** si está de acuerdo o desea ajustar
55
+ 7. **Iniciar** flujo del nivel correspondiente
56
+
57
+ ### Flujo con PRD (niveles 2-4)
58
+
59
+ ```
60
+ ¿Se detectó PRD o fuentes de producto?
61
+
62
+ ├─ SÍ, PRD existe (.dc/prd/prd-*.md)
63
+ │ → Leer PRD
64
+ │ → Extraer user stories, prioridades, riesgos
65
+ │ → Alimentar /dc:especificar automáticamente
66
+
67
+ ├─ SÍ, hay brief/Figma pero no PRD
68
+ │ → "Se detectaron fuentes de producto. ¿Generar PRD? (s/n)"
69
+ │ → Si sí: /dc:prd → luego continúa el pipeline
70
+ │ → Si no: continuar sin PRD
71
+
72
+ └─ NO hay fuentes de producto
73
+ → Flujo normal (el usuario describe la tarea)
74
+ ```
52
75
 
53
76
  ## Ejemplo
54
77
 
@@ -75,3 +98,33 @@ Duración: 2 (días)
75
98
  - Si durante la ejecución se detecta mayor complejidad → escalar nivel
76
99
  - Si la complejidad resulta menor → des-escalar nivel
77
100
  - Regla de Desviación 4 → escalar al menos 1 nivel
101
+
102
+ ## Heurística de Scale-Adaptive Planning
103
+
104
+ Inspirada en el framework BMAD: el nivel de planificación se ajusta automáticamente según la complejidad detectada.
105
+
106
+ | Nivel detectado | Fases que se ejecutan | Fases que se SALTAN |
107
+ |-----------------|----------------------|---------------------|
108
+ | **0 — Atómico** | implementar → verificar | spec, clarificar, planificar, desglosar |
109
+ | **1 — Micro** | especificar (light) → implementar → revisar | clarificar, planificar, desglosar, pseudocódigo |
110
+ | **P — PoC** | hipótesis → construir → evaluar → veredicto | todo el pipeline formal |
111
+ | **2 — Estándar** | [PRD →] especificar → clarificar → planificar → desglosar → implementar → revisar | pseudocódigo (opcional) |
112
+ | **3 — Complejo** | [PRD →] especificar → clarificar → pseudocódigo → planificar → diseñar → desglosar → implementar → revisar | nada se salta |
113
+ | **4 — Producto** | [PRD →] constitución → proponer → especificar → clarificar → pseudocódigo → planificar → diseñar → desglosar → implementar → revisar | nada se salta |
114
+
115
+ > **[PRD]** = Fase 0 opcional. Si existe `.dc/prd/prd-*.md` o el usuario proporciona un brief/Figma, se ejecuta `/dc:prd` primero. El PRD alimenta automáticamente a `/dc:especificar` con user stories, prioridades y riesgos.
116
+
117
+ **Principio:** No aplicar el mismo proceso a un micro-fix que a una migración de plataforma. La fricción innecesaria es tan dañina como la falta de estructura.
118
+
119
+ ### Señales de detección automática
120
+
121
+ | Señal | Sube nivel | Baja nivel |
122
+ |-------|-----------|------------|
123
+ | Archivos afectados > 10 | +1 | |
124
+ | Archivos afectados ≤ 2 | | -1 |
125
+ | Cambio cruza módulos | +1 | |
126
+ | Solo 1 módulo | | -1 |
127
+ | Toca auth/pagos/seguridad | +1 | |
128
+ | Solo wording/config | | -1 |
129
+ | Dependencias externas nuevas | +1 | |
130
+ | Sin dependencias nuevas | | 0 |
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: Crear especificación Gherkin desde un requerimiento con schema DBML auto-generado
2
+ description: Crear especificaciones Gherkin desde un requerimiento/requisito. Usa cuando el usuario dice "escribir specs", "especificar feature", "crear Gherkin", "escribir requerimientos", "write specs", "requirements to Gherkin", "escribir scenarios", "documentar feature en Gherkin". Genera DBML schema auto-máticamente para persistence. Incluye validación contra el schema IEEE 29148.
3
3
  i18n: true
4
4
  ---
5
5
 
@@ -20,6 +20,16 @@ Convertir un requerimiento en lenguaje natural a una especificación Gherkin est
20
20
 
21
21
  ## Comportamiento
22
22
 
23
+ 0. **Detectar PRD** — Si existe `.dc/prd/prd-*.md`:
24
+ - Leer el PRD y extraer automáticamente:
25
+ - User stories (sección 6.1) → base para escenarios Gherkin
26
+ - Prioridades MoSCoW → mapear a P1 (Must), P2 (Should), P3+ (Could/Won't)
27
+ - Riesgos (sección 8) → agregar escenarios de error/edge case por riesgo
28
+ - Requirements no funcionales (sección 6.2) → anotar como constraints
29
+ - Data model DBML (sección 6.4) → usar como schema base si existe
30
+ - Informar al usuario: "PRD detectado — extrayendo X user stories, Y riesgos"
31
+ - Si no hay PRD → continuar con el flujo normal (input del usuario)
32
+
23
33
  1. **Verificar** si existe `specs/db_schema/<dominio>.dbml`
24
34
  - Si **NO existe** → Auto-generar DBML `@provisional` con campos inferidos del requerimiento
25
35
  - Si **existe y está ratificado** → Usar como referencia, agregar nuevos campos como `@provisional`
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: Peer review estricto con análisis de rendimiento, arquitectura, seguridad y cumplimiento
2
+ description: Peer review estricto de código con análisis de rendimiento, arquitectura, seguridad y cumplimiento. Usa cuando el usuario dice "revisar código", "code review", "peer review", "revisame este archivo", "review my code", "analizar código", "revisar PR", "revisar feature". Incluye análisis de performance, security OWASP, architecture smells y compliance con specs.
3
3
  i18n: true
4
4
  ---
5
5
 
@@ -31,6 +31,10 @@ Verificar:
31
31
  - [ ] Edge cases cubiertos con tests
32
32
  - [ ] Sin stubs detectados (habilidad detección-stubs)
33
33
  - [ ] Criterios de éxito de la spec cumplidos
34
+ - [ ] Conformidad con PRD (si existe .dc/prd/):
35
+ - Features Must Have implementadas
36
+ - Riesgos del PRD mitigados
37
+ - KPIs del PRD son medibles en el código
34
38
  ```
35
39
 
36
40
  ### 2. Tests y Cobertura
@@ -219,3 +223,13 @@ for user in users:
219
223
  - **Nunca** ignorar hallazgos de seguridad
220
224
  - **Siempre** verificar cumplimiento de constitución
221
225
  - **Siempre** documentar hallazgos con archivo + línea + sugerencia
226
+
227
+ ## Regla Adversarial
228
+
229
+ Inspirada en el framework BMAD: el reviewer DEBE encontrar al menos un hallazgo concreto en cada revisión.
230
+
231
+ - Si el review produce **cero hallazgos**, se activa una segunda pasada obligatoria con instrucción explícita: "Re-analizar buscando específicamente: N+1 queries, race conditions, edge cases no testeados, datos sensibles en logs, y naming inconsistencies."
232
+ - Si la segunda pasada también produce cero hallazgos, se debe incluir una justificación explícita de por qué el código es excepcionalmente limpio.
233
+ - **Nunca** aprobar con "todo se ve bien" sin evidencia de análisis profundo.
234
+
235
+ Esto combate la tendencia natural del LLM a aprobar trabajo propio sin challenge suficiente.
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: Iniciar tarea con nivel de complejidad auto-detectado (0-4)
2
+ description: Iniciar tarea nueva SDD con complejidad auto-detectada (0-4). Usa cuando el usuario dice "quiero iniciar tarea", "empezar feature", "nueva historia", "comenzar desarrollo", "start a new task/feature/story", "iniciar un feature". Detecta si es tarea rápida (nivel 1), normal (nivel 2) o compleja (nivel 3-4) y adapta el flujo TDD. No usar para código existente.
3
3
  i18n: true
4
4
  ---
5
5
 
@@ -43,12 +43,35 @@ Nivel = max(puntuaciones) // Conservador: gana la dimensión más alta
43
43
 
44
44
  ## Comportamiento
45
45
 
46
- 1. **Analizar** la descripción de la tarea
47
- 2. **Evaluar** las 4 dimensiones (alcance, incógnitas, riesgo, duración)
48
- 3. **Determinar** nivel de complejidad
49
- 4. **Mostrar** evaluación al usuario
50
- 5. **Preguntar** si está de acuerdo o desea ajustar
51
- 6. **Iniciar** flujo del nivel correspondiente
46
+ 1. **Detectar PRD** ¿Existe `.dc/prd/prd-*.md`? ¿El usuario proporcionó brief, Figma o docs?
47
+ - Si hay PRD existente usarlo como input para las fases siguientes
48
+ - Si hay brief/Figma/docs pero no PRD → preguntar: "¿Quieres generar un PRD primero? (/dc:prd)"
49
+ - Si no hay nada → continuar sin PRD (flujo normal)
50
+ 2. **Analizar** la descripción de la tarea (o el PRD si existe)
51
+ 3. **Evaluar** las 4 dimensiones (alcance, incógnitas, riesgo, duración)
52
+ 4. **Determinar** nivel de complejidad
53
+ 5. **Mostrar** evaluación al usuario
54
+ 6. **Preguntar** si está de acuerdo o desea ajustar
55
+ 7. **Iniciar** flujo del nivel correspondiente
56
+
57
+ ### Flujo con PRD (niveles 2-4)
58
+
59
+ ```
60
+ ¿Se detectó PRD o fuentes de producto?
61
+
62
+ ├─ SÍ, PRD existe (.dc/prd/prd-*.md)
63
+ │ → Leer PRD
64
+ │ → Extraer user stories, prioridades, riesgos
65
+ │ → Alimentar /dc:especificar automáticamente
66
+
67
+ ├─ SÍ, hay brief/Figma pero no PRD
68
+ │ → "Se detectaron fuentes de producto. ¿Generar PRD? (s/n)"
69
+ │ → Si sí: /dc:prd → luego continúa el pipeline
70
+ │ → Si no: continuar sin PRD
71
+
72
+ └─ NO hay fuentes de producto
73
+ → Flujo normal (el usuario describe la tarea)
74
+ ```
52
75
 
53
76
  ## Ejemplo
54
77
 
@@ -75,3 +98,33 @@ Duración: 2 (días)
75
98
  - Si durante la ejecución se detecta mayor complejidad → escalar nivel
76
99
  - Si la complejidad resulta menor → des-escalar nivel
77
100
  - Regla de Desviación 4 → escalar al menos 1 nivel
101
+
102
+ ## Heurística de Scale-Adaptive Planning
103
+
104
+ Inspirada en el framework BMAD: el nivel de planificación se ajusta automáticamente según la complejidad detectada.
105
+
106
+ | Nivel detectado | Fases que se ejecutan | Fases que se SALTAN |
107
+ |-----------------|----------------------|---------------------|
108
+ | **0 — Atómico** | implementar → verificar | spec, clarificar, planificar, desglosar |
109
+ | **1 — Micro** | especificar (light) → implementar → revisar | clarificar, planificar, desglosar, pseudocódigo |
110
+ | **P — PoC** | hipótesis → construir → evaluar → veredicto | todo el pipeline formal |
111
+ | **2 — Estándar** | [PRD →] especificar → clarificar → planificar → desglosar → implementar → revisar | pseudocódigo (opcional) |
112
+ | **3 — Complejo** | [PRD →] especificar → clarificar → pseudocódigo → planificar → diseñar → desglosar → implementar → revisar | nada se salta |
113
+ | **4 — Producto** | [PRD →] constitución → proponer → especificar → clarificar → pseudocódigo → planificar → diseñar → desglosar → implementar → revisar | nada se salta |
114
+
115
+ > **[PRD]** = Fase 0 opcional. Si existe `.dc/prd/prd-*.md` o el usuario proporciona un brief/Figma, se ejecuta `/dc:prd` primero. El PRD alimenta automáticamente a `/dc:especificar` con user stories, prioridades y riesgos.
116
+
117
+ **Principio:** No aplicar el mismo proceso a un micro-fix que a una migración de plataforma. La fricción innecesaria es tan dañina como la falta de estructura.
118
+
119
+ ### Señales de detección automática
120
+
121
+ | Señal | Sube nivel | Baja nivel |
122
+ |-------|-----------|------------|
123
+ | Archivos afectados > 10 | +1 | |
124
+ | Archivos afectados ≤ 2 | | -1 |
125
+ | Cambio cruza módulos | +1 | |
126
+ | Solo 1 módulo | | -1 |
127
+ | Toca auth/pagos/seguridad | +1 | |
128
+ | Solo wording/config | | -1 |
129
+ | Dependencias externas nuevas | +1 | |
130
+ | Sin dependencias nuevas | | 0 |
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: Crear especificación Gherkin desde un requerimiento con schema DBML auto-generado
2
+ description: Crear especificaciones Gherkin desde un requerimiento/requisito. Usa cuando el usuario dice "escribir specs", "especificar feature", "crear Gherkin", "escribir requerimientos", "write specs", "requirements to Gherkin", "escribir scenarios", "documentar feature en Gherkin". Genera DBML schema auto-máticamente para persistence. Incluye validación contra el schema IEEE 29148.
3
3
  i18n: true
4
4
  ---
5
5
 
@@ -20,6 +20,16 @@ Convertir un requerimiento en lenguaje natural a una especificación Gherkin est
20
20
 
21
21
  ## Comportamiento
22
22
 
23
+ 0. **Detectar PRD** — Si existe `.dc/prd/prd-*.md`:
24
+ - Leer el PRD y extraer automáticamente:
25
+ - User stories (sección 6.1) → base para escenarios Gherkin
26
+ - Prioridades MoSCoW → mapear a P1 (Must), P2 (Should), P3+ (Could/Won't)
27
+ - Riesgos (sección 8) → agregar escenarios de error/edge case por riesgo
28
+ - Requirements no funcionales (sección 6.2) → anotar como constraints
29
+ - Data model DBML (sección 6.4) → usar como schema base si existe
30
+ - Informar al usuario: "PRD detectado — extrayendo X user stories, Y riesgos"
31
+ - Si no hay PRD → continuar con el flujo normal (input del usuario)
32
+
23
33
  1. **Verificar** si existe `specs/db_schema/<dominio>.dbml`
24
34
  - Si **NO existe** → Auto-generar DBML `@provisional` con campos inferidos del requerimiento
25
35
  - Si **existe y está ratificado** → Usar como referencia, agregar nuevos campos como `@provisional`
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: Peer review estricto con análisis de rendimiento, arquitectura, seguridad y cumplimiento
2
+ description: Peer review estricto de código con análisis de rendimiento, arquitectura, seguridad y cumplimiento. Usa cuando el usuario dice "revisar código", "code review", "peer review", "revisame este archivo", "review my code", "analizar código", "revisar PR", "revisar feature". Incluye análisis de performance, security OWASP, architecture smells y compliance con specs.
3
3
  i18n: true
4
4
  ---
5
5
 
@@ -31,6 +31,10 @@ Verificar:
31
31
  - [ ] Edge cases cubiertos con tests
32
32
  - [ ] Sin stubs detectados (habilidad detección-stubs)
33
33
  - [ ] Criterios de éxito de la spec cumplidos
34
+ - [ ] Conformidad con PRD (si existe .dc/prd/):
35
+ - Features Must Have implementadas
36
+ - Riesgos del PRD mitigados
37
+ - KPIs del PRD son medibles en el código
34
38
  ```
35
39
 
36
40
  ### 2. Tests y Cobertura
@@ -219,3 +223,13 @@ for user in users:
219
223
  - **Nunca** ignorar hallazgos de seguridad
220
224
  - **Siempre** verificar cumplimiento de constitución
221
225
  - **Siempre** documentar hallazgos con archivo + línea + sugerencia
226
+
227
+ ## Regla Adversarial
228
+
229
+ Inspirada en el framework BMAD: el reviewer DEBE encontrar al menos un hallazgo concreto en cada revisión.
230
+
231
+ - Si el review produce **cero hallazgos**, se activa una segunda pasada obligatoria con instrucción explícita: "Re-analizar buscando específicamente: N+1 queries, race conditions, edge cases no testeados, datos sensibles en logs, y naming inconsistencies."
232
+ - Si la segunda pasada también produce cero hallazgos, se debe incluir una justificación explícita de por qué el código es excepcionalmente limpio.
233
+ - **Nunca** aprobar con "todo se ve bien" sin evidencia de análisis profundo.
234
+
235
+ Esto combate la tendencia natural del LLM a aprobar trabajo propio sin challenge suficiente.
@@ -1 +1 @@
1
- 1.22.0
1
+ 1.23.0
@@ -4,7 +4,7 @@
4
4
 
5
5
  set -euo pipefail
6
6
 
7
- VERSION="1.22.0"
7
+ VERSION="1.23.0"
8
8
  REPO_URL="https://github.com/doncheli/don-cheli-sdd"
9
9
  CLEANUP_TMPDIR=""
10
10
 
@@ -241,7 +241,7 @@ _gen_continue() {
241
241
  cat > "$dir/.continue/config/don-cheli.json" 2>/dev/null << 'CONTEOF' || true
242
242
  {
243
243
  "name": "don-cheli-sdd",
244
- "version": "1.22.0",
244
+ "version": "1.23.0",
245
245
  "description": "Don Cheli SDD Framework",
246
246
  "rules": [
247
247
  "All production code requires tests (TDD: RED → GREEN → REFACTOR)",
@@ -4,7 +4,7 @@
4
4
 
5
5
  set -euo pipefail
6
6
 
7
- VERSION="1.22.0"
7
+ VERSION="1.23.0"
8
8
  REPO_URL="https://github.com/doncheli/don-cheli-sdd"
9
9
  CLEANUP_TMPDIR=""
10
10