@liriraid/agentflow-ai 1.0.20 → 1.0.22

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.
@@ -1,44 +1,236 @@
1
- # Orquestador Multiagente
1
+ # Orquestador Multiagente (agentflow-ai)
2
2
 
3
3
  > by **LiriRaid**
4
4
 
5
- Orquestador reusable para trabajar con múltiples agentes de código desde terminal, con un TUI propio, cola operativa, skills locales, memoria persistente con Engram y artefactos OpenSpec para cambios grandes.
5
+ **Sistema de Orquestación Multiagente para Desarrollo con IA**
6
6
 
7
- La idea central no es dejar que una sola IA haga todo, sino:
7
+ Un workspace reutilizable que coordina **múltiples agentes de IA** (Claude, Codex, OpenCode, etc.) para trabajar **en paralelo** en proyectos reales, manteniendo el repositorio del proyecto **completamente limpio** de archivos del orquestador.
8
8
 
9
- - usar a **Claude** como orquestador principal
10
- - usar **OpenCode** principalmente para exploración, lectura y contexto, pero también para implementar cuando convenga
11
- - usar **Codex** para ejecución estructurada e implementación de apoyo
12
- - reflejar todo en una **TUI** que muestra estado, cola, agentes, logs y actividad real
9
+ ```text
10
+ workspace-proyecto/
11
+ mi-proyecto/ # Proyecto real (permanece limpio)
12
+ orchestrator-mi-proyecto/ # Workspace del orquestador (generado)
13
+ ```
14
+
15
+ ## 🎯 ¿Qué hace?
16
+
17
+ - **Coordina múltiples agentes de IA** (Claude, Codex, OpenCode, Gemini, Cursor, Abacus) para trabajar simultáneamente en tu proyecto.
18
+ - **Monitoreo en tiempo real** con una TUI moderna que muestra el estado en vivo de agentes, cola y progreso.
19
+ - **Delegación automática de tareas** según la especialización del agente (análisis, implementación, revisión de código).
20
+ - **Memoria persistente** con Engram para mantener el contexto entre sesiones.
21
+ - **Soporte para SDD (Spec-Driven Development)** con OpenSpec para cambios grandes y multifase.
22
+ - **Sistema de fallback automático** que reasigna tareas cuando un agente falla o alcanza límites de cuota.
23
+ - **Soporte multi-idioma** (español e inglés) para todas las plantillas y documentación.
24
+
25
+ ## ✨ Características Clave
26
+
27
+ ### 1. **Modelo de Workspace Sibling**
28
+ - El orquestador crea un **workspace separado** al lado de tu proyecto real.
29
+ - Tu repositorio del proyecto **permanece completamente limpio** (sin `QUEUE.md`, `logs/`, etc.).
30
+ - Los agentes trabajan en los archivos reales del proyecto mediante rutas absolutas configuradas en `orchestrator.config.json`.
31
+
32
+ ### 2. **Coordinación Multiagente**
33
+ | Agente | Rol | Prioridad | Notas |
34
+ |--------|-----|----------|-------|
35
+ | **Claude-Orquestador** | Coordinador de sesión | - | Nunca implementa código directamente; delega a workers |
36
+ | **Codex** | Implementación primaria | 1ra opción | Tareas estructuradas, tests, docs |
37
+ | **OpenCode** | Análisis + Implementación | 2da opción | Usa el modelo que tengas configurado |
38
+ | **Claude-Worker** (Backend/Frontend) | Fallback | 3ra opción | Toma el relevo si Codex/OpenCode fallan |
39
+ | **Gemini** | Revisión/auditoría | Opcional | Deshabilitado por defecto |
40
+ | **Cursor/Abacus** | Tareas mecánicas | Opcional | Deshabilitado por defecto |
41
+
42
+ ### 3. **Operación en Tiempo Real**
43
+ - **fs.watch en QUEUE.md**: Detecta cambios en **~1-2 segundos** (Linux/macOS: monitoreo directo de archivo; Windows: fallback a monitoreo de directorio).
44
+ - **Actualizaciones en vivo de la TUI**: El dashboard se refresca automáticamente cuando se agragan, inician o completan tareas.
45
+ - **Notificaciones instantáneas**: Claude-Orquestador recibe alertas en `INBOX.md` y `NOTIFY.md` cuando las tareas finalizan.
46
+
47
+ ### 4. **Delegación Inteligente de Tareas**
48
+ - **Tareas de análisis** → Siempre asignadas a **OpenCode**.
49
+ - **Tareas de implementación** → Asignadas a **Codex** (1ra) → **OpenCode** (2da) → **Claude-Worker** (3ra).
50
+ - **Cadena de fallback**: `Codex → OpenCode → Claude-Worker` (automático).
51
+
52
+ ### 5. **Memoria Persistente y SDD**
53
+ - **Engram**: Almacena decisiones, bugs y hallazgos entre sesiones.
54
+ - **OpenSpec**: Soporta `proposal.md`, `spec.md`, `design.md`, `tasks.md`, y `verify-report.md` para cambios grandes.
55
+ - **Handoffs**: Resúmenes de sesión para continuidad.
56
+
57
+ ## 🚀 Instalación
58
+
59
+ ### CLI Global (Recomendado)
60
+ ```bash
61
+ pnpm add -g @liriraid/agentflow-ai
62
+ ```
63
+
64
+ ### Desarrollo Local
65
+ ```bash
66
+ git clone https://github.com/LiriRaid/agentflow-ai.git
67
+ cd agentflow-ai
68
+ pnpm install
69
+ ```
70
+
71
+ ## 🛠️ Inicio Rápido
72
+
73
+ ### 1. Crear un Workspace del Orquestador
74
+ ```bash
75
+ # Interactivo (pregunta el idioma)
76
+ agentflow init-workspace C:/code/mi-proyecto
77
+
78
+ # Directo (Inglés)
79
+ agentflow init-workspace C:/code/mi-proyecto --lang en
80
+
81
+ # Directo (Español)
82
+ agentflow init-workspace C:/code/mi-proyecto --lang es
83
+ ```
84
+ Esto crea un workspace hermano (ej: `orchestrator-mi-proyecto/`) con todos los archivos de configuración.
85
+
86
+ ### 2. Configurar Repositorios
87
+ Edita `orchestrator.config.json` en el workspace generado:
88
+ ```json
89
+ {
90
+ "repos": {
91
+ "backend": "C:/code/mi-backend",
92
+ "frontend": "C:/code/mi-frontend"
93
+ }
94
+ }
95
+ ```
96
+
97
+ ### 3. Iniciar la TUI
98
+ ```bash
99
+ cd orchestrator-mi-proyecto
100
+ agentflow ink --paused
101
+ ```
102
+ **Controles:**
103
+ - `S`: Iniciar/Reanudar
104
+ - `P`: Pausar
105
+ - `R`: Recargar cola
106
+ - `Q`: Salir (detiene todos los agentes)
107
+
108
+ ### 4. Abrir Claude Code
109
+ Abre una segunda terminal en el **workspace del orquestador** (no en el proyecto real):
110
+ ```bash
111
+ cd orchestrator-mi-proyecto
112
+ claude
113
+ ```
114
+ Luego ejecuta:
115
+ ```
116
+ Lee ORCHESTRATOR.md y arranca.
117
+ ```
118
+
119
+ ### 5. Solicitar Trabajo
120
+ Ejemplos:
121
+ - `"Explora este proyecto"` → OpenCode analiza y reporta.
122
+ - `"Agrega autenticación JWT"` → OpenCode analiza, luego Codex/OpenCode implementan.
123
+ - `"Refactoriza la capa de API"` → OpenCode explora, luego los workers implementan en paralelo.
124
+
125
+ ## 📁 Estructura del Workspace
126
+
127
+ El workspace generado incluye:
128
+
129
+ ```text
130
+ orchestrator-mi-proyecto/
131
+ ├── ORCHESTRATOR.md # Reglas principales para la sesión del orquestador
132
+ ├── CLAUDE.md # Reglas de enrutamiento para Claude
133
+ ├── QUEUE.md # Cola de tareas activa (TASK-NNN | título | agente | ...)
134
+ ├── ENGRAM.md # Convenciones de memoria persistente
135
+ ├── orchestrator.config.json # Repos, agentes, modelos y perfiles
136
+ ├── agents/ # Instrucciones específicas por agente
137
+ │ ├── BACKEND.md
138
+ │ ├── FRONTEND.md
139
+ │ ├── CODEX.md
140
+ │ └── OPENCODE.md
141
+ ├── .claude/ # Skills y configuración local de Claude
142
+ │ └── skills/ # Skills del orquestador (init, explore, etc.)
143
+ ├── .codex/ # Configuración de Codex
144
+ ├── .opencode/ # Configuración de OpenCode
145
+ ├── openspec/ # Artefactos SDD
146
+ │ ├── changes/
147
+ │ └── templates/
148
+ ├── docs/ # Documentación
149
+ ├── logs/ # Logs de ejecución
150
+ ├── handoffs/ # Handoffs de sesión
151
+ └── progress/ # Reportes de progreso de agentes
152
+ ```
153
+
154
+ ## 🎛️ Configuración
155
+
156
+ ### Configuración de Agentes (`orchestrator.config.json`)
157
+ ```json
158
+ {
159
+ "projectName": "Mi Proyecto",
160
+ "workspaceLanguage": "es",
161
+ "maxConcurrent": 5,
162
+ "pollIntervalSeconds": 5, // Polling de fallback (realtime usa fs.watch)
163
+ "taskTimeoutMinutes": 30,
164
+ "repos": {
165
+ "backend": "C:/code/mi-backend",
166
+ "frontend": "C:/code/mi-frontend"
167
+ },
168
+ "agentProfiles": {
169
+ "claude": { "enabled": true, "localConfigDir": ".claude" },
170
+ "codex": { "enabled": true, "localConfigDir": ".codex" },
171
+ "opencode": { "enabled": true, "localConfigDir": ".opencode" }
172
+ },
173
+ "agents": {
174
+ "Backend": { "cli": "claude", "defaultRepo": "backend" },
175
+ "Frontend": { "cli": "claude", "defaultRepo": "frontend" },
176
+ "Codex": { "cli": "codex", "defaultRepo": "backend" },
177
+ "OpenCode": { "cli": "opencode", "defaultRepo": "frontend" }
178
+ }
179
+ }
180
+ ```
181
+
182
+ ### Selección de Modelo
183
+ Cada agente usa el modelo que tengas configurado en su propio CLI. Podés agregar opcionalmente `"model": "nombre-del-modelo"` en la entrada de cualquier agente para sobrescribir — para Claude acepta valores como `sonnet` u `opus`.
184
+
185
+ ## 🔄 Ejemplo de Flujo de Trabajo
186
+
187
+ 1. **Solicitud del Usuario**: `"Agrega autenticación JWT al backend."`
188
+ 2. **Claude-Orquestador**:
189
+ - Crea `TASK-001` (OpenCode): `"Analizar sistema de autenticación actual"`
190
+ - Espera el reporte de OpenCode en `progress/PROGRESS-OpenCode.md`
191
+ 3. **OpenCode**:
192
+ - Analiza el codebase.
193
+ - Escribe los hallazgos en `progress/PROGRESS-OpenCode.md` y `INBOX.md`.
194
+ 4. **Claude-Orquestador**:
195
+ - Lee el reporte de OpenCode.
196
+ - Crea `TASK-002` (Codex): `"Implementar autenticación JWT"` (depende de TASK-001).
197
+ 5. **Codex**:
198
+ - Implementa la funcionalidad.
199
+ - Reporta la finalización en `progress/PROGRESS-Codex.md`.
200
+ 6. **TUI**:
201
+ - Muestra actualizaciones en tiempo real (estado de tareas, actividad de agentes, costos).
202
+
203
+ ## 📊 Agentes Soportados y Modelos
13
204
 
14
- ## Qué es hoy
205
+ | Agente | CLI | Modelo | ¿Implementa? | Notas |
206
+ |--------|-----|--------|--------------|-------|
207
+ | Backend | `claude` | auto | ✅ Sí | Claude-Worker para tareas de backend |
208
+ | Frontend | `claude` | auto | ✅ Sí | Claude-Worker para tareas de frontend |
209
+ | Codex | `codex` | auto | ✅ Sí | Implementación primaria |
210
+ | OpenCode | `opencode` | auto | ✅ Sí | Implementación secundaria |
211
+ | Gemini | `gemini` | auto | ❌ No | Solo auditorías/revisiones |
212
+ | Cursor | `cursor` | auto | ❌ No | Solo ediciones masivas |
213
+ | Abacus | `abacusai` | auto | ❌ No | Solo tareas pequeñas y enfocadas |
15
214
 
16
- Este repo ya no es solo un runner con `QUEUE.md`.
215
+ ## 🛡️ Seguridad y Mejores Prácticas
17
216
 
18
- Hoy incluye:
217
+ - **Sin commits automáticos**: Los agentes nunca ejecutan `git commit` o `git push`.
218
+ - **Sin modo YOLO por defecto**: El modo seguro está activado a menos que se use `--yolo`.
219
+ - **Claude como revisor**: Claude-Orquestador valida todo el trabajo antes de la aprobación del usuario.
220
+ - **Repositorios limpios**: Los archivos del proyecto permanecen intactos; los archivos del orquestador viven en el workspace hermano.
221
+ - **Fallback seguro**: Las tareas se reasignan automáticamente si un agente falla.
19
222
 
20
- - **motor de orquestación** en `orchestrator.js`
21
- - **TUI Ink** conectada al motor real
22
- - **skills locales** en `.claude/skills/`
23
- - **routing local** con `CLAUDE.md`
24
- - **memoria persistente** con `ENGRAM.md`
25
- - **OpenSpec** para cambios grandes
26
- - **configuración por agente** con `agentProfiles`
27
- - **base de installer / ecosystem configurator**
28
- - **documentación local de componentes y arquitectura**
223
+ ## 📚 Documentación
29
224
 
30
- ## Valor del sistema
225
+ - **Reglas Principales**: Ver `ORCHESTRATOR.md` en el workspace generado.
226
+ - **Enrutamiento de Agentes**: Ver `CLAUDE.md`.
227
+ - **Arquitectura**: Ver `docs/architecture.md`.
228
+ - **OpenSpec**: Ver `openspec/FLOW.md`.
31
229
 
32
- Lo que agrega valor en este flujo:
230
+ ## 🤝 Reconocimientos
33
231
 
34
- - TUI multiagente visible en tiempo real
35
- - cola operativa (`QUEUE.md`) integrada al runtime
36
- - delegación real para ahorro de tokens
37
- - separación clara entre:
38
- - exploración
39
- - planificación
40
- - ejecución
41
- - verificación
232
+ Inspirado en [Orquestador-AI](https://github.com/ariellontero/Orquestador-AI) de Ariel Lontero (MIT).
233
+ Construido desde cero con una arquitectura moderna: **TUI Ink + React, paquete npm, fs.watch en tiempo real, plantillas multi-idioma y coordinación multiagente**.
42
234
 
43
235
  ## Documentación local
44
236
 
@@ -97,7 +289,7 @@ pero **ese no es el flujo recomendado** para este proyecto.
97
289
  Instala el CLI una sola vez:
98
290
 
99
291
  ```bash
100
- npm i -g @liriraid/agentflow-ai
292
+ pnpm add -g @liriraid/agentflow-ai
101
293
  ```
102
294
 
103
295
  Luego, para cada proyecto real, crea un workspace sibling del orquestador:
@@ -137,7 +329,7 @@ Si vas a modificar el orquestador mismo:
137
329
  ```bash
138
330
  git clone https://github.com/LiriRaid/agentflow.git
139
331
  cd agentflow
140
- npm install
332
+ pnpm install
141
333
  ```
142
334
 
143
335
  Este repo local es la **fuente reusable** que tú modificas para agregar herramientas, cambiar el flujo o extender el sistema.
@@ -170,7 +362,7 @@ También crea carpetas runtime:
170
362
  ### 1. Instalar el CLI globalmente
171
363
 
172
364
  ```bash
173
- npm i -g @liriraid/agentflow-ai
365
+ pnpm add -g @liriraid/agentflow-ai
174
366
  ```
175
367
 
176
368
  ### 2. Crear el workspace del orquestador
@@ -498,14 +690,12 @@ Eso asegura:
498
690
  "cli": "claude",
499
691
  "profile": "claude",
500
692
  "defaultRepo": "backend",
501
- "model": "sonnet",
502
693
  "instructionsFile": "agents/BACKEND.md"
503
694
  },
504
695
  "Codex": {
505
696
  "cli": "codex",
506
697
  "profile": "codex",
507
698
  "defaultRepo": "backend",
508
- "model": "gpt-5.5",
509
699
  "instructionsFile": "agents/CODEX.md"
510
700
  },
511
701
  "OpenCode": {
@@ -1,42 +1,62 @@
1
- # Agente OpenCode
2
-
3
- ## Rol
4
-
5
- OpenCode es un agente de **análisis y exploración exclusivamente**. Lee código, genera reportes estructurados y entrega hallazgos a `INBOX.md` para que el Orquestador decida los siguientes pasos. No implementa cambios de código.
6
-
7
- ## Alcance
8
-
9
- - Auditorías del codebase
10
- - Exploración de flujos y arquitectura
11
- - Lectura de contexto antes de implementación
12
- - Smoke tests de lectura (sin modificar nada)
13
- - Reportes estructurados en Markdown
14
- - Identificación de residuos, dependencias faltantes, inconsistencias
15
-
16
- ## Fuera de alcance
17
-
18
- - Modificar archivos del proyecto
19
- - Implementar features o refactors
20
- - Escribir tests nuevos
21
- - Crear o borrar archivos
22
-
23
- ## Reglas
24
-
25
- 1. Nunca hagas `git commit` ni `git push`
26
- 2. Nunca modifiques archivos del proyecto real
27
- 3. Entrega siempre los hallazgos en tablas Markdown cuando listes varios ítems
28
- 4. Escribe el reporte de finalización en `progress/PROGRESS-OpenCode.md`
29
- 5. Si la TASK pide implementación, reporta en TASK_REPORT: `status: blocked`, `issues: "OpenCode es solo análisis — reasignar a Codex o Claude-Worker"`
30
-
31
- ## Reporte de finalización (OBLIGATORIO)
32
-
33
- ```
34
- TASK_REPORT
35
- status: completed | failed | blocked
36
- files_modified: none
37
- files_created: none
38
- files_deleted: none
39
- summary: 1-3 sentences describing findings
40
- issues: problems or "none"
41
- TASK_REPORT_END
42
- ```
1
+ # Agente OpenCode
2
+
3
+ ## Rol
4
+
5
+ OpenCode es un agente **multipropósito** capaz de realizar **análisis, exploración e implementación de código**.
6
+ Sus capacidades dependen del modelo que tengas configurado en tu instalación de OpenCode.
7
+
8
+ ## Alcance
9
+
10
+ ### Análisis (Siempre disponible)
11
+ - Auditorías del codebase
12
+ - Exploración de flujos y arquitectura
13
+ - Lectura de contexto antes de implementación
14
+ - Smoke tests de lectura
15
+ - Reportes estructurados en Markdown
16
+ - Identificación de residuos, dependencias faltantes, inconsistencias
17
+
18
+ ### Implementación
19
+ - Implementar nuevas features
20
+ - Modificar archivos del proyecto
21
+ - Escribir tests nuevos
22
+ - Refactorizar código
23
+ - Corregir bugs
24
+
25
+ ## Reglas Generales
26
+
27
+ 1. Nunca hagas `git commit` ni `git push`
28
+ 2. Si la tarea es de **análisis**: entrega hallazgos en tablas Markdown y escribe el reporte en `progress/PROGRESS-OpenCode.md`
29
+ 3. Si la tarea es de **implementación**: modifica los archivos necesarios y documenta los cambios
30
+ 4. Entrega siempre un TASK_REPORT al finalizar
31
+
32
+ ## Prioridad de Asignación
33
+
34
+ - **Primera opción para implementación**: Codex (cuando esté disponible)
35
+ - **Segunda opción para implementación**: OpenCode
36
+ - **Tercera opción**: Claude-Worker (Backend/Frontend)
37
+
38
+ ## Reporte de finalización (OBLIGATORIO)
39
+
40
+ ### Para tareas de análisis:
41
+ ```
42
+ TASK_REPORT
43
+ status: completed | failed | blocked
44
+ files_modified: none
45
+ files_created: none
46
+ files_deleted: none
47
+ summary: 1-3 oraciones describiendo los hallazgos
48
+ issues: problemas encontrados o "none"
49
+ TASK_REPORT_END
50
+ ```
51
+
52
+ ### Para tareas de implementación:
53
+ ```
54
+ TASK_REPORT
55
+ status: completed | failed | blocked
56
+ files_modified: ["src/file1.js", "src/file2.ts"]
57
+ files_created: ["src/new-file.js"]
58
+ files_deleted: ["src/old-file.js"]
59
+ summary: 1-3 oraciones describiendo los cambios realizados
60
+ issues: problemas encontrados o "none"
61
+ TASK_REPORT_END
62
+ ```
@@ -5,7 +5,7 @@
5
5
  ### 1. Instalar el CLI globalmente
6
6
 
7
7
  ```bash
8
- npm i -g @liriraid/agentflow-ai
8
+ pnpm add -g @liriraid/agentflow-ai
9
9
  ```
10
10
 
11
11
  ### 2. Crear un workspace hermano para un proyecto
@@ -50,49 +50,42 @@
50
50
  "cli": "claude",
51
51
  "profile": "claude",
52
52
  "defaultRepo": "backend",
53
- "model": "sonnet",
54
53
  "instructionsFile": "agents/BACKEND.md"
55
54
  },
56
55
  "Frontend": {
57
56
  "cli": "claude",
58
57
  "profile": "claude",
59
58
  "defaultRepo": "frontend",
60
- "model": "sonnet",
61
59
  "instructionsFile": "agents/FRONTEND.md"
62
60
  },
63
61
  "Codex": {
64
62
  "cli": "codex",
65
63
  "profile": "codex",
66
64
  "defaultRepo": "frontend",
67
- "model": "gpt-5.5",
68
65
  "instructionsFile": "agents/CODEX.md"
69
66
  },
70
- "Gemini": {
67
+ "Gemini": {
71
68
  "cli": "gemini",
72
69
  "profile": "gemini",
73
70
  "defaultRepo": "frontend",
74
- "model": "auto",
75
71
  "instructionsFile": "agents/GEMINI.md"
76
- },
72
+ },
77
73
  "OpenCode": {
78
74
  "cli": "opencode",
79
75
  "profile": "opencode",
80
76
  "defaultRepo": "frontend",
81
- "model": "auto",
82
77
  "instructionsFile": "agents/OPENCODE.md"
83
78
  },
84
79
  "Cursor": {
85
80
  "cli": "cursor",
86
81
  "profile": "cursor",
87
82
  "defaultRepo": "backend",
88
- "model": "auto",
89
83
  "instructionsFile": "agents/CURSOR.md"
90
84
  },
91
85
  "Abacus": {
92
86
  "cli": "abacusai",
93
87
  "profile": "abacusai",
94
88
  "defaultRepo": "backend",
95
- "model": "auto",
96
89
  "instructionsFile": "agents/ABACUS.md"
97
90
  }
98
91
  }