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,187 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: progress
|
|
3
|
+
description: Ver el progreso del proyecto y qué hacer siguiente
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Read
|
|
6
|
+
- Glob
|
|
7
|
+
- Grep
|
|
8
|
+
- Bash
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# ELSABRO: Progress
|
|
12
|
+
|
|
13
|
+
<objective>
|
|
14
|
+
Mostrar el estado actual del proyecto y guiar al usuario sobre qué hacer a continuación.
|
|
15
|
+
</objective>
|
|
16
|
+
|
|
17
|
+
<process>
|
|
18
|
+
## Paso 1: Detectar Estado del Proyecto
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
# Verificar si hay proyecto ELSABRO
|
|
22
|
+
ls .planning/ 2>/dev/null
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
### Si no existe .planning/
|
|
26
|
+
```
|
|
27
|
+
No hay un proyecto ELSABRO en este directorio.
|
|
28
|
+
|
|
29
|
+
¿Quieres empezar uno nuevo?
|
|
30
|
+
→ /elsabro:start
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### Si existe .planning/
|
|
34
|
+
Continuar a Paso 2.
|
|
35
|
+
|
|
36
|
+
## Paso 2: Cargar Contexto
|
|
37
|
+
|
|
38
|
+
Leer estos archivos si existen:
|
|
39
|
+
- `.planning/PROJECT.md` → Información del proyecto
|
|
40
|
+
- `.planning/ROADMAP.md` → Fases planificadas
|
|
41
|
+
- `.planning/config.json` → Configuración
|
|
42
|
+
- `.planning/*-VERIFICATION.md` → Estados de verificación
|
|
43
|
+
|
|
44
|
+
## Paso 3: Calcular Progreso
|
|
45
|
+
|
|
46
|
+
```
|
|
47
|
+
Para cada fase en ROADMAP:
|
|
48
|
+
- ¿Tiene PLAN.md? → Planificada
|
|
49
|
+
- ¿Tiene SUMMARY.md? → Ejecutada
|
|
50
|
+
- ¿Tiene VERIFICATION.md con passed? → Completada
|
|
51
|
+
- ¿Tiene gaps? → Necesita corrección
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Paso 4: Mostrar Resumen
|
|
55
|
+
|
|
56
|
+
```
|
|
57
|
+
┌─────────────────────────────────────────────┐
|
|
58
|
+
│ [Nombre del Proyecto] │
|
|
59
|
+
│ [Descripción corta] │
|
|
60
|
+
└─────────────────────────────────────────────┘
|
|
61
|
+
|
|
62
|
+
Progreso: ████████░░ 80%
|
|
63
|
+
|
|
64
|
+
Fases:
|
|
65
|
+
✓ Fase 1: Setup inicial
|
|
66
|
+
✓ Fase 2: Autenticación
|
|
67
|
+
→ Fase 3: Dashboard (en progreso)
|
|
68
|
+
○ Fase 4: Pagos
|
|
69
|
+
○ Fase 5: Deploy
|
|
70
|
+
|
|
71
|
+
Última actividad: hace 2 horas
|
|
72
|
+
Último commit: feat(3-1): Add dashboard layout
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## Paso 5: Sugerir Siguiente Acción
|
|
76
|
+
|
|
77
|
+
Basado en el estado:
|
|
78
|
+
|
|
79
|
+
### Si hay fase en progreso sin completar:
|
|
80
|
+
```
|
|
81
|
+
Siguiente paso recomendado:
|
|
82
|
+
→ Continuar fase 3: /elsabro:execute 3
|
|
83
|
+
|
|
84
|
+
O si necesitas ayuda:
|
|
85
|
+
→ Ver el plan: cat .planning/3-PLAN.md
|
|
86
|
+
→ Depurar problema: /elsabro:debug
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### Si la última fase está completada:
|
|
90
|
+
```
|
|
91
|
+
¡Excelente progreso!
|
|
92
|
+
|
|
93
|
+
Siguiente paso recomendado:
|
|
94
|
+
→ Planificar fase 4: /elsabro:plan 4
|
|
95
|
+
|
|
96
|
+
O alternativamente:
|
|
97
|
+
→ Verificar todo: /elsabro:verify
|
|
98
|
+
→ Ver el roadmap: cat .planning/ROADMAP.md
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
### Si hay gaps pendientes:
|
|
102
|
+
```
|
|
103
|
+
⚠ Hay problemas pendientes en fase 3
|
|
104
|
+
|
|
105
|
+
Gaps encontrados:
|
|
106
|
+
- [ ] Test de validación fallando
|
|
107
|
+
- [ ] Falta middleware de auth
|
|
108
|
+
|
|
109
|
+
Siguiente paso recomendado:
|
|
110
|
+
→ Corregir gaps: /elsabro:debug
|
|
111
|
+
→ Ver detalles: cat .planning/3-VERIFICATION.md
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
### Si el proyecto está completo:
|
|
115
|
+
```
|
|
116
|
+
🎉 ¡Proyecto completado!
|
|
117
|
+
|
|
118
|
+
Todas las fases verificadas:
|
|
119
|
+
✓ Fase 1: Setup inicial
|
|
120
|
+
✓ Fase 2: Autenticación
|
|
121
|
+
✓ Fase 3: Dashboard
|
|
122
|
+
✓ Fase 4: Pagos
|
|
123
|
+
✓ Fase 5: Deploy
|
|
124
|
+
|
|
125
|
+
Opciones:
|
|
126
|
+
→ Agregar nueva feature: /elsabro:plan "nueva feature"
|
|
127
|
+
→ Revisar código: Ver archivos
|
|
128
|
+
→ Actualizar ELSABRO: /elsabro:update
|
|
129
|
+
```
|
|
130
|
+
</process>
|
|
131
|
+
|
|
132
|
+
<visual_indicators>
|
|
133
|
+
## Indicadores Visuales
|
|
134
|
+
|
|
135
|
+
| Símbolo | Significado |
|
|
136
|
+
|---------|-------------|
|
|
137
|
+
| ✓ | Completado y verificado |
|
|
138
|
+
| → | En progreso actual |
|
|
139
|
+
| ○ | Pendiente |
|
|
140
|
+
| ⚠ | Tiene problemas/gaps |
|
|
141
|
+
| ✗ | Falló verificación |
|
|
142
|
+
|
|
143
|
+
## Barra de Progreso
|
|
144
|
+
|
|
145
|
+
```
|
|
146
|
+
0% ░░░░░░░░░░
|
|
147
|
+
25% ██░░░░░░░░
|
|
148
|
+
50% █████░░░░░
|
|
149
|
+
75% ███████░░░
|
|
150
|
+
100% ██████████
|
|
151
|
+
```
|
|
152
|
+
</visual_indicators>
|
|
153
|
+
|
|
154
|
+
<context_awareness>
|
|
155
|
+
## Consciencia de Contexto
|
|
156
|
+
|
|
157
|
+
### Git Status
|
|
158
|
+
```bash
|
|
159
|
+
git status --short
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
Si hay cambios sin commitear:
|
|
163
|
+
```
|
|
164
|
+
⚠ Hay cambios sin guardar
|
|
165
|
+
|
|
166
|
+
Archivos modificados:
|
|
167
|
+
- src/components/Button.tsx
|
|
168
|
+
- src/lib/auth.ts
|
|
169
|
+
|
|
170
|
+
Recomendación:
|
|
171
|
+
→ Revisar cambios: git diff
|
|
172
|
+
→ Guardar progreso: git add . && git commit
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
### Tiempo desde última actividad
|
|
176
|
+
Si han pasado más de 24 horas:
|
|
177
|
+
```
|
|
178
|
+
Ha pasado tiempo desde tu última sesión.
|
|
179
|
+
|
|
180
|
+
Resumen de dónde te quedaste:
|
|
181
|
+
- Fase actual: [N]
|
|
182
|
+
- Última tarea: [descripción]
|
|
183
|
+
- Estado: [pendiente/en progreso]
|
|
184
|
+
|
|
185
|
+
¿Quieres continuar donde lo dejaste?
|
|
186
|
+
```
|
|
187
|
+
</context_awareness>
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: quick
|
|
3
|
+
description: Modo de ejecución rápida para tareas simples - mínima ceremonia, máxima velocidad
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /elsabro:quick
|
|
7
|
+
|
|
8
|
+
<command-name>quick</command-name>
|
|
9
|
+
|
|
10
|
+
## Propósito
|
|
11
|
+
|
|
12
|
+
Ejecutar tareas pequeñas y bien definidas con mínima fricción. Para cuando sabes exactamente qué necesitas y no quieres overhead.
|
|
13
|
+
|
|
14
|
+
## Cuándo Usar
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
✅ Ideal para:
|
|
18
|
+
- Fix de un bug obvio
|
|
19
|
+
- Agregar campo simple
|
|
20
|
+
- Renombrar/mover archivo
|
|
21
|
+
- Quick refactor localizado
|
|
22
|
+
- Agregar test simple
|
|
23
|
+
|
|
24
|
+
❌ NO usar para:
|
|
25
|
+
- Features nuevas complejas
|
|
26
|
+
- Cambios arquitectónicos
|
|
27
|
+
- Cuando no estás seguro del approach
|
|
28
|
+
- Código crítico (pagos, auth)
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Ejecución
|
|
32
|
+
|
|
33
|
+
### Modo Interactivo
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
User: /elsabro:quick
|
|
37
|
+
ELSABRO: ¿Qué necesitas? (1 oración)
|
|
38
|
+
User: Agregar validación de email al form de registro
|
|
39
|
+
ELSABRO: ¿Archivo? (o "buscar")
|
|
40
|
+
User: src/components/RegisterForm.tsx
|
|
41
|
+
ELSABRO: [Ejecuta en <30 segundos]
|
|
42
|
+
→ Done. Test agregado. ¿Commit? (y/n)
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### Modo Directo
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
/elsabro:quick "agregar campo phone a UserSchema"
|
|
49
|
+
/elsabro:quick "fix typo en README"
|
|
50
|
+
/elsabro:quick "agregar test para validateEmail"
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## Proceso Interno
|
|
54
|
+
|
|
55
|
+
```
|
|
56
|
+
1. Parse request (5 seg)
|
|
57
|
+
└─ Entender qué se pide
|
|
58
|
+
|
|
59
|
+
2. Locate (10 seg)
|
|
60
|
+
└─ Encontrar archivo(s) relevante(s)
|
|
61
|
+
|
|
62
|
+
3. Execute (15-60 seg)
|
|
63
|
+
└─ Hacer el cambio
|
|
64
|
+
└─ Agregar test si aplica
|
|
65
|
+
|
|
66
|
+
4. Verify (10 seg)
|
|
67
|
+
└─ Correr tests afectados
|
|
68
|
+
|
|
69
|
+
5. Report
|
|
70
|
+
└─ Mostrar diff
|
|
71
|
+
└─ Ofrecer commit
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## Reglas
|
|
75
|
+
|
|
76
|
+
1. **Max 2 preguntas** - Si necesitas más info, usa `/elsabro:plan`
|
|
77
|
+
2. **Max 3 archivos** - Si afecta más, usa flujo normal
|
|
78
|
+
3. **Auto-test** - Siempre corre tests relacionados
|
|
79
|
+
4. **No docs** - Skip documentación para velocidad
|
|
80
|
+
5. **Offer commit** - Siempre pregunta si commitear
|
|
81
|
+
|
|
82
|
+
## Integración con Agentes
|
|
83
|
+
|
|
84
|
+
Quick mode usa `elsabro-yolo-dev` (Flash) internamente:
|
|
85
|
+
|
|
86
|
+
```
|
|
87
|
+
/elsabro:quick → Activa Flash → Ejecuta → Reporta
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
## Output
|
|
91
|
+
|
|
92
|
+
```
|
|
93
|
+
✓ Quick complete
|
|
94
|
+
Changed: src/components/RegisterForm.tsx
|
|
95
|
+
Added: src/components/__tests__/RegisterForm.email.test.ts
|
|
96
|
+
Tests: 1 passed
|
|
97
|
+
|
|
98
|
+
Commit? (y/n/edit message)
|
|
99
|
+
```
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: remove-phase
|
|
3
|
+
description: Eliminar una fase del milestone (con validaciones de seguridad)
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /elsabro:remove-phase
|
|
7
|
+
|
|
8
|
+
<command-name>remove-phase</command-name>
|
|
9
|
+
|
|
10
|
+
## Propósito
|
|
11
|
+
|
|
12
|
+
Eliminar una fase que ya no es necesaria o fue agregada por error. Incluye validaciones para prevenir eliminación accidental de trabajo importante.
|
|
13
|
+
|
|
14
|
+
## Uso
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
# Eliminar fase específica
|
|
18
|
+
/elsabro:remove-phase P4
|
|
19
|
+
|
|
20
|
+
# Eliminar con confirmación explícita
|
|
21
|
+
/elsabro:remove-phase P4 --confirm
|
|
22
|
+
|
|
23
|
+
# Eliminar y mover tasks a otra fase
|
|
24
|
+
/elsabro:remove-phase P4 --move-tasks-to=P3
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Validaciones de Seguridad
|
|
28
|
+
|
|
29
|
+
### Fase con trabajo completado
|
|
30
|
+
|
|
31
|
+
```
|
|
32
|
+
⚠️ WARNING: P3 has completed tasks
|
|
33
|
+
|
|
34
|
+
Completed tasks:
|
|
35
|
+
- [x] Task 1 (completed 2024-01-15)
|
|
36
|
+
- [x] Task 2 (completed 2024-01-16)
|
|
37
|
+
|
|
38
|
+
Options:
|
|
39
|
+
1. Archive phase (keeps history)
|
|
40
|
+
2. Move tasks to another phase
|
|
41
|
+
3. Delete anyway (loses history)
|
|
42
|
+
4. Cancel
|
|
43
|
+
|
|
44
|
+
Choice (1-4):
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### Fase en progreso
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
🔴 BLOCKED: P3 is currently in progress
|
|
51
|
+
|
|
52
|
+
Cannot remove phase with active work.
|
|
53
|
+
Complete or move tasks first:
|
|
54
|
+
|
|
55
|
+
Active tasks:
|
|
56
|
+
- [ ] Task 3 (in progress)
|
|
57
|
+
- [ ] Task 4 (assigned)
|
|
58
|
+
|
|
59
|
+
Use --move-tasks-to=PX to relocate tasks.
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### Fase con dependencias
|
|
63
|
+
|
|
64
|
+
```
|
|
65
|
+
⚠️ Dependency check:
|
|
66
|
+
|
|
67
|
+
P4 (Testing) depends on P3 (Frontend)
|
|
68
|
+
|
|
69
|
+
If P3 is removed:
|
|
70
|
+
- P4 will have no dependencies
|
|
71
|
+
- Update P4 dependencies? (y/n)
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## Proceso de Eliminación
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
/elsabro:remove-phase P4 --confirm
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
```
|
|
81
|
+
Removing phase P4: Documentation
|
|
82
|
+
|
|
83
|
+
Pre-removal checklist:
|
|
84
|
+
✓ No tasks in progress
|
|
85
|
+
✓ No completed tasks
|
|
86
|
+
✓ No dependent phases
|
|
87
|
+
✓ User confirmed
|
|
88
|
+
|
|
89
|
+
Executing:
|
|
90
|
+
1. Removing phase from PHASES.md
|
|
91
|
+
2. Updating MILESTONE.md
|
|
92
|
+
3. Renumbering subsequent phases
|
|
93
|
+
4. Updating timeline
|
|
94
|
+
|
|
95
|
+
✓ Phase P4 removed successfully
|
|
96
|
+
|
|
97
|
+
Updated phases:
|
|
98
|
+
P1: Design ✅
|
|
99
|
+
P2: Backend ✅
|
|
100
|
+
P3: Frontend 🟡
|
|
101
|
+
P4: Testing ⬜ ← Was P5
|
|
102
|
+
|
|
103
|
+
Timeline impact: -2 days
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
## Opciones
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
--confirm # Skip confirmation prompt
|
|
110
|
+
--force # Force remove (use carefully!)
|
|
111
|
+
--move-tasks-to # Move tasks to another phase
|
|
112
|
+
--archive # Archive instead of delete
|
|
113
|
+
--milestone, -m # Target milestone
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
## Archivo vs Eliminación
|
|
117
|
+
|
|
118
|
+
| Acción | Resultado |
|
|
119
|
+
|--------|-----------|
|
|
120
|
+
| Archive | Mueve a `.planning/milestones/M001/archived/` |
|
|
121
|
+
| Delete | Elimina permanentemente |
|
|
122
|
+
|
|
123
|
+
## Output
|
|
124
|
+
|
|
125
|
+
```
|
|
126
|
+
✓ Phase removed: P4 - Documentation
|
|
127
|
+
|
|
128
|
+
Status: Archived
|
|
129
|
+
Location: .planning/milestones/M001/archived/P4-docs.md
|
|
130
|
+
|
|
131
|
+
Milestone updated:
|
|
132
|
+
- Phases: 5 → 4
|
|
133
|
+
- ETA: -2 days earlier
|
|
134
|
+
|
|
135
|
+
Restore: Use /elsabro:insert-phase with --from-archive flag
|
|
136
|
+
```
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: research-phase
|
|
3
|
+
description: Investigar tecnologías, patrones y approaches para una fase antes de planificar
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /elsabro:research-phase
|
|
7
|
+
|
|
8
|
+
<command-name>research-phase</command-name>
|
|
9
|
+
|
|
10
|
+
## Propósito
|
|
11
|
+
|
|
12
|
+
Realizar investigación técnica sobre una fase para informar decisiones de arquitectura, selección de tecnologías y approach de implementación.
|
|
13
|
+
|
|
14
|
+
## Uso
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
# Research para fase específica
|
|
18
|
+
/elsabro:research-phase P3
|
|
19
|
+
|
|
20
|
+
# Research con tema específico
|
|
21
|
+
/elsabro:research-phase P3 --topic="state management"
|
|
22
|
+
|
|
23
|
+
# Research comparativo
|
|
24
|
+
/elsabro:research-phase P3 --compare="redux,zustand,jotai"
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Proceso de Research
|
|
28
|
+
|
|
29
|
+
### Paso 1: Identificar Temas
|
|
30
|
+
|
|
31
|
+
```
|
|
32
|
+
Phase: P3 - Frontend
|
|
33
|
+
|
|
34
|
+
Identified research topics:
|
|
35
|
+
1. State management solution
|
|
36
|
+
2. Component library options
|
|
37
|
+
3. Testing approach
|
|
38
|
+
4. API integration patterns
|
|
39
|
+
|
|
40
|
+
Which to research? (1,2,3,4 or all):
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### Paso 2: Ejecutar Research
|
|
44
|
+
|
|
45
|
+
Usa agentes en paralelo con Context7 y WebSearch:
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
┌──────────────────────────────────────────────────┐
|
|
49
|
+
│ PARALLEL RESEARCH │
|
|
50
|
+
├──────────────────────────────────────────────────┤
|
|
51
|
+
│ │
|
|
52
|
+
│ Agent 1: State Management │
|
|
53
|
+
│ └─ Context7: React Query, Zustand, Redux │
|
|
54
|
+
│ └─ WebSearch: "best state management 2024" │
|
|
55
|
+
│ │
|
|
56
|
+
│ Agent 2: Component Libraries │
|
|
57
|
+
│ └─ Context7: shadcn/ui, Radix, MUI │
|
|
58
|
+
│ └─ WebSearch: "react component libraries" │
|
|
59
|
+
│ │
|
|
60
|
+
│ Agent 3: Testing Approaches │
|
|
61
|
+
│ └─ Context7: Vitest, Testing Library │
|
|
62
|
+
│ └─ WebSearch: "react testing best practices" │
|
|
63
|
+
│ │
|
|
64
|
+
└──────────────────────────────────────────────────┘
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### Paso 3: Generar Reporte
|
|
68
|
+
|
|
69
|
+
```markdown
|
|
70
|
+
# Research Report: P3 - Frontend
|
|
71
|
+
|
|
72
|
+
## Date: 2024-01-20
|
|
73
|
+
|
|
74
|
+
## Topic 1: State Management
|
|
75
|
+
|
|
76
|
+
### Options Evaluated
|
|
77
|
+
| Solution | Pros | Cons | Fit |
|
|
78
|
+
|----------|------|------|-----|
|
|
79
|
+
| Redux Toolkit | Mature, devtools | Boilerplate | ⭐⭐⭐ |
|
|
80
|
+
| Zustand | Simple, small | Less ecosystem | ⭐⭐⭐⭐ |
|
|
81
|
+
| React Query | Server state | Learning curve | ⭐⭐⭐⭐⭐ |
|
|
82
|
+
|
|
83
|
+
### Recommendation
|
|
84
|
+
**React Query + Zustand**
|
|
85
|
+
- React Query for server state (API calls)
|
|
86
|
+
- Zustand for client state (UI state)
|
|
87
|
+
- Best of both worlds
|
|
88
|
+
|
|
89
|
+
### Code Example
|
|
90
|
+
```typescript
|
|
91
|
+
// Server state with React Query
|
|
92
|
+
const { data } = useQuery({
|
|
93
|
+
queryKey: ['users'],
|
|
94
|
+
queryFn: fetchUsers
|
|
95
|
+
});
|
|
96
|
+
|
|
97
|
+
// Client state with Zustand
|
|
98
|
+
const useStore = create((set) => ({
|
|
99
|
+
theme: 'dark',
|
|
100
|
+
setTheme: (theme) => set({ theme })
|
|
101
|
+
}));
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
## Topic 2: Component Library
|
|
105
|
+
|
|
106
|
+
### Recommendation
|
|
107
|
+
**shadcn/ui**
|
|
108
|
+
- Not a dependency, copy components
|
|
109
|
+
- Tailwind-based
|
|
110
|
+
- Highly customizable
|
|
111
|
+
- Great accessibility
|
|
112
|
+
|
|
113
|
+
## Topic 3: Testing
|
|
114
|
+
|
|
115
|
+
### Recommendation
|
|
116
|
+
**Vitest + Testing Library**
|
|
117
|
+
- Fast execution
|
|
118
|
+
- Jest-compatible API
|
|
119
|
+
- Good React support
|
|
120
|
+
|
|
121
|
+
## Summary of Recommendations
|
|
122
|
+
|
|
123
|
+
| Area | Recommendation | Confidence |
|
|
124
|
+
|------|----------------|------------|
|
|
125
|
+
| State | React Query + Zustand | High |
|
|
126
|
+
| Components | shadcn/ui | High |
|
|
127
|
+
| Testing | Vitest + RTL | High |
|
|
128
|
+
| Styling | Tailwind CSS | High |
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
## Opciones
|
|
132
|
+
|
|
133
|
+
```bash
|
|
134
|
+
--topic, -t # Specific topic to research
|
|
135
|
+
--compare # Compare specific options
|
|
136
|
+
--deep # Deep research (more sources)
|
|
137
|
+
--quick # Quick overview only
|
|
138
|
+
--output, -o # Output file path
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
## Integración con Context7
|
|
142
|
+
|
|
143
|
+
```
|
|
144
|
+
Researching: React Query
|
|
145
|
+
|
|
146
|
+
Context7 results:
|
|
147
|
+
- Basic usage examples
|
|
148
|
+
- Mutation patterns
|
|
149
|
+
- Infinite queries
|
|
150
|
+
- Optimistic updates
|
|
151
|
+
|
|
152
|
+
Latest version: 5.x
|
|
153
|
+
Breaking changes from 4.x noted
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
## Output
|
|
157
|
+
|
|
158
|
+
```
|
|
159
|
+
✓ Research complete for P3
|
|
160
|
+
|
|
161
|
+
Report: .planning/milestones/M001/P3-RESEARCH.md
|
|
162
|
+
|
|
163
|
+
Topics covered:
|
|
164
|
+
- State management ✓
|
|
165
|
+
- Component library ✓
|
|
166
|
+
- Testing approach ✓
|
|
167
|
+
|
|
168
|
+
Key recommendations:
|
|
169
|
+
- React Query + Zustand for state
|
|
170
|
+
- shadcn/ui for components
|
|
171
|
+
- Vitest for testing
|
|
172
|
+
|
|
173
|
+
Ready for: /elsabro:plan or /elsabro:discuss-phase
|
|
174
|
+
```
|