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 +6 -0
- package/README.es.md +5 -1
- package/README.md +5 -1
- package/README.pt.md +5 -1
- package/VERSION +1 -1
- package/comandos/dc/comenzar.md +34 -9
- package/comandos/dc/especificar.md +10 -0
- package/comandos/dc/revisar.md +4 -0
- package/comandos/especdev/comenzar.md +34 -9
- package/comandos/especdev/especificar.md +10 -0
- package/comandos/especdev/revisar.md +4 -0
- package/package.json +1 -1
- package/scripts/.claude/commands/dc/comenzar.md +60 -7
- package/scripts/.claude/commands/dc/especificar.md +11 -1
- package/scripts/.claude/commands/dc/revisar.md +15 -1
- package/scripts/.claude/commands/especdev/comenzar.md +60 -7
- package/scripts/.claude/commands/especdev/especificar.md +11 -1
- package/scripts/.claude/commands/especdev/revisar.md +15 -1
- package/scripts/.claude/don-cheli/VERSION +1 -1
- package/scripts/.claude/don-cheli/scripts/instalar.sh +1 -1
- package/scripts/generar-config.sh +1 -1
- package/scripts/instalar.sh +1 -1
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.
|
|
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.
|
|
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.
|
|
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.
|
|
1
|
+
1.23.0
|
package/comandos/dc/comenzar.md
CHANGED
|
@@ -43,12 +43,35 @@ Nivel = max(puntuaciones) // Conservador: gana la dimensión más alta
|
|
|
43
43
|
|
|
44
44
|
## Comportamiento
|
|
45
45
|
|
|
46
|
-
1. **
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
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`
|
package/comandos/dc/revisar.md
CHANGED
|
@@ -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. **
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
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,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: Iniciar tarea
|
|
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. **
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
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
|
|
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
|
|
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. **
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
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
|
|
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.
|
|
1
|
+
1.23.0
|
|
@@ -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.
|
|
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)",
|