elsabro 2.3.0 → 3.7.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 (67) hide show
  1. package/README.md +668 -20
  2. package/bin/install.js +0 -0
  3. package/flows/development-flow.json +452 -0
  4. package/flows/quick-flow.json +118 -0
  5. package/package.json +3 -2
  6. package/references/SYSTEM_INDEX.md +379 -5
  7. package/references/agent-marketplace.md +2274 -0
  8. package/references/agent-protocol.md +1126 -0
  9. package/references/ai-code-suggestions.md +2413 -0
  10. package/references/checkpointing.md +595 -0
  11. package/references/collaboration-patterns.md +851 -0
  12. package/references/collaborative-sessions.md +1081 -0
  13. package/references/configuration-management.md +1810 -0
  14. package/references/cost-tracking.md +1095 -0
  15. package/references/enterprise-sso.md +2001 -0
  16. package/references/error-contracts-v2.md +968 -0
  17. package/references/event-driven.md +1031 -0
  18. package/references/flow-orchestration.md +940 -0
  19. package/references/flow-visualization.md +1557 -0
  20. package/references/ide-integrations.md +3513 -0
  21. package/references/interrupt-system.md +681 -0
  22. package/references/kubernetes-deployment.md +3099 -0
  23. package/references/memory-system.md +683 -0
  24. package/references/mobile-companion.md +3236 -0
  25. package/references/multi-llm-providers.md +2494 -0
  26. package/references/multi-project-memory.md +1182 -0
  27. package/references/observability.md +793 -0
  28. package/references/output-schemas.md +858 -0
  29. package/references/performance-profiler.md +955 -0
  30. package/references/plugin-system.md +1526 -0
  31. package/references/prompt-management.md +292 -0
  32. package/references/sandbox-execution.md +303 -0
  33. package/references/security-system.md +1253 -0
  34. package/references/streaming.md +696 -0
  35. package/references/testing-framework.md +1151 -0
  36. package/references/time-travel.md +802 -0
  37. package/references/tool-registry.md +886 -0
  38. package/references/voice-commands.md +3296 -0
  39. package/templates/agent-marketplace-config.json +220 -0
  40. package/templates/agent-protocol-config.json +136 -0
  41. package/templates/ai-suggestions-config.json +100 -0
  42. package/templates/checkpoint-state.json +61 -0
  43. package/templates/collaboration-config.json +157 -0
  44. package/templates/collaborative-sessions-config.json +153 -0
  45. package/templates/configuration-config.json +245 -0
  46. package/templates/cost-tracking-config.json +148 -0
  47. package/templates/enterprise-sso-config.json +438 -0
  48. package/templates/events-config.json +148 -0
  49. package/templates/flow-visualization-config.json +196 -0
  50. package/templates/ide-integrations-config.json +442 -0
  51. package/templates/kubernetes-config.json +764 -0
  52. package/templates/memory-state.json +84 -0
  53. package/templates/mobile-companion-config.json +600 -0
  54. package/templates/multi-llm-config.json +544 -0
  55. package/templates/multi-project-memory-config.json +145 -0
  56. package/templates/observability-config.json +109 -0
  57. package/templates/performance-profiler-config.json +125 -0
  58. package/templates/plugin-config.json +170 -0
  59. package/templates/prompt-management-config.json +86 -0
  60. package/templates/sandbox-config.json +185 -0
  61. package/templates/schemas-config.json +65 -0
  62. package/templates/security-config.json +120 -0
  63. package/templates/streaming-config.json +72 -0
  64. package/templates/testing-config.json +81 -0
  65. package/templates/timetravel-config.json +62 -0
  66. package/templates/tool-registry-config.json +109 -0
  67. package/templates/voice-commands-config.json +658 -0
package/bin/install.js CHANGED
File without changes
@@ -0,0 +1,452 @@
1
+ {
2
+ "id": "development_flow",
3
+ "name": "Standard Development Flow",
4
+ "version": "3.0.0",
5
+ "description": "Workflow completo para desarrollar features con quality gates",
6
+
7
+ "config": {
8
+ "timeout": 3600000,
9
+ "maxRetries": 3,
10
+ "checkpointEnabled": true,
11
+ "interruptEnabled": true,
12
+ "errorPolicy": "quorum"
13
+ },
14
+
15
+ "inputs": {
16
+ "task": { "type": "string", "required": true, "description": "Descripción de la tarea" },
17
+ "complexity": { "type": "enum", "values": ["low", "medium", "high"], "default": "medium" },
18
+ "profile": { "type": "enum", "values": ["default", "yolo", "careful"], "default": "default" }
19
+ },
20
+
21
+ "outputs": {
22
+ "filesCreated": { "type": "array" },
23
+ "filesModified": { "type": "array" },
24
+ "testsCreated": { "type": "array" },
25
+ "testsPassed": { "type": "boolean" },
26
+ "reviewApproved": { "type": "boolean" },
27
+ "success": { "type": "boolean" }
28
+ },
29
+
30
+ "nodes": [
31
+ {
32
+ "id": "start",
33
+ "type": "entry",
34
+ "next": "load_context"
35
+ },
36
+
37
+ {
38
+ "id": "load_context",
39
+ "type": "sequence",
40
+ "description": "Cargar contexto del proyecto",
41
+ "steps": [
42
+ {
43
+ "action": "read_files",
44
+ "files": ["CLAUDE.md", ".planning/patterns.md", ".planning/mistakes.md"],
45
+ "optional": true
46
+ },
47
+ {
48
+ "action": "load_memory",
49
+ "types": ["longTerm", "entity"]
50
+ }
51
+ ],
52
+ "next": "profile_router"
53
+ },
54
+
55
+ {
56
+ "id": "profile_router",
57
+ "type": "router",
58
+ "description": "Enrutar según perfil seleccionado",
59
+ "condition": "{{inputs.profile}}",
60
+ "routes": {
61
+ "yolo": "yolo_execute",
62
+ "careful": "careful_analyze",
63
+ "default": "standard_analyze"
64
+ },
65
+ "default": "standard_analyze"
66
+ },
67
+
68
+ {
69
+ "id": "yolo_execute",
70
+ "type": "agent",
71
+ "description": "Ejecución rápida sin ceremony",
72
+ "agent": "elsabro-yolo-dev",
73
+ "config": { "model": "opus", "timeout": 600000 },
74
+ "inputs": {
75
+ "task": "{{inputs.task}}",
76
+ "context": "{{state.loadedContext}}"
77
+ },
78
+ "next": "quick_verify"
79
+ },
80
+
81
+ {
82
+ "id": "quick_verify",
83
+ "type": "agent",
84
+ "agent": "elsabro-verifier",
85
+ "config": { "model": "haiku", "timeout": 120000 },
86
+ "next": "verify_check"
87
+ },
88
+
89
+ {
90
+ "id": "careful_analyze",
91
+ "type": "sequence",
92
+ "description": "Análisis exhaustivo para modo careful",
93
+ "steps": [
94
+ { "agent": "elsabro-analyst", "as": "requirements", "model": "opus" },
95
+ { "agent": "elsabro-analyst", "as": "risks", "model": "opus" },
96
+ { "agent": "elsabro-planner", "as": "detailed_plan", "model": "opus" }
97
+ ],
98
+ "next": "interrupt_plan_approval"
99
+ },
100
+
101
+ {
102
+ "id": "interrupt_plan_approval",
103
+ "type": "interrupt",
104
+ "reason": "Plan requires approval in careful mode",
105
+ "display": {
106
+ "title": "📋 Plan de Implementación",
107
+ "content": "{{nodes.careful_analyze.outputs.detailed_plan}}",
108
+ "risks": "{{nodes.careful_analyze.outputs.risks}}",
109
+ "options": [
110
+ { "id": "approve", "label": "✓ Aprobar y continuar" },
111
+ { "id": "modify", "label": "✎ Modificar plan" },
112
+ { "id": "reject", "label": "✗ Cancelar" }
113
+ ]
114
+ },
115
+ "routes": {
116
+ "approve": "parallel_implementation",
117
+ "modify": "careful_analyze",
118
+ "reject": "end_cancelled"
119
+ }
120
+ },
121
+
122
+ {
123
+ "id": "standard_analyze",
124
+ "type": "parallel",
125
+ "description": "Análisis paralelo estándar (4 agentes)",
126
+ "branches": [
127
+ {
128
+ "id": "explore",
129
+ "agent": "Explore",
130
+ "config": { "model": "haiku" },
131
+ "inputs": { "task": "Explorar estructura del codebase relevante para: {{inputs.task}}" }
132
+ },
133
+ {
134
+ "id": "code_explore",
135
+ "agent": "feature-dev:code-explorer",
136
+ "config": { "model": "haiku" },
137
+ "inputs": { "task": "Analizar código existente relacionado con: {{inputs.task}}" }
138
+ },
139
+ {
140
+ "id": "plan",
141
+ "agent": "Plan",
142
+ "config": { "model": "haiku" },
143
+ "inputs": { "task": "Diseñar plan de implementación para: {{inputs.task}}" }
144
+ },
145
+ {
146
+ "id": "tech_debt",
147
+ "agent": "general-purpose",
148
+ "config": { "model": "haiku" },
149
+ "inputs": { "task": "Escanear tech debt y patrones existentes relevantes para: {{inputs.task}}" }
150
+ }
151
+ ],
152
+ "joinType": "all",
153
+ "timeout": 300000,
154
+ "next": "merge_analysis"
155
+ },
156
+
157
+ {
158
+ "id": "merge_analysis",
159
+ "type": "agent",
160
+ "description": "Consolidar análisis de los 4 agentes",
161
+ "agent": "elsabro-analyst",
162
+ "config": { "model": "opus" },
163
+ "inputs": {
164
+ "exploration": "{{nodes.standard_analyze.outputs.branches.explore}}",
165
+ "codeAnalysis": "{{nodes.standard_analyze.outputs.branches.code_explore}}",
166
+ "plan": "{{nodes.standard_analyze.outputs.branches.plan}}",
167
+ "techDebt": "{{nodes.standard_analyze.outputs.branches.tech_debt}}",
168
+ "task": "Consolidar estos análisis en un plan unificado"
169
+ },
170
+ "next": "parallel_implementation"
171
+ },
172
+
173
+ {
174
+ "id": "parallel_implementation",
175
+ "type": "parallel",
176
+ "description": "Implementación paralela (2 agentes opus)",
177
+ "branches": [
178
+ {
179
+ "id": "implementation",
180
+ "agent": "elsabro-executor",
181
+ "config": { "model": "opus", "timeout": 900000 },
182
+ "inputs": {
183
+ "task": "{{inputs.task}}",
184
+ "plan": "{{nodes.merge_analysis.outputs.plan || nodes.careful_analyze.outputs.detailed_plan}}",
185
+ "patterns": "{{state.patterns}}",
186
+ "mistakes": "{{state.mistakes}}"
187
+ }
188
+ },
189
+ {
190
+ "id": "testing",
191
+ "agent": "elsabro-qa",
192
+ "config": { "model": "opus", "timeout": 600000 },
193
+ "inputs": {
194
+ "task": "Crear tests para: {{inputs.task}}",
195
+ "plan": "{{nodes.merge_analysis.outputs.plan || nodes.careful_analyze.outputs.detailed_plan}}"
196
+ }
197
+ }
198
+ ],
199
+ "joinType": "all",
200
+ "timeout": 1200000,
201
+ "next": "quality_gate"
202
+ },
203
+
204
+ {
205
+ "id": "quality_gate",
206
+ "type": "sequence",
207
+ "description": "Quality gate: tests, types, lint",
208
+ "steps": [
209
+ {
210
+ "action": "bash",
211
+ "command": "npm test 2>&1 || true",
212
+ "as": "tests",
213
+ "timeout": 120000
214
+ },
215
+ {
216
+ "action": "bash",
217
+ "command": "npx tsc --noEmit 2>&1 || true",
218
+ "as": "typescript",
219
+ "timeout": 60000
220
+ },
221
+ {
222
+ "action": "bash",
223
+ "command": "npm run lint 2>&1 || true",
224
+ "as": "lint",
225
+ "timeout": 60000
226
+ }
227
+ ],
228
+ "next": "quality_check"
229
+ },
230
+
231
+ {
232
+ "id": "quality_check",
233
+ "type": "condition",
234
+ "description": "Verificar si pasó quality gate",
235
+ "condition": "{{nodes.quality_gate.outputs.tests.exitCode === 0 && nodes.quality_gate.outputs.typescript.exitCode === 0}}",
236
+ "true": "parallel_review",
237
+ "false": "fix_issues"
238
+ },
239
+
240
+ {
241
+ "id": "fix_issues",
242
+ "type": "parallel",
243
+ "description": "Corregir problemas detectados (3 agentes)",
244
+ "branches": [
245
+ {
246
+ "id": "debugger",
247
+ "agent": "elsabro-debugger",
248
+ "config": { "model": "opus" },
249
+ "inputs": { "errors": "{{nodes.quality_gate.outputs}}" }
250
+ },
251
+ {
252
+ "id": "error_detective",
253
+ "agent": "error-detective",
254
+ "config": { "model": "opus" },
255
+ "inputs": { "errors": "{{nodes.quality_gate.outputs}}" }
256
+ },
257
+ {
258
+ "id": "refactor",
259
+ "agent": "refactoring-specialist",
260
+ "config": { "model": "opus" },
261
+ "inputs": { "issues": "{{nodes.quality_gate.outputs.lint}}" }
262
+ }
263
+ ],
264
+ "joinType": "all",
265
+ "next": "quality_gate",
266
+ "maxIterations": 3,
267
+ "onMaxIterations": "interrupt_manual_fix"
268
+ },
269
+
270
+ {
271
+ "id": "interrupt_manual_fix",
272
+ "type": "interrupt",
273
+ "reason": "Auto-fix failed after 3 attempts",
274
+ "display": {
275
+ "title": "⚠️ Corrección Manual Requerida",
276
+ "errors": "{{nodes.quality_gate.outputs}}",
277
+ "attempts": "3",
278
+ "options": [
279
+ { "id": "retry", "label": "Reintentar auto-fix" },
280
+ { "id": "skip", "label": "Continuar sin fix" },
281
+ { "id": "manual", "label": "Corregiré manualmente" }
282
+ ]
283
+ },
284
+ "routes": {
285
+ "retry": "fix_issues",
286
+ "skip": "parallel_review",
287
+ "manual": "wait_manual_fix"
288
+ }
289
+ },
290
+
291
+ {
292
+ "id": "wait_manual_fix",
293
+ "type": "interrupt",
294
+ "reason": "Waiting for manual fix",
295
+ "display": {
296
+ "title": "Esperando corrección manual",
297
+ "content": "Avísame cuando hayas corregido los errores",
298
+ "options": [
299
+ { "id": "done", "label": "Ya corregí los errores" }
300
+ ]
301
+ },
302
+ "routes": {
303
+ "done": "quality_gate"
304
+ }
305
+ },
306
+
307
+ {
308
+ "id": "parallel_review",
309
+ "type": "parallel",
310
+ "description": "Code review paralelo (3 agentes opus)",
311
+ "branches": [
312
+ {
313
+ "id": "code_reviewer",
314
+ "agent": "pr-review-toolkit:code-reviewer",
315
+ "config": { "model": "opus" },
316
+ "inputs": {
317
+ "changes": "{{collectOutputs('filesModified')}}",
318
+ "focus": "code quality, patterns, maintainability"
319
+ }
320
+ },
321
+ {
322
+ "id": "silent_failure_hunter",
323
+ "agent": "pr-review-toolkit:silent-failure-hunter",
324
+ "config": { "model": "opus" },
325
+ "inputs": {
326
+ "changes": "{{collectOutputs('filesModified')}}",
327
+ "focus": "error handling, edge cases, silent failures"
328
+ }
329
+ },
330
+ {
331
+ "id": "staff_review",
332
+ "agent": "code-reviewer",
333
+ "config": { "model": "opus" },
334
+ "inputs": {
335
+ "changes": "{{collectOutputs('filesModified')}}",
336
+ "focus": "Staff Engineer review: architecture, scalability, security"
337
+ }
338
+ }
339
+ ],
340
+ "joinType": "all",
341
+ "timeout": 600000,
342
+ "next": "review_check"
343
+ },
344
+
345
+ {
346
+ "id": "review_check",
347
+ "type": "condition",
348
+ "description": "Verificar si hay issues críticos en review",
349
+ "condition": "{{!hasCriticalIssues(nodes.parallel_review.outputs)}}",
350
+ "true": "verify_final",
351
+ "false": "fix_review_issues"
352
+ },
353
+
354
+ {
355
+ "id": "fix_review_issues",
356
+ "type": "agent",
357
+ "description": "Corregir issues del code review",
358
+ "agent": "elsabro-executor",
359
+ "config": { "model": "opus" },
360
+ "inputs": {
361
+ "task": "Corregir issues del code review",
362
+ "issues": "{{nodes.parallel_review.outputs}}"
363
+ },
364
+ "next": "parallel_review",
365
+ "maxIterations": 2,
366
+ "onMaxIterations": "verify_final"
367
+ },
368
+
369
+ {
370
+ "id": "verify_final",
371
+ "type": "agent",
372
+ "description": "Verificación final",
373
+ "agent": "elsabro-verifier",
374
+ "config": { "model": "opus" },
375
+ "next": "verify_check"
376
+ },
377
+
378
+ {
379
+ "id": "verify_check",
380
+ "type": "condition",
381
+ "condition": "{{nodes.verify_final.outputs.passed || nodes.quick_verify.outputs.passed}}",
382
+ "true": "post_mortem",
383
+ "false": "interrupt_verification_failed"
384
+ },
385
+
386
+ {
387
+ "id": "interrupt_verification_failed",
388
+ "type": "interrupt",
389
+ "reason": "Final verification failed",
390
+ "display": {
391
+ "title": "❌ Verificación Final Fallida",
392
+ "errors": "{{nodes.verify_final.outputs.errors}}",
393
+ "options": [
394
+ { "id": "retry", "label": "Reintentar desde implementación" },
395
+ { "id": "accept", "label": "Aceptar con errores" },
396
+ { "id": "cancel", "label": "Cancelar" }
397
+ ]
398
+ },
399
+ "routes": {
400
+ "retry": "parallel_implementation",
401
+ "accept": "post_mortem",
402
+ "cancel": "end_cancelled"
403
+ }
404
+ },
405
+
406
+ {
407
+ "id": "post_mortem",
408
+ "type": "sequence",
409
+ "description": "Post-mortem: guardar aprendizajes",
410
+ "steps": [
411
+ {
412
+ "action": "learn_patterns",
413
+ "from": "{{collectDecisions()}}"
414
+ },
415
+ {
416
+ "action": "learn_mistakes",
417
+ "from": "{{collectErrors()}}"
418
+ },
419
+ {
420
+ "action": "update_entity_memory",
421
+ "files": "{{collectOutputs('filesModified')}}"
422
+ }
423
+ ],
424
+ "next": "end_success"
425
+ },
426
+
427
+ {
428
+ "id": "end_success",
429
+ "type": "exit",
430
+ "status": "success",
431
+ "outputs": {
432
+ "filesCreated": "{{collectOutputs('filesCreated')}}",
433
+ "filesModified": "{{collectOutputs('filesModified')}}",
434
+ "testsCreated": "{{collectOutputs('testsCreated')}}",
435
+ "testsPassed": true,
436
+ "reviewApproved": true,
437
+ "success": true,
438
+ "summary": "{{generateSummary()}}"
439
+ }
440
+ },
441
+
442
+ {
443
+ "id": "end_cancelled",
444
+ "type": "exit",
445
+ "status": "cancelled",
446
+ "outputs": {
447
+ "success": false,
448
+ "reason": "Cancelled by user"
449
+ }
450
+ }
451
+ ]
452
+ }
@@ -0,0 +1,118 @@
1
+ {
2
+ "id": "quick_flow",
3
+ "name": "Quick Development Flow",
4
+ "version": "3.0.0",
5
+ "description": "Workflow simplificado para tareas rápidas con mínima ceremonia",
6
+
7
+ "config": {
8
+ "timeout": 900000,
9
+ "maxRetries": 2,
10
+ "checkpointEnabled": true,
11
+ "interruptEnabled": false,
12
+ "errorPolicy": "continue_all"
13
+ },
14
+
15
+ "inputs": {
16
+ "task": { "type": "string", "required": true }
17
+ },
18
+
19
+ "outputs": {
20
+ "filesModified": { "type": "array" },
21
+ "success": { "type": "boolean" }
22
+ },
23
+
24
+ "nodes": [
25
+ {
26
+ "id": "start",
27
+ "type": "entry",
28
+ "next": "quick_analyze"
29
+ },
30
+
31
+ {
32
+ "id": "quick_analyze",
33
+ "type": "agent",
34
+ "agent": "elsabro-quick-dev",
35
+ "config": { "model": "opus", "timeout": 300000 },
36
+ "inputs": {
37
+ "task": "{{inputs.task}}",
38
+ "mode": "analyze_and_plan"
39
+ },
40
+ "next": "quick_implement"
41
+ },
42
+
43
+ {
44
+ "id": "quick_implement",
45
+ "type": "agent",
46
+ "agent": "elsabro-quick-dev",
47
+ "config": { "model": "opus", "timeout": 600000 },
48
+ "inputs": {
49
+ "task": "{{inputs.task}}",
50
+ "plan": "{{nodes.quick_analyze.outputs.plan}}",
51
+ "mode": "implement"
52
+ },
53
+ "next": "quick_verify"
54
+ },
55
+
56
+ {
57
+ "id": "quick_verify",
58
+ "type": "sequence",
59
+ "steps": [
60
+ {
61
+ "action": "bash",
62
+ "command": "npm test -- --passWithNoTests 2>&1 || true",
63
+ "as": "tests",
64
+ "timeout": 60000
65
+ },
66
+ {
67
+ "action": "bash",
68
+ "command": "npx tsc --noEmit 2>&1 || true",
69
+ "as": "typescript",
70
+ "timeout": 30000
71
+ }
72
+ ],
73
+ "next": "verify_result"
74
+ },
75
+
76
+ {
77
+ "id": "verify_result",
78
+ "type": "condition",
79
+ "condition": "{{nodes.quick_verify.outputs.typescript.exitCode === 0}}",
80
+ "true": "end_success",
81
+ "false": "quick_fix"
82
+ },
83
+
84
+ {
85
+ "id": "quick_fix",
86
+ "type": "agent",
87
+ "agent": "elsabro-debugger",
88
+ "config": { "model": "haiku", "timeout": 180000 },
89
+ "inputs": {
90
+ "errors": "{{nodes.quick_verify.outputs}}"
91
+ },
92
+ "next": "quick_verify",
93
+ "maxIterations": 2,
94
+ "onMaxIterations": "end_with_warnings"
95
+ },
96
+
97
+ {
98
+ "id": "end_success",
99
+ "type": "exit",
100
+ "status": "success",
101
+ "outputs": {
102
+ "filesModified": "{{collectOutputs('filesModified')}}",
103
+ "success": true
104
+ }
105
+ },
106
+
107
+ {
108
+ "id": "end_with_warnings",
109
+ "type": "exit",
110
+ "status": "partial",
111
+ "outputs": {
112
+ "filesModified": "{{collectOutputs('filesModified')}}",
113
+ "success": true,
114
+ "warnings": "{{nodes.quick_verify.outputs}}"
115
+ }
116
+ }
117
+ ]
118
+ }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "elsabro",
3
- "version": "2.3.0",
4
- "description": "Sistema de desarrollo AI-powered para Claude Code - El mejor asistente para crear apps sin experiencia previa",
3
+ "version": "3.7.0",
4
+ "description": "Sistema de desarrollo AI-powered para Claude Code - Orquestación avanzada con checkpointing, memoria multi-nivel y flows declarativos",
5
5
  "bin": {
6
6
  "elsabro": "bin/install.js"
7
7
  },
@@ -12,6 +12,7 @@
12
12
  "skills",
13
13
  "templates",
14
14
  "workflows",
15
+ "flows",
15
16
  "references",
16
17
  "hooks",
17
18
  "scripts"