elsabro 2.0.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/README.md +268 -0
- package/agents/elsabro-analyst.md +176 -0
- package/agents/elsabro-debugger.md +293 -0
- package/agents/elsabro-executor.md +477 -0
- package/agents/elsabro-orchestrator.md +426 -0
- package/agents/elsabro-planner.md +278 -0
- package/agents/elsabro-qa.md +273 -0
- package/agents/elsabro-quick-dev.md +309 -0
- package/agents/elsabro-scrum-master.md +217 -0
- package/agents/elsabro-tech-writer.md +347 -0
- package/agents/elsabro-ux-designer.md +278 -0
- package/agents/elsabro-verifier.md +295 -0
- package/agents/elsabro-yolo-dev.md +322 -0
- package/bin/install.js +497 -0
- package/commands/elsabro/add-phase.md +114 -0
- package/commands/elsabro/add-todo.md +158 -0
- package/commands/elsabro/audit-milestone.md +147 -0
- package/commands/elsabro/check-todos.md +192 -0
- package/commands/elsabro/complete-milestone.md +138 -0
- package/commands/elsabro/debug.md +153 -0
- package/commands/elsabro/discuss-phase.md +160 -0
- package/commands/elsabro/execute.md +299 -0
- package/commands/elsabro/help.md +102 -0
- package/commands/elsabro/insert-phase.md +117 -0
- package/commands/elsabro/list-phase-assumptions.md +129 -0
- package/commands/elsabro/map-codebase.md +108 -0
- package/commands/elsabro/new-milestone.md +128 -0
- package/commands/elsabro/new.md +230 -0
- package/commands/elsabro/pause-work.md +261 -0
- package/commands/elsabro/plan-milestone-gaps.md +129 -0
- package/commands/elsabro/plan.md +272 -0
- package/commands/elsabro/progress.md +187 -0
- package/commands/elsabro/quick.md +99 -0
- package/commands/elsabro/remove-phase.md +136 -0
- package/commands/elsabro/research-phase.md +174 -0
- package/commands/elsabro/resume-work.md +288 -0
- package/commands/elsabro/set-profile.md +216 -0
- package/commands/elsabro/settings.md +185 -0
- package/commands/elsabro/start.md +204 -0
- package/commands/elsabro/update.md +71 -0
- package/commands/elsabro/verify-work.md +269 -0
- package/commands/elsabro/verify.md +207 -0
- package/hooks/dist/.gitkeep +2 -0
- package/package.json +45 -0
- package/references/error-handling-instructions.md +312 -0
- package/references/source-hierarchy.md +150 -0
- package/references/token-optimization.md +225 -0
- package/skills/api-setup.md +315 -0
- package/skills/auth-setup.md +180 -0
- package/skills/database-setup.md +238 -0
- package/skills/expo-app.md +261 -0
- package/skills/nextjs-app.md +206 -0
- package/skills/payments-setup.md +421 -0
- package/skills/sentry-setup.md +295 -0
- package/templates/error-handling-config.json +138 -0
- package/templates/session-state.json +69 -0
- package/templates/starters/.gitkeep +2 -0
- package/workflows/.gitkeep +2 -0
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: insert-phase
|
|
3
|
+
description: Insertar una nueva fase en una posición específica del milestone
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /elsabro:insert-phase
|
|
7
|
+
|
|
8
|
+
<command-name>insert-phase</command-name>
|
|
9
|
+
|
|
10
|
+
## Propósito
|
|
11
|
+
|
|
12
|
+
Insertar una fase en una posición específica, reorganizando las fases existentes. Útil para agregar trabajo que debe ocurrir entre fases existentes.
|
|
13
|
+
|
|
14
|
+
## Uso
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
# Insertar después de fase específica
|
|
18
|
+
/elsabro:insert-phase "Security Audit" --after=P2
|
|
19
|
+
|
|
20
|
+
# Insertar antes de fase específica
|
|
21
|
+
/elsabro:insert-phase "Security Audit" --before=P3
|
|
22
|
+
|
|
23
|
+
# Insertar en posición específica
|
|
24
|
+
/elsabro:insert-phase "Security Audit" --position=3
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Proceso
|
|
28
|
+
|
|
29
|
+
### Antes
|
|
30
|
+
|
|
31
|
+
```
|
|
32
|
+
P1: Design ✅
|
|
33
|
+
P2: Backend ✅
|
|
34
|
+
P3: Frontend 🟡
|
|
35
|
+
P4: Testing ⬜
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### Comando
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
/elsabro:insert-phase "Security Audit" --after=P2
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### Después
|
|
45
|
+
|
|
46
|
+
```
|
|
47
|
+
P1: Design ✅
|
|
48
|
+
P2: Backend ✅
|
|
49
|
+
P3: Security Audit ⬜ ← INSERTED
|
|
50
|
+
P4: Frontend 🟡 ← Renumbered
|
|
51
|
+
P5: Testing ⬜ ← Renumbered
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Validaciones
|
|
55
|
+
|
|
56
|
+
```
|
|
57
|
+
┌─────────────────────────────────────────────┐
|
|
58
|
+
│ INSERT VALIDATION │
|
|
59
|
+
├─────────────────────────────────────────────┤
|
|
60
|
+
│ ✓ Position valid │
|
|
61
|
+
│ ✓ No circular dependencies │
|
|
62
|
+
│ ⚠ Warning: P4 (was P3) is in progress │
|
|
63
|
+
│ This may affect current work │
|
|
64
|
+
└─────────────────────────────────────────────┘
|
|
65
|
+
|
|
66
|
+
Proceed with insert? (y/n)
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
## Manejo de Dependencias
|
|
70
|
+
|
|
71
|
+
Si la fase insertada crea dependencias:
|
|
72
|
+
|
|
73
|
+
```
|
|
74
|
+
P2: Backend produces API endpoints
|
|
75
|
+
P3: Security Audit needs API endpoints
|
|
76
|
+
P4: Frontend needs API endpoints
|
|
77
|
+
|
|
78
|
+
Suggested dependencies:
|
|
79
|
+
- P3 depends on P2 ✓
|
|
80
|
+
- P4 now depends on P3? (y/n)
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
## Opciones
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
--after, -a # Insert after this phase
|
|
87
|
+
--before, -b # Insert before this phase
|
|
88
|
+
--position, -p # Insert at position number
|
|
89
|
+
--milestone, -m # Target milestone
|
|
90
|
+
--deps # Set dependencies
|
|
91
|
+
--blocking # Set what this blocks
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
## Output
|
|
95
|
+
|
|
96
|
+
```
|
|
97
|
+
✓ Phase "Security Audit" inserted at position P3
|
|
98
|
+
|
|
99
|
+
Renumbered phases:
|
|
100
|
+
- P3 → P4 (Frontend)
|
|
101
|
+
- P4 → P5 (Testing)
|
|
102
|
+
|
|
103
|
+
Dependencies updated:
|
|
104
|
+
- P3: Security Audit depends on P2
|
|
105
|
+
- P4: Frontend depends on P2 (unchanged)
|
|
106
|
+
|
|
107
|
+
Timeline impact:
|
|
108
|
+
- Added ~3 days to milestone
|
|
109
|
+
- New completion: 2024-02-18
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
## Diferencia con add-phase
|
|
113
|
+
|
|
114
|
+
| Comando | Uso |
|
|
115
|
+
|---------|-----|
|
|
116
|
+
| `add-phase` | Agrega al final |
|
|
117
|
+
| `insert-phase` | Inserta en posición específica |
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: list-phase-assumptions
|
|
3
|
+
description: Listar y validar los supuestos hechos para una fase del proyecto
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /elsabro:list-phase-assumptions
|
|
7
|
+
|
|
8
|
+
<command-name>list-phase-assumptions</command-name>
|
|
9
|
+
|
|
10
|
+
## Propósito
|
|
11
|
+
|
|
12
|
+
Documentar y revisar las asunciones hechas durante la planificación de una fase. Las asunciones no validadas son riesgos ocultos.
|
|
13
|
+
|
|
14
|
+
## Uso
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
# Listar asunciones de fase actual
|
|
18
|
+
/elsabro:list-phase-assumptions
|
|
19
|
+
|
|
20
|
+
# Listar asunciones de fase específica
|
|
21
|
+
/elsabro:list-phase-assumptions P3
|
|
22
|
+
|
|
23
|
+
# Listar todas las asunciones del milestone
|
|
24
|
+
/elsabro:list-phase-assumptions --all
|
|
25
|
+
|
|
26
|
+
# Filtrar por estado
|
|
27
|
+
/elsabro:list-phase-assumptions P3 --status=unvalidated
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Categorías de Asunciones
|
|
31
|
+
|
|
32
|
+
### Técnicas
|
|
33
|
+
- "El API soporta paginación"
|
|
34
|
+
- "La biblioteca X es compatible con React 18"
|
|
35
|
+
- "El servidor tiene suficiente memoria"
|
|
36
|
+
|
|
37
|
+
### De Negocio
|
|
38
|
+
- "Los usuarios prefieren dark mode"
|
|
39
|
+
- "El flujo actual es confuso"
|
|
40
|
+
- "Esta feature aumentará retención"
|
|
41
|
+
|
|
42
|
+
### De Timeline
|
|
43
|
+
- "El diseño estará listo para D3"
|
|
44
|
+
- "El equipo de backend entrega API en W2"
|
|
45
|
+
- "QA puede testear en paralelo"
|
|
46
|
+
|
|
47
|
+
### De Recursos
|
|
48
|
+
- "Tenemos acceso al ambiente de staging"
|
|
49
|
+
- "El desarrollador X estará disponible"
|
|
50
|
+
- "El presupuesto cubre servicios externos"
|
|
51
|
+
|
|
52
|
+
## Output
|
|
53
|
+
|
|
54
|
+
```markdown
|
|
55
|
+
# Phase Assumptions: P3 - Frontend
|
|
56
|
+
|
|
57
|
+
## Technical Assumptions
|
|
58
|
+
|
|
59
|
+
| # | Assumption | Status | Validated By |
|
|
60
|
+
|---|------------|--------|--------------|
|
|
61
|
+
| A1 | Backend API supports CORS | ✅ Validated | Tested locally |
|
|
62
|
+
| A2 | WebSocket available for real-time | 🟡 Pending | Check with backend |
|
|
63
|
+
| A3 | Browser support includes Safari | ⚠️ Risk | Need to verify |
|
|
64
|
+
|
|
65
|
+
## Business Assumptions
|
|
66
|
+
|
|
67
|
+
| # | Assumption | Status | Validated By |
|
|
68
|
+
|---|------------|--------|--------------|
|
|
69
|
+
| A4 | Users prefer card view | ❓ Unvalidated | User research needed |
|
|
70
|
+
| A5 | Mobile is secondary priority | ✅ Validated | Product confirmed |
|
|
71
|
+
|
|
72
|
+
## Timeline Assumptions
|
|
73
|
+
|
|
74
|
+
| # | Assumption | Status | Validated By |
|
|
75
|
+
|---|------------|--------|--------------|
|
|
76
|
+
| A6 | Designs complete by D2 | ✅ Validated | Designer confirmed |
|
|
77
|
+
| A7 | No scope changes mid-phase | 🟡 At Risk | History suggests changes |
|
|
78
|
+
|
|
79
|
+
## Summary
|
|
80
|
+
|
|
81
|
+
Total: 7 assumptions
|
|
82
|
+
- ✅ Validated: 3
|
|
83
|
+
- 🟡 Pending: 2
|
|
84
|
+
- ⚠️ At Risk: 1
|
|
85
|
+
- ❓ Unvalidated: 1
|
|
86
|
+
|
|
87
|
+
## Recommended Actions
|
|
88
|
+
|
|
89
|
+
1. **A2 (WebSocket):** Confirm with backend team today
|
|
90
|
+
2. **A3 (Safari):** Run compatibility tests
|
|
91
|
+
3. **A4 (Card view):** Optional - defer validation
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
## Validación de Asunciones
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
# Marcar asunción como validada
|
|
98
|
+
/elsabro:list-phase-assumptions P3 --validate=A1 --by="Tested with curl"
|
|
99
|
+
|
|
100
|
+
# Marcar asunción como invalidada
|
|
101
|
+
/elsabro:list-phase-assumptions P3 --invalidate=A2 --reason="No WebSocket support"
|
|
102
|
+
|
|
103
|
+
# Agregar nueva asunción
|
|
104
|
+
/elsabro:list-phase-assumptions P3 --add="Users have stable internet"
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
## Visualización
|
|
108
|
+
|
|
109
|
+
```
|
|
110
|
+
╔═══════════════════════════════════════════════╗
|
|
111
|
+
║ ASSUMPTIONS HEALTH: P3 ║
|
|
112
|
+
╠═══════════════════════════════════════════════╣
|
|
113
|
+
║ ║
|
|
114
|
+
║ ✅ Validated ████████░░░░ 43% (3/7) ║
|
|
115
|
+
║ 🟡 Pending ████░░░░░░░░ 29% (2/7) ║
|
|
116
|
+
║ ⚠️ At Risk ██░░░░░░░░░░ 14% (1/7) ║
|
|
117
|
+
║ ❓ Unvalidated ██░░░░░░░░░░ 14% (1/7) ║
|
|
118
|
+
║ ║
|
|
119
|
+
║ Risk Level: MEDIUM ║
|
|
120
|
+
║ Action: Validate A2, A3 before continuing ║
|
|
121
|
+
║ ║
|
|
122
|
+
╚═══════════════════════════════════════════════╝
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
## Integración
|
|
126
|
+
|
|
127
|
+
- Alimenta risk assessment en `/elsabro:audit-milestone`
|
|
128
|
+
- Referenced en `/elsabro:discuss-phase`
|
|
129
|
+
- Stored en `.planning/milestones/M001/P3-ASSUMPTIONS.md`
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: map-codebase
|
|
3
|
+
description: Genera un mapa completo del codebase actual para entender estructura, dependencias y patrones
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /elsabro:map-codebase
|
|
7
|
+
|
|
8
|
+
<command-name>map-codebase</command-name>
|
|
9
|
+
|
|
10
|
+
## Propósito
|
|
11
|
+
|
|
12
|
+
Analizar y documentar la estructura completa del codebase para facilitar navegación, comprensión y desarrollo futuro.
|
|
13
|
+
|
|
14
|
+
## Cuándo Usar
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
✅ Ideal para:
|
|
18
|
+
- Proyecto nuevo que no conoces
|
|
19
|
+
- Onboarding en codebase existente
|
|
20
|
+
- Antes de hacer cambios arquitectónicos
|
|
21
|
+
- Documentar proyecto legacy
|
|
22
|
+
- Preparar para code review grande
|
|
23
|
+
|
|
24
|
+
❌ NO usar para:
|
|
25
|
+
- Proyectos pequeños (<10 archivos)
|
|
26
|
+
- Cuando ya conoces bien el código
|
|
27
|
+
- Quick fixes (usa /elsabro:quick)
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Ejecución
|
|
31
|
+
|
|
32
|
+
### Paso 1: Análisis de Estructura
|
|
33
|
+
|
|
34
|
+
Usa agentes en paralelo para explorar:
|
|
35
|
+
|
|
36
|
+
```
|
|
37
|
+
Agent 1: Estructura de directorios y archivos clave
|
|
38
|
+
Agent 2: Dependencias (package.json, requirements.txt, etc.)
|
|
39
|
+
Agent 3: Patrones de código y convenciones
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### Paso 2: Identificar Componentes
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
┌─────────────────────────────────────────────┐
|
|
46
|
+
│ COMPONENTES A MAPEAR │
|
|
47
|
+
├─────────────────────────────────────────────┤
|
|
48
|
+
│ - Entry points (main, index) │
|
|
49
|
+
│ - Rutas/Endpoints │
|
|
50
|
+
│ - Modelos/Schemas │
|
|
51
|
+
│ - Servicios/Utils │
|
|
52
|
+
│ - Tests │
|
|
53
|
+
│ - Configuración │
|
|
54
|
+
└─────────────────────────────────────────────┘
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### Paso 3: Generar Mapa
|
|
58
|
+
|
|
59
|
+
Crear `.planning/CODEBASE-MAP.md` con:
|
|
60
|
+
|
|
61
|
+
```markdown
|
|
62
|
+
# Codebase Map
|
|
63
|
+
|
|
64
|
+
## Estructura
|
|
65
|
+
[Árbol de directorios con descripciones]
|
|
66
|
+
|
|
67
|
+
## Componentes Principales
|
|
68
|
+
[Lista de componentes con propósito]
|
|
69
|
+
|
|
70
|
+
## Dependencias
|
|
71
|
+
[Dependencias externas clave]
|
|
72
|
+
|
|
73
|
+
## Patrones Detectados
|
|
74
|
+
[Patrones de diseño usados]
|
|
75
|
+
|
|
76
|
+
## Puntos de Entrada
|
|
77
|
+
[Entry points y su función]
|
|
78
|
+
|
|
79
|
+
## Áreas de Atención
|
|
80
|
+
[Código complejo o legacy]
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### Paso 4: Visualización
|
|
84
|
+
|
|
85
|
+
Generar diagrama Mermaid de arquitectura:
|
|
86
|
+
|
|
87
|
+
```mermaid
|
|
88
|
+
graph TD
|
|
89
|
+
A[Entry Point] --> B[Routes]
|
|
90
|
+
B --> C[Controllers]
|
|
91
|
+
C --> D[Services]
|
|
92
|
+
D --> E[Models]
|
|
93
|
+
D --> F[External APIs]
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## Output
|
|
97
|
+
|
|
98
|
+
- `.planning/CODEBASE-MAP.md` - Mapa detallado
|
|
99
|
+
- `.planning/ARCHITECTURE.mmd` - Diagrama Mermaid
|
|
100
|
+
- Console output con resumen
|
|
101
|
+
|
|
102
|
+
## Uso
|
|
103
|
+
|
|
104
|
+
```
|
|
105
|
+
/elsabro:map-codebase
|
|
106
|
+
/elsabro:map-codebase --focus=backend
|
|
107
|
+
/elsabro:map-codebase --depth=3
|
|
108
|
+
```
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: new-milestone
|
|
3
|
+
description: Crear un nuevo milestone con objetivos, timeline y métricas de éxito
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /elsabro:new-milestone
|
|
7
|
+
|
|
8
|
+
<command-name>new-milestone</command-name>
|
|
9
|
+
|
|
10
|
+
## Propósito
|
|
11
|
+
|
|
12
|
+
Crear un milestone formal para organizar el trabajo en objetivos alcanzables con deadlines claros.
|
|
13
|
+
|
|
14
|
+
## Proceso de Creación
|
|
15
|
+
|
|
16
|
+
### Paso 1: Definir Milestone
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
/elsabro:new-milestone "MVP Launch"
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
ELSABRO pregunta:
|
|
23
|
+
1. **Objetivo principal** - ¿Qué logras al completar esto?
|
|
24
|
+
2. **Deadline** - ¿Cuándo debe estar listo?
|
|
25
|
+
3. **Dependencias** - ¿Qué debe existir antes?
|
|
26
|
+
|
|
27
|
+
### Paso 2: Generar Estructura
|
|
28
|
+
|
|
29
|
+
Crea `.planning/milestones/M001-mvp-launch/`:
|
|
30
|
+
|
|
31
|
+
```
|
|
32
|
+
M001-mvp-launch/
|
|
33
|
+
├── MILESTONE.md # Definición del milestone
|
|
34
|
+
├── OBJECTIVES.md # Objetivos específicos
|
|
35
|
+
├── PHASES.md # Fases del milestone
|
|
36
|
+
└── METRICS.md # Métricas de éxito
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### Template de MILESTONE.md
|
|
40
|
+
|
|
41
|
+
```markdown
|
|
42
|
+
# Milestone: MVP Launch
|
|
43
|
+
|
|
44
|
+
## Overview
|
|
45
|
+
- **ID:** M001
|
|
46
|
+
- **Status:** 🟡 In Progress
|
|
47
|
+
- **Created:** 2024-01-15
|
|
48
|
+
- **Target:** 2024-03-01
|
|
49
|
+
- **Owner:** [Team/Person]
|
|
50
|
+
|
|
51
|
+
## Objective
|
|
52
|
+
[Descripción clara de qué se logra]
|
|
53
|
+
|
|
54
|
+
## Success Criteria
|
|
55
|
+
- [ ] Criteria 1
|
|
56
|
+
- [ ] Criteria 2
|
|
57
|
+
- [ ] Criteria 3
|
|
58
|
+
|
|
59
|
+
## Phases
|
|
60
|
+
| Phase | Description | Status | ETA |
|
|
61
|
+
|-------|-------------|--------|-----|
|
|
62
|
+
| P1 | Foundation | ✅ Done | W1 |
|
|
63
|
+
| P2 | Core Features | 🟡 WIP | W2-3 |
|
|
64
|
+
| P3 | Polish | ⬜ Pending | W4 |
|
|
65
|
+
|
|
66
|
+
## Dependencies
|
|
67
|
+
- [x] Dependency 1
|
|
68
|
+
- [ ] Dependency 2
|
|
69
|
+
|
|
70
|
+
## Risks
|
|
71
|
+
| Risk | Impact | Mitigation |
|
|
72
|
+
|------|--------|------------|
|
|
73
|
+
| Risk 1 | High | Plan B |
|
|
74
|
+
|
|
75
|
+
## Progress
|
|
76
|
+
- 2024-01-15: Milestone created
|
|
77
|
+
- 2024-01-20: P1 completed
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## Opciones
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
# Milestone básico
|
|
84
|
+
/elsabro:new-milestone "Feature X"
|
|
85
|
+
|
|
86
|
+
# Con deadline específico
|
|
87
|
+
/elsabro:new-milestone "Feature X" --deadline=2024-03-01
|
|
88
|
+
|
|
89
|
+
# Basado en template
|
|
90
|
+
/elsabro:new-milestone "Feature X" --template=sprint
|
|
91
|
+
|
|
92
|
+
# Con fases predefinidas
|
|
93
|
+
/elsabro:new-milestone "Feature X" --phases="design,develop,test,deploy"
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## Templates Disponibles
|
|
97
|
+
|
|
98
|
+
### Sprint (2 semanas)
|
|
99
|
+
```
|
|
100
|
+
P1: Planning (D1)
|
|
101
|
+
P2: Development (D2-8)
|
|
102
|
+
P3: Testing (D9-10)
|
|
103
|
+
P4: Review & Deploy (D11-14)
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
### Feature (4 semanas)
|
|
107
|
+
```
|
|
108
|
+
P1: Research & Design (W1)
|
|
109
|
+
P2: Implementation (W2-3)
|
|
110
|
+
P3: Testing & QA (W4)
|
|
111
|
+
P4: Documentation & Deploy (W4)
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
### Epic (8+ semanas)
|
|
115
|
+
```
|
|
116
|
+
P1: Discovery (W1-2)
|
|
117
|
+
P2: Design (W3-4)
|
|
118
|
+
P3: Development - Phase 1 (W5-6)
|
|
119
|
+
P4: Development - Phase 2 (W7-8)
|
|
120
|
+
P5: Integration & Testing (W9)
|
|
121
|
+
P6: Launch (W10)
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
## Integración
|
|
125
|
+
|
|
126
|
+
- Linked con `/elsabro:progress` para tracking
|
|
127
|
+
- Linked con `/elsabro:complete-milestone` para cierre
|
|
128
|
+
- Linked con `/elsabro:audit-milestone` para revisión
|
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: new
|
|
3
|
+
description: Crear un nuevo proyecto desde cero con investigación previa
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Read
|
|
6
|
+
- Write
|
|
7
|
+
- Bash
|
|
8
|
+
- Glob
|
|
9
|
+
- Grep
|
|
10
|
+
- Task
|
|
11
|
+
- AskUserQuestion
|
|
12
|
+
- WebSearch
|
|
13
|
+
- mcp__plugin_context7_context7__*
|
|
14
|
+
argument-hint: "[tipo de proyecto: web, mobile, api]"
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
# ELSABRO: Nuevo Proyecto
|
|
18
|
+
|
|
19
|
+
<objective>
|
|
20
|
+
Crear un proyecto nuevo con investigación previa, configuración correcta, y estructura lista para desarrollo.
|
|
21
|
+
|
|
22
|
+
**El usuario puede no saber nada de código.** Guiarlo paso a paso con opciones claras.
|
|
23
|
+
</objective>
|
|
24
|
+
|
|
25
|
+
<process>
|
|
26
|
+
## Paso 1: Detectar Contexto
|
|
27
|
+
|
|
28
|
+
Verificar si ya hay código:
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
ls -la
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
Si hay código → Sugerir `/elsabro:start` en su lugar.
|
|
35
|
+
|
|
36
|
+
## Paso 2: Entender Qué Quiere Crear
|
|
37
|
+
|
|
38
|
+
Si no hay argumento, preguntar:
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
¿Qué tipo de proyecto quieres crear?
|
|
42
|
+
|
|
43
|
+
1) 🌐 Aplicación web (páginas, dashboard, tienda online)
|
|
44
|
+
2) 📱 App para celular (iOS y Android)
|
|
45
|
+
3) 🔌 API o backend (servicios, webhooks)
|
|
46
|
+
4) 🎯 No estoy seguro (cuéntame tu idea)
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## Paso 3: Profundizar en la Idea
|
|
50
|
+
|
|
51
|
+
Hacer preguntas de clarificación (una a la vez):
|
|
52
|
+
|
|
53
|
+
```
|
|
54
|
+
¿Puedes contarme más sobre tu idea?
|
|
55
|
+
- ¿Qué problema resuelve?
|
|
56
|
+
- ¿Quién la va a usar?
|
|
57
|
+
- ¿Tienes algún ejemplo de algo similar?
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## Paso 4: Spawnnear Agentes en Paralelo para Research
|
|
61
|
+
|
|
62
|
+
Usar Task tool para investigar en paralelo:
|
|
63
|
+
|
|
64
|
+
```
|
|
65
|
+
Task(elsabro-analyst, model: haiku):
|
|
66
|
+
Investiga el dominio de: [descripción de la idea]
|
|
67
|
+
Enfócate en:
|
|
68
|
+
- Competidores o productos similares
|
|
69
|
+
- Funcionalidades comunes esperadas
|
|
70
|
+
- Terminología del dominio
|
|
71
|
+
|
|
72
|
+
Task(elsabro-planner, model: haiku):
|
|
73
|
+
Investiga el stack técnico para: [tipo de proyecto]
|
|
74
|
+
Usa Context7 para verificar:
|
|
75
|
+
- Versiones actuales de frameworks
|
|
76
|
+
- Mejores prácticas [año actual]
|
|
77
|
+
- Patrones recomendados
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
Nota: Como es proyecto NUEVO, no hay código existente que analizar.
|
|
81
|
+
|
|
82
|
+
## Paso 5: Elegir Skill según Tipo
|
|
83
|
+
|
|
84
|
+
| Tipo | Skill | Comando |
|
|
85
|
+
|------|-------|---------|
|
|
86
|
+
| Web | nextjs-app | `@skills/nextjs-app.md` |
|
|
87
|
+
| Mobile | expo-app | `@skills/expo-app.md` |
|
|
88
|
+
| API | api-setup | `@skills/api-setup.md` |
|
|
89
|
+
|
|
90
|
+
Leer el skill correspondiente y seguir sus pasos.
|
|
91
|
+
|
|
92
|
+
## Paso 6: Crear Estructura Base
|
|
93
|
+
|
|
94
|
+
Ejecutar los pasos del skill seleccionado para:
|
|
95
|
+
1. Crear el proyecto con el CLI oficial
|
|
96
|
+
2. Configurar dependencias
|
|
97
|
+
3. Verificar que funciona
|
|
98
|
+
|
|
99
|
+
## Paso 7: Crear .planning/
|
|
100
|
+
|
|
101
|
+
Una vez el proyecto base funciona:
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
mkdir -p .planning
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
Crear archivos iniciales:
|
|
108
|
+
|
|
109
|
+
### PROJECT.md
|
|
110
|
+
```markdown
|
|
111
|
+
# [Nombre del Proyecto]
|
|
112
|
+
|
|
113
|
+
## Idea
|
|
114
|
+
[Una oración describiendo qué es]
|
|
115
|
+
|
|
116
|
+
## Problema que Resuelve
|
|
117
|
+
[Lo que el usuario describió]
|
|
118
|
+
|
|
119
|
+
## Usuarios
|
|
120
|
+
[Quién lo va a usar]
|
|
121
|
+
|
|
122
|
+
## Creado
|
|
123
|
+
[Fecha]
|
|
124
|
+
|
|
125
|
+
## Stack
|
|
126
|
+
[Tecnologías elegidas]
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
### config.json
|
|
130
|
+
```json
|
|
131
|
+
{
|
|
132
|
+
"mode": "interactive",
|
|
133
|
+
"depth": "standard",
|
|
134
|
+
"workflow": {
|
|
135
|
+
"research": true,
|
|
136
|
+
"plan_check": true,
|
|
137
|
+
"verifier": true
|
|
138
|
+
},
|
|
139
|
+
"user_skill_level": "beginner"
|
|
140
|
+
}
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
## Paso 8: Verificar con Usuario
|
|
144
|
+
|
|
145
|
+
```
|
|
146
|
+
¡Tu proyecto está listo!
|
|
147
|
+
|
|
148
|
+
Lo que creé:
|
|
149
|
+
- [Carpeta del proyecto]
|
|
150
|
+
- [Archivos de configuración]
|
|
151
|
+
- [Estructura base]
|
|
152
|
+
|
|
153
|
+
Para probarlo:
|
|
154
|
+
1. [Instrucción específica]
|
|
155
|
+
2. [Instrucción específica]
|
|
156
|
+
|
|
157
|
+
¿Todo funciona? Si sí, podemos empezar a agregar funcionalidades.
|
|
158
|
+
```
|
|
159
|
+
</process>
|
|
160
|
+
|
|
161
|
+
<skills_routing>
|
|
162
|
+
## Routing a Skills
|
|
163
|
+
|
|
164
|
+
### Web → Next.js
|
|
165
|
+
```
|
|
166
|
+
@skills/nextjs-app.md
|
|
167
|
+
|
|
168
|
+
Antes de ejecutar:
|
|
169
|
+
1. Context7: resolve-library-id("next.js")
|
|
170
|
+
2. Context7: query-docs(id, "create next app")
|
|
171
|
+
3. Verificar comando actual
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
### Mobile → Expo
|
|
175
|
+
```
|
|
176
|
+
@skills/expo-app.md
|
|
177
|
+
|
|
178
|
+
Antes de ejecutar:
|
|
179
|
+
1. Context7: resolve-library-id("expo")
|
|
180
|
+
2. Context7: query-docs(id, "create expo app")
|
|
181
|
+
3. Verificar comando actual
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
### API → Express/Fastify/Hono
|
|
185
|
+
```
|
|
186
|
+
@skills/api-setup.md
|
|
187
|
+
|
|
188
|
+
Antes de ejecutar:
|
|
189
|
+
1. Context7: query comparación de frameworks
|
|
190
|
+
2. Elegir basado en requisitos
|
|
191
|
+
3. Verificar setup actual
|
|
192
|
+
```
|
|
193
|
+
</skills_routing>
|
|
194
|
+
|
|
195
|
+
<user_experience>
|
|
196
|
+
## UX para Usuarios Sin Experiencia
|
|
197
|
+
|
|
198
|
+
### Lenguaje Simple
|
|
199
|
+
- "página web" no "aplicación Next.js"
|
|
200
|
+
- "app para celular" no "React Native con Expo"
|
|
201
|
+
- "guardar datos" no "base de datos PostgreSQL"
|
|
202
|
+
|
|
203
|
+
### Opciones Claras
|
|
204
|
+
Siempre ofrecer opciones numeradas, no preguntas abiertas.
|
|
205
|
+
|
|
206
|
+
### Explicar cuando Pidan
|
|
207
|
+
Si dicen "no entiendo" o "explícame":
|
|
208
|
+
- Dar más contexto
|
|
209
|
+
- Usar analogías
|
|
210
|
+
- Mostrar ejemplos
|
|
211
|
+
</user_experience>
|
|
212
|
+
|
|
213
|
+
<verification>
|
|
214
|
+
## Verificación Final
|
|
215
|
+
|
|
216
|
+
Antes de terminar, confirmar:
|
|
217
|
+
|
|
218
|
+
1. **Proyecto creado:**
|
|
219
|
+
```bash
|
|
220
|
+
ls -la [proyecto]
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
2. **Funciona:**
|
|
224
|
+
```bash
|
|
225
|
+
cd [proyecto] && npm run dev
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
3. **Usuario confirma:**
|
|
229
|
+
"¿Puedes ver [lo esperado]?"
|
|
230
|
+
</verification>
|