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.
Files changed (58) hide show
  1. package/README.md +268 -0
  2. package/agents/elsabro-analyst.md +176 -0
  3. package/agents/elsabro-debugger.md +293 -0
  4. package/agents/elsabro-executor.md +477 -0
  5. package/agents/elsabro-orchestrator.md +426 -0
  6. package/agents/elsabro-planner.md +278 -0
  7. package/agents/elsabro-qa.md +273 -0
  8. package/agents/elsabro-quick-dev.md +309 -0
  9. package/agents/elsabro-scrum-master.md +217 -0
  10. package/agents/elsabro-tech-writer.md +347 -0
  11. package/agents/elsabro-ux-designer.md +278 -0
  12. package/agents/elsabro-verifier.md +295 -0
  13. package/agents/elsabro-yolo-dev.md +322 -0
  14. package/bin/install.js +497 -0
  15. package/commands/elsabro/add-phase.md +114 -0
  16. package/commands/elsabro/add-todo.md +158 -0
  17. package/commands/elsabro/audit-milestone.md +147 -0
  18. package/commands/elsabro/check-todos.md +192 -0
  19. package/commands/elsabro/complete-milestone.md +138 -0
  20. package/commands/elsabro/debug.md +153 -0
  21. package/commands/elsabro/discuss-phase.md +160 -0
  22. package/commands/elsabro/execute.md +299 -0
  23. package/commands/elsabro/help.md +102 -0
  24. package/commands/elsabro/insert-phase.md +117 -0
  25. package/commands/elsabro/list-phase-assumptions.md +129 -0
  26. package/commands/elsabro/map-codebase.md +108 -0
  27. package/commands/elsabro/new-milestone.md +128 -0
  28. package/commands/elsabro/new.md +230 -0
  29. package/commands/elsabro/pause-work.md +261 -0
  30. package/commands/elsabro/plan-milestone-gaps.md +129 -0
  31. package/commands/elsabro/plan.md +272 -0
  32. package/commands/elsabro/progress.md +187 -0
  33. package/commands/elsabro/quick.md +99 -0
  34. package/commands/elsabro/remove-phase.md +136 -0
  35. package/commands/elsabro/research-phase.md +174 -0
  36. package/commands/elsabro/resume-work.md +288 -0
  37. package/commands/elsabro/set-profile.md +216 -0
  38. package/commands/elsabro/settings.md +185 -0
  39. package/commands/elsabro/start.md +204 -0
  40. package/commands/elsabro/update.md +71 -0
  41. package/commands/elsabro/verify-work.md +269 -0
  42. package/commands/elsabro/verify.md +207 -0
  43. package/hooks/dist/.gitkeep +2 -0
  44. package/package.json +45 -0
  45. package/references/error-handling-instructions.md +312 -0
  46. package/references/source-hierarchy.md +150 -0
  47. package/references/token-optimization.md +225 -0
  48. package/skills/api-setup.md +315 -0
  49. package/skills/auth-setup.md +180 -0
  50. package/skills/database-setup.md +238 -0
  51. package/skills/expo-app.md +261 -0
  52. package/skills/nextjs-app.md +206 -0
  53. package/skills/payments-setup.md +421 -0
  54. package/skills/sentry-setup.md +295 -0
  55. package/templates/error-handling-config.json +138 -0
  56. package/templates/session-state.json +69 -0
  57. package/templates/starters/.gitkeep +2 -0
  58. package/workflows/.gitkeep +2 -0
@@ -0,0 +1,204 @@
1
+ ---
2
+ name: start
3
+ description: Wizard inteligente para empezar - detecta qué quieres hacer y te guía paso a paso
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
+ ---
15
+
16
+ # ELSABRO: Wizard de Inicio
17
+
18
+ <objective>
19
+ Eres el asistente de inicio de ELSABRO. Tu trabajo es entender qué quiere hacer el usuario y guiarlo al flujo correcto, **sin importar su nivel de experiencia técnica**.
20
+
21
+ **Principio fundamental:** El usuario puede no saber nada de código. Usa lenguaje simple, ofrece opciones claras, y explica solo cuando te lo pidan.
22
+ </objective>
23
+
24
+ <detection>
25
+ ## Paso 1: Detectar el Contexto
26
+
27
+ Primero, analiza el entorno actual:
28
+
29
+ ```bash
30
+ # Verificar si hay código existente
31
+ ls -la
32
+ ```
33
+
34
+ Basado en lo que encuentres:
35
+
36
+ | Encontrado | Significa | Flujo |
37
+ |------------|-----------|-------|
38
+ | package.json | Proyecto Node.js existente | → Brownfield |
39
+ | .git | Proyecto con control de versiones | → Brownfield |
40
+ | Carpeta vacía o solo README | Proyecto nuevo | → Greenfield |
41
+ | .planning/ | Proyecto ELSABRO existente | → Continuar |
42
+ | Nada | Directorio vacío | → Greenfield |
43
+ </detection>
44
+
45
+ <greeting>
46
+ ## Paso 2: Saludo y Opciones
47
+
48
+ Saluda al usuario con opciones claras. **NO uses jerga técnica.**
49
+
50
+ ```
51
+ ¡Hola! Soy ELSABRO, tu asistente para crear apps.
52
+
53
+ ¿Qué te gustaría hacer hoy?
54
+
55
+ 1) 💡 Tengo una idea y quiero crear algo nuevo
56
+ 2) 🔧 Ya tengo código y quiero agregar algo
57
+ 3) 🐛 Algo no funciona y necesito arreglarlo
58
+ 4) 📚 Quiero entender cómo funciona mi proyecto
59
+ 5) ❓ Otra cosa (cuéntame)
60
+ ```
61
+
62
+ Usa `AskUserQuestion` con estas opciones.
63
+ </greeting>
64
+
65
+ <flows>
66
+ ## Paso 3: Guiar al Flujo Correcto
67
+
68
+ ### Si elige "Tengo una idea" (Opción 1)
69
+
70
+ Pregunta qué tipo de app quiere:
71
+
72
+ ```
73
+ ¡Genial! ¿Qué tipo de app quieres crear?
74
+
75
+ 1) 🌐 Una página web o aplicación web
76
+ 2) 📱 Una app para celular (iOS/Android)
77
+ 3) 🔌 Una API o servicio backend
78
+ 4) 🤖 Otra cosa (cuéntame)
79
+ ```
80
+
81
+ Basado en respuesta:
82
+
83
+ | Tipo | Skill a Invocar |
84
+ |------|-----------------|
85
+ | Web | @skills/nextjs-app.md |
86
+ | Mobile | @skills/expo-app.md |
87
+ | API | @skills/api-setup.md |
88
+ | Otro | Investigar primero con Context7 |
89
+
90
+ ### Si elige "Agregar algo" (Opción 2)
91
+
92
+ ```
93
+ ¿Qué quieres agregar?
94
+
95
+ 1) 🔐 Sistema de login/usuarios
96
+ 2) 💳 Pagos con tarjeta
97
+ 3) 📊 Monitoreo de errores (Sentry)
98
+ 4) 💾 Base de datos
99
+ 5) 🎨 Mejorar el diseño
100
+ 6) 📝 Otra funcionalidad (cuéntame)
101
+ ```
102
+
103
+ | Tipo | Skill a Invocar |
104
+ |------|-----------------|
105
+ | Auth | @skills/auth-setup.md |
106
+ | Payments | @skills/payments-setup.md |
107
+ | Monitoring | @skills/sentry-setup.md |
108
+ | Database | @skills/database-setup.md |
109
+ | Design | Usar 21st Magic MCP |
110
+ | Otro | Planificar con /elsabro:plan |
111
+
112
+ ### Si elige "Algo no funciona" (Opción 3)
113
+
114
+ Invocar flujo de debugging:
115
+
116
+ ```
117
+ Entiendo. Cuéntame:
118
+ 1. ¿Qué debería pasar?
119
+ 2. ¿Qué pasa en su lugar?
120
+ 3. ¿Cuándo empezó el problema?
121
+ ```
122
+
123
+ Después → `/elsabro:debug`
124
+
125
+ ### Si elige "Entender mi proyecto" (Opción 4)
126
+
127
+ Invocar mapeo de codebase:
128
+
129
+ ```
130
+ Voy a analizar tu proyecto para explicarte cómo funciona.
131
+ Dame un momento...
132
+ ```
133
+
134
+ Después → Crear resumen en lenguaje simple
135
+
136
+ ### Si elige "Otra cosa" (Opción 5)
137
+
138
+ ```
139
+ Cuéntame más. ¿Qué tienes en mente?
140
+ ```
141
+
142
+ Escuchar y adaptar.
143
+ </flows>
144
+
145
+ <ux_rules>
146
+ ## Reglas de UX para Usuarios Sin Experiencia
147
+
148
+ ### Por defecto: Respuestas concisas
149
+ - Solo lo esencial
150
+ - Sin jerga técnica
151
+ - Opciones claras
152
+
153
+ ### Cuando pidan más detalle:
154
+ Frases que activan explicación detallada:
155
+ - "no entiendo"
156
+ - "explícame mejor"
157
+ - "qué significa"
158
+ - "más detalle"
159
+ - "?"
160
+ - "cómo funciona"
161
+
162
+ Entonces:
163
+ - Explica cada término
164
+ - Da ejemplos concretos
165
+ - Paso a paso más granular
166
+ - Pregunta si quedó claro
167
+
168
+ ### Siempre ofrecer ayuda:
169
+ Al final de cada respuesta, agregar:
170
+ ```
171
+ ¿Algo no quedó claro? Solo dime "explícame" y te doy más detalle.
172
+ ```
173
+ </ux_rules>
174
+
175
+ <research>
176
+ ## Investigación Antes de Actuar
177
+
178
+ **REGLA CRÍTICA:** Antes de generar código, SIEMPRE investigar con Context7.
179
+
180
+ ```
181
+ Para cualquier librería o framework:
182
+ 1. mcp__plugin_context7_context7__resolve-library-id
183
+ 2. mcp__plugin_context7_context7__query-docs
184
+ 3. Solo entonces: generar código verificado
185
+ ```
186
+
187
+ También usar WebSearch para:
188
+ - Comparar opciones
189
+ - Verificar mejores prácticas actuales
190
+ - Encontrar soluciones a problemas comunes
191
+ </research>
192
+
193
+ <next_steps>
194
+ ## Después del Wizard
195
+
196
+ Una vez que el usuario elige, guiar a:
197
+
198
+ | Flujo | Comando |
199
+ |-------|---------|
200
+ | Crear app nueva | `/elsabro:new` |
201
+ | Agregar feature | `/elsabro:plan` → `/elsabro:execute` |
202
+ | Debugging | `/elsabro:debug` |
203
+ | Entender código | Usar agente analyst |
204
+ </next_steps>
@@ -0,0 +1,71 @@
1
+ ---
2
+ name: update
3
+ description: Actualiza ELSABRO a la última versión
4
+ allowed-tools:
5
+ - Bash
6
+ - Read
7
+ ---
8
+
9
+ # ELSABRO: Actualización
10
+
11
+ <objective>
12
+ Actualizar ELSABRO a la última versión disponible, preservando la configuración local.
13
+ </objective>
14
+
15
+ <process>
16
+ ## Paso 1: Verificar versión actual
17
+
18
+ Lee el archivo de settings para obtener info de instalación:
19
+
20
+ ```bash
21
+ cat ~/.claude/settings.json | grep -A 5 '"elsabro"'
22
+ ```
23
+
24
+ ## Paso 2: Detectar package manager
25
+
26
+ El package manager usado está guardado en settings.json. Usar ese mismo para actualizar.
27
+
28
+ ## Paso 3: Ejecutar actualización
29
+
30
+ Según el package manager:
31
+
32
+ **NPM:**
33
+ ```bash
34
+ npx elsabro@latest --global --update
35
+ ```
36
+
37
+ **PNPM:**
38
+ ```bash
39
+ pnpm dlx elsabro@latest --global
40
+ ```
41
+
42
+ **BUN:**
43
+ ```bash
44
+ bunx elsabro@latest --global
45
+ ```
46
+
47
+ ## Paso 4: Verificar actualización
48
+
49
+ ```bash
50
+ cat ~/.claude/settings.json | grep -A 5 '"elsabro"'
51
+ ```
52
+
53
+ ## Paso 5: Confirmar al usuario
54
+
55
+ ```
56
+ ✓ ELSABRO actualizado correctamente
57
+
58
+ Versión anterior: [X.X.X]
59
+ Versión actual: [Y.Y.Y]
60
+
61
+ Para ver los cambios: https://github.com/cubait/elsabro/releases
62
+ ```
63
+ </process>
64
+
65
+ <notes>
66
+ ## Notas
67
+
68
+ - La actualización preserva tu configuración local (.planning/)
69
+ - Los agentes y comandos se reemplazan con la versión más nueva
70
+ - Si hay problemas, puedes reinstalar: `npx elsabro --global`
71
+ </notes>
@@ -0,0 +1,269 @@
1
+ ---
2
+ name: verify-work
3
+ description: Verificación completa del trabajo realizado usando agentes paralelos
4
+ allowed-tools:
5
+ - Read
6
+ - Bash
7
+ - Glob
8
+ - Grep
9
+ - Task
10
+ ---
11
+
12
+ # /elsabro:verify-work
13
+
14
+ <command-name>verify-work</command-name>
15
+
16
+ ## Propósito
17
+
18
+ Verificar que el trabajo completado cumple con los requirements, pasa todos los tests, y está listo para merge/deploy.
19
+
20
+ ## Protocolo de Verificación
21
+
22
+ Usa **mínimo 3 agentes en paralelo** para verificación exhaustiva:
23
+
24
+ ```
25
+ ┌──────────────────────────────────────────────────────┐
26
+ │ VERIFICACIÓN PARALELA (CUBAIT Protocol) │
27
+ ├──────────────────────────────────────────────────────┤
28
+ │ │
29
+ │ Agent 1: Functional Verification │
30
+ │ └─ ¿El código hace lo que debe? │
31
+ │ └─ ¿Cumple acceptance criteria? │
32
+ │ │
33
+ │ Agent 2: Quality Verification │
34
+ │ └─ ¿Tests pasan? │
35
+ │ └─ ¿Coverage adecuado? │
36
+ │ └─ ¿Sin errores de lint? │
37
+ │ │
38
+ │ Agent 3: Security/Edge Cases │
39
+ │ └─ ¿Sin vulnerabilidades obvias? │
40
+ │ └─ ¿Edge cases manejados? │
41
+ │ └─ ¿Error handling correcto? │
42
+ │ │
43
+ └──────────────────────────────────────────────────────┘
44
+ ```
45
+
46
+ ## Ejecución
47
+
48
+ ### Verificación Automática
49
+
50
+ ```bash
51
+ /elsabro:verify-work
52
+ ```
53
+
54
+ Esto ejecuta:
55
+ 1. `npm test` / `pytest` / equivalente
56
+ 2. `npm run lint` / equivalente
57
+ 3. `npm run build` (si existe)
58
+ 4. Verificación de requirements vs implementación
59
+
60
+ ### Verificación de Story Específica
61
+
62
+ ```bash
63
+ /elsabro:verify-work --story=US-123
64
+ ```
65
+
66
+ ### Verificación Pre-PR
67
+
68
+ ```bash
69
+ /elsabro:verify-work --pre-pr
70
+ ```
71
+
72
+ Agrega verificaciones extra:
73
+ - Branch está actualizado con main
74
+ - No hay conflictos
75
+ - Commit messages siguen convención
76
+ - PR template completo
77
+
78
+ ## Checklist de Verificación
79
+
80
+ ```markdown
81
+ ## Verification Report
82
+
83
+ ### Functional ✓/✗
84
+ - [ ] Acceptance criteria met
85
+ - [ ] Feature works as expected
86
+ - [ ] No regression in existing features
87
+
88
+ ### Quality ✓/✗
89
+ - [ ] All tests pass
90
+ - [ ] Coverage >= threshold
91
+ - [ ] No lint errors
92
+ - [ ] Build succeeds
93
+
94
+ ### Security ✓/✗
95
+ - [ ] No hardcoded secrets
96
+ - [ ] Input validation present
97
+ - [ ] Error messages safe
98
+ - [ ] Auth/authz correct
99
+
100
+ ### Documentation ✓/✗
101
+ - [ ] README updated (if needed)
102
+ - [ ] API docs updated (if needed)
103
+ - [ ] Comments for complex code
104
+
105
+ ### Ready for Review
106
+ - [ ] All checks pass
107
+ - [ ] Self-review done
108
+ - [ ] Ready for team review
109
+ ```
110
+
111
+ ## Output
112
+
113
+ ```
114
+ ╔══════════════════════════════════════╗
115
+ ║ VERIFICATION COMPLETE ║
116
+ ╠══════════════════════════════════════╣
117
+ ║ Functional: ✓ PASS ║
118
+ ║ Quality: ✓ PASS ║
119
+ ║ Security: ✓ PASS ║
120
+ ║ Docs: ⚠ WARN (README stale) ║
121
+ ╠══════════════════════════════════════╣
122
+ ║ OVERALL: ✓ READY FOR REVIEW ║
123
+ ╚══════════════════════════════════════╝
124
+ ```
125
+
126
+ ## Integración
127
+
128
+ - Usa `elsabro-verifier` agent internamente
129
+ - Compatible con CI/CD pipelines
130
+ - Genera reporte en `.planning/VERIFICATION-REPORT.md`
131
+
132
+ <parallel_coordination>
133
+ ## Coordinación de Verificación Paralela
134
+
135
+ ### Policy: fail_fast
136
+
137
+ Para verificación, usamos `policy: fail_fast` porque todos los checks son críticos:
138
+
139
+ ```
140
+ ┌────────────────────────────────────────────────┐
141
+ │ PARALLEL POLICY: fail_fast │
142
+ ├────────────────────────────────────────────────┤
143
+ │ Behavior: Parar si CUALQUIER check falla │
144
+ │ Rationale: Verificación debe ser exhaustiva │
145
+ │ On failure: Detener, reportar, sugerir fix │
146
+ └────────────────────────────────────────────────┘
147
+ ```
148
+
149
+ ### Lanzamiento de Agentes
150
+
151
+ ```
152
+ # Los 3 agentes corren en paralelo
153
+ ┌─────────────────────────────────────────────────┐
154
+ │ │
155
+ │ ┌─────────────┐ ┌─────────────┐ ┌─────────┐ │
156
+ │ │ Functional │ │ Quality │ │Security │ │
157
+ │ │ Verifier │ │ Verifier │ │Verifier │ │
158
+ │ └──────┬──────┘ └──────┬──────┘ └────┬────┘ │
159
+ │ │ │ │ │
160
+ │ └────────────────┼──────────────┘ │
161
+ │ │ │
162
+ │ ┌──────▼──────┐ │
163
+ │ │ Aggregator │ │
164
+ │ │ (wait all) │ │
165
+ │ └─────────────┘ │
166
+ │ │
167
+ └─────────────────────────────────────────────────┘
168
+ ```
169
+
170
+ ### Reporte de Verificación Paralela
171
+
172
+ ```
173
+ ╔══════════════════════════════════════════════════╗
174
+ ║ PARALLEL VERIFICATION COMPLETE ║
175
+ ╠══════════════════════════════════════════════════╣
176
+ ║ Policy: fail_fast ║
177
+ ║ Total: 3 agents ║
178
+ ║ ║
179
+ ║ ✓ functional-verifier: PASS (18s) ║
180
+ ║ └─ All acceptance criteria met ║
181
+ ║ ✓ quality-verifier: PASS (25s) ║
182
+ ║ └─ Tests: 45/45, Coverage: 87% ║
183
+ ║ ✓ security-verifier: PASS (12s) ║
184
+ ║ └─ No vulnerabilities found ║
185
+ ║ ║
186
+ ║ Result: 3/3 (100%) - ALL PASSED ║
187
+ ║ Status: READY FOR REVIEW ║
188
+ ╚══════════════════════════════════════════════════╝
189
+ ```
190
+
191
+ ### Manejo de Fallo (fail_fast)
192
+
193
+ Si cualquier verificador falla:
194
+
195
+ ```
196
+ ╔══════════════════════════════════════════════════╗
197
+ ║ 🟠 VERIFICATION FAILED ║
198
+ ╠══════════════════════════════════════════════════╣
199
+ ║ Policy: fail_fast (TRIGGERED) ║
200
+ ║ ║
201
+ ║ ✓ functional-verifier: PASS ║
202
+ ║ ✗ quality-verifier: FAILED ║
203
+ ║ └─ 3 tests failing ║
204
+ ║ ⏸ security-verifier: STOPPED (fail_fast) ║
205
+ ║ ║
206
+ ╠══════════════════════════════════════════════════╣
207
+ ║ Detalles del fallo: ║
208
+ ║ - Profile.test.ts: Expected "John" got null ║
209
+ ║ - Auth.test.ts: Timeout after 5000ms ║
210
+ ║ - API.test.ts: 404 on /users endpoint ║
211
+ ║ ║
212
+ ╠══════════════════════════════════════════════════╣
213
+ ║ Opciones: ║
214
+ ║ [d] /elsabro:debug - Investigar fallos ║
215
+ ║ [f] Fix y re-verificar ║
216
+ ║ [s] Saltar verificación (no recomendado) ║
217
+ ║ [a] Abortar ║
218
+ ╚══════════════════════════════════════════════════╝
219
+ ```
220
+
221
+ ### Retry para Verificación
222
+
223
+ Si un agente falla por razones transitorias (timeout, network):
224
+
225
+ ```
226
+ ┌──────────────────────────────────────────────────┐
227
+ │ RETRY: quality-verifier │
228
+ ├──────────────────────────────────────────────────┤
229
+ │ Attempt 1/3: FAILED (timeout) │
230
+ │ Waiting 1s... │
231
+ │ │
232
+ │ Attempt 2/3: FAILED (timeout) │
233
+ │ Waiting 2s... │
234
+ │ │
235
+ │ Attempt 3/3: SUCCESS ✓ │
236
+ │ │
237
+ │ Total time: 8.5s │
238
+ └──────────────────────────────────────────────────┘
239
+ ```
240
+
241
+ ### Actualizar Estado
242
+
243
+ Al completar verificación:
244
+
245
+ ```json
246
+ {
247
+ "parallelExecution": {
248
+ "policy": "fail_fast",
249
+ "activeAgents": [],
250
+ "completedAgents": [
251
+ "functional-verifier",
252
+ "quality-verifier",
253
+ "security-verifier"
254
+ ],
255
+ "failedAgents": [],
256
+ "lastResult": {
257
+ "total": 3,
258
+ "success": 3,
259
+ "allPassed": true
260
+ }
261
+ },
262
+ "verification": {
263
+ "lastRun": "2024-01-20T16:30:00Z",
264
+ "result": "PASS",
265
+ "readyForReview": true
266
+ }
267
+ }
268
+ ```
269
+ </parallel_coordination>