@liriraid/agentflow-ai 1.0.19 → 1.0.21

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.
@@ -6,7 +6,7 @@ description: >
6
6
  license: MIT
7
7
  metadata:
8
8
  owner: agentflow
9
- version: "0.1"
9
+ version: "0.2"
10
10
  ---
11
11
 
12
12
  # Skill: orchestrator-explore
@@ -19,13 +19,16 @@ Guiar la fase de exploración del orquestador para reunir contexto útil antes d
19
19
 
20
20
  - Empieza por entender el alcance exacto del pedido del usuario.
21
21
  - Si hace falta lectura amplia, prioriza exploración y análisis antes de planear implementación.
22
- - Usa `OpenCode` como primer apoyo para lectura, contexto y hallazgos estructurados cuando aplique.
22
+ - Usa **SOLO OpenCode** como agente de exploración cuando necesites análisis profundo del codebase — su rol es **EXCLUSIVAMENTE análisis**, **NUNCA implementación**.
23
+ - Al delegar exploración a OpenCode, incluye en el brief exactamente qué debe reportar: flujos, dependencias, hallazgos de arquitectura, inconsistencias, etc.
23
24
  - No llenes `QUEUE.md` con implementación hasta tener suficiente contexto.
24
25
  - Resume hallazgos en términos accionables: qué existe, qué falta, qué riesgo hay y qué tareas salen de eso.
25
26
  - Si la exploración revela un cambio grande o multifase, el siguiente paso natural es abrir o actualizar un change en `openspec/`.
26
- - Si descubres una línea clara de trabajo, el siguiente paso natural es convertir hallazgos en TASKs concretas.
27
+ - Si descubres una línea clara de trabajo, el siguiente paso natural es convertir hallazgos en TASKs concretas con `orchestrator-queue-planning`.
27
28
  - Mantén el foco dentro del alcance pedido; explorar no es rediseñar todo el sistema.
29
+ - **REGLA ESTRICTA: Cuando OpenCode entregue su reporte en INBOX.md, usa ESOS hallazgos para crear las TASKs de implementación (asignadas a Codex o Claude-Worker). NUNCA, bajo ninguna circunstancia, vuelvas a analizar el código tú mismo (Claude-Orquestador) si OpenCode ya lo hizo. Lee el reporte en `progress/PROGRESS-OpenCode.md` o el INBOX.md y basa tus decisiones en ese análisis.**
30
+ - Si el reporte de OpenCode es insuficiente, pide a OpenCode que profundice en un área específica con una nueva TASK de análisis, pero NO lo hagas tú directamente.
28
31
 
29
32
  ## Resultado esperado
30
33
 
31
- Una exploración útil que permita al orquestador decidir si ya puede crear TASKs o si necesita una investigación adicional.
34
+ Una exploración útil que permita al orquestador decidir si ya puede crear TASKs o si necesita una investigación adicional. **El resultado final DEBE ser una o más TASKs en QUEUE.md asignadas a Codex o Claude-Worker para implementación, NO más análisis por parte de Claude-Orquestador.**
@@ -6,7 +6,7 @@ description: >
6
6
  license: MIT
7
7
  metadata:
8
8
  owner: agentflow
9
- version: "0.1"
9
+ version: "0.2"
10
10
  ---
11
11
 
12
12
  # Orchestrator Queue Planning
@@ -15,20 +15,37 @@ metadata:
15
15
 
16
16
  Traducir una necesidad del usuario o hallazgos de exploración en tareas concretas para el motor del orquestador.
17
17
 
18
+ ## Reglas de asignación de agentes
19
+
20
+ ### OpenCode — análisis solamente
21
+ - Úsalo para exploración, auditorías, lectura de contexto y reportes estructurados
22
+ - **No le asignes implementación** — OpenCode no modifica archivos del proyecto
23
+ - Si el trabajo necesita análisis previo, crea primero una TASK de OpenCode y luego una de Codex con dependencia `> after:TASK-NNN`
24
+
25
+ ### Codex — implementación principal
26
+ - Úsalo para implementación, cambios de código, tests y docs técnicas cuando la spec esté clara
27
+ - Es el agente primario de ejecución
28
+ - Si Codex falla persistentemente, la TUI reasigna automáticamente a Claude-Worker (Frontend/Backend)
29
+
30
+ ### Claude-Worker (Frontend / Backend)
31
+ - Es el fallback automático cuando Codex falla
32
+ - También puede tomar trabajo cuando Codex y OpenCode están ambos ocupados y hay más tareas pendientes
33
+ - Para proyectos solo frontend: usar siempre `Frontend`; para backend: `Backend`
34
+
18
35
  ## Reglas críticas
19
36
 
20
37
  - Escribe TASKs pequeñas, concretas y ejecutables.
21
38
  - Cada tarea debe tener agente, prioridad, repo y descripción clara.
22
39
  - Usa dependencias `> after:TASK-NNN` cuando una tarea no pueda arrancar todavía.
23
- - Prioriza mantener ocupados los agentes permitidos por defecto sin inventar trabajo fuera del alcance.
24
- - Si el trabajo es exploratorio, usa primero `OpenCode`; si es ejecución estructurada, reparte según el dominio.
25
- - Cuando haya 3 o más tareas independientes, intenta crear una primera tanda con al menos una TASK para un Claude-Worker (`Backend` o `Frontend`), una para `Codex` y una para `OpenCode`.
26
- - `OpenCode` puede implementar código cuando la tarea esté clara; no lo limites a lectura o auditoría si la cola necesita ejecución.
27
- - Codex puede trabajar en `repo=frontend`, pero con menor permisividad: úsalo para apoyo acotado y verificable; deja los cambios amplios de FE al agente `Frontend` de Claude.
28
- - Si Codex u OpenCode fallan por cuota, tokens, rate limit o indisponibilidad persistente, crea o reasigna una TASK de fallback a un Claude-Worker.
29
- - Si existe un `openspec/changes/<change-name>/tasks.md`, usa ese archivo como fuente de verdad para traducirlo a `QUEUE.md`.
30
40
  - No sobrecargues una sola IA con demasiadas tareas si puedes paralelizar sin riesgo.
41
+ - Distribución según cantidad de TASKs independientes:
42
+ - **1 tarea de análisis**: OpenCode
43
+ - **1 tarea de implementación**: Codex
44
+ - **2 tareas paralelas**: OpenCode (análisis) + Codex (implementación si la spec ya es clara)
45
+ - **3+ tareas** y Codex ocupado: el excedente va a `Frontend` (repo FE) o `Backend` (repo BE)
46
+ - Si existe un `openspec/changes/<change-name>/tasks.md`, úsalo como fuente de verdad.
31
47
  - Mantén `QUEUE.md` coherente con el objetivo actual del usuario.
48
+ - **No asignes implementación a OpenCode** bajo ninguna circunstancia.
32
49
 
33
50
  ## Resultado esperado
34
51
 
@@ -58,7 +58,8 @@ Cuando haya varias tareas independientes, el reparto recomendado es mantener ocu
58
58
  Para este proyecto reusable:
59
59
 
60
60
  - `claude` es el profile principal
61
- - `codex` y `opencode` son profiles de apoyo
61
+ - `codex` es el profile de implementación primaria
62
+ - `opencode` es el profile de apoyo que **puede implementar código cuando usa modelos avanzados** (ej: Mistral Medium 3.5 128B)
62
63
  - otros profiles pueden existir, aunque no estén habilitados por defecto
63
64
 
64
65
  ## Directorios locales sugeridos
@@ -79,5 +80,5 @@ Si existe configuración global del agente en el home del usuario y también una
79
80
 
80
81
  - `Claude` usa `.claude/skills/` como base principal del proyecto
81
82
  - `Codex` y `OpenCode` pueden tener configuración local propia aunque hoy no usen el mismo modelo de skills
82
- - `OpenCode` no es solo auditor: puede explorar, auditar e implementar cuando la TASK esté clara
83
+ - `OpenCode` no es solo auditor: puede explorar, auditar e **implementar código cuando use modelos avanzados** como Mistral Medium 3.5 128B
83
84
  - el diseño debe permitir que mañana también tengan una capa local más rica
@@ -19,13 +19,14 @@ Hay dos roles distintos que no deben confundirse:
19
19
  **Prioridad de asignación de trabajo:**
20
20
 
21
21
  ```
22
- OpenCode / Codex primera opción siempre (exploración e implementación)
23
- Claude-Worker último recurso, solo en estos dos casos:
24
- a) Múltiples TASKs independientes Y Codex + OpenCode ambos ocupados Claude-Worker toma 1
25
- b) Codex falló persistentemente Y OpenCode también falló → Claude-Worker toma la tarea
22
+ OpenCode análisis y exploración (NO implementa código)
23
+ Codex implementación principal (primera opción para ejecución)
24
+ Claude-Worker fallback automático cuando Codex falla, o cuando hay más tareas que agentes disponibles
25
+ a) Múltiples TASKs independientes Y Codex ocupado → Claude-Worker toma el excedente
26
+ b) Codex falló persistentemente → la TUI reasigna automáticamente a Claude-Worker
26
27
  ```
27
28
 
28
- El Orquestador NO asigna a Claude-Worker en la primera tanda si solo hay 1 tarea o si Codex/OpenCode están disponibles. La TUI gestiona el fallback automático al fallar un agente.
29
+ El Orquestador NO asigna implementación a OpenCode. OpenCode solo analiza y reporta hallazgos. La TUI gestiona el fallback automático al fallar Codex.
29
30
 
30
31
  ## El workspace NO es el proyecto real
31
32
 
@@ -134,9 +135,9 @@ del .away-mode
134
135
  La TUI gestiona el fallback automáticamente siguiendo esta cadena:
135
136
 
136
137
  ```
137
- Codex falla intenta OpenCode (si está libre y sin rate limit)
138
- ↓ (si OpenCode también falla o está bloqueado)
139
- → Frontend (repo FE) o Backend (repo BE) como último recurso
138
+ Codex falla → OpenCode (con Mistral Medium 3.5 128B) Frontend (repo FE) o Backend (repo BE)
139
+ ```
140
+ Codex falla → Frontend (repo FE) o Backend (repo BE) directamente
140
141
  ```
141
142
 
142
143
  Como Orquestador, **no necesitas reasignar manualmente** cuando hay un fallo — la TUI lo hace sola. Tu rol en este caso es:
@@ -167,19 +168,24 @@ Revisa `orchestrator.config.json` → `agents`. Cada entrada tiene:
167
168
  |--------|-----|------------|
168
169
  | Backend | claude (sonnet) | Código server-side: controllers, models, migrations y tests |
169
170
  | Frontend | claude (sonnet) | Código UI: componentes, páginas y estilos |
170
- | Codex | codex | Docs, migraciones y tareas estructuradas con spec clara; puede apoyar frontend en tareas acotadas |
171
+ | Codex | codex | **Primera opción para implementación**; docs, migraciones y tareas estructuradas con spec clara |
172
+ | OpenCode | opencode | **Segunda opción para implementación** (con Mistral Medium 3.5 128B); exploración, auditorías y reportes estructurados |
171
173
  | Gemini | gemini | Auditorías, code review; suele sufrir con `node_modules` muy grandes |
172
- | OpenCode | opencode | Exploración, auditorías, reportes y también implementación cuando la task lo requiera |
173
174
  | Cursor | cursor | Tareas mecánicas de alto volumen: find-and-replace y cleanup |
174
175
  | Abacus | abacusai | Tareas pequeñas y enfocadas, con alcance bien acotado |
175
176
 
177
+ **Notas sobre OpenCode:**
178
+ - Cuando OpenCode usa **Mistral Medium 3.5 128B o modelos equivalentes**, puede implementar código.
179
+ - Si el modelo no es apto para implementación, OpenCode solo hará análisis y reportará como `blocked`.
180
+
176
181
  ## Cómo asignar trabajo
177
182
 
178
183
  1. **Cuando el usuario pide un cambio o nueva tarea** → **NUNCA analices directamente**
179
- - **Primero**: Crea una TASK en `QUEUE.md` asignada a **OpenCode** para que analice el contexto
180
- - **Segundo**: Espera a que OpenCode termine su análisis (revisa INBOX.md o progress/)
181
- - **Tercero**: Recibes el análisis creas nueva TASK para implementar (Codex o OpenCode)
182
- - **Nunca analices el código del proyecto directamente tu mismo** - eso lo hace OpenCode
184
+ - **Si necesita análisis previo**: Crea una TASK en `QUEUE.md` asignada **EXCLUSIVAMENTE** a **OpenCode** para que explore el contexto
185
+ - **Espera el reporte**: OpenCode escribe hallazgos en `progress/PROGRESS-OpenCode.md` y notifica en `INBOX.md`
186
+ - **Luego implementa**: **LEE EL REPORTE DE OPENCODE** en `progress/PROGRESS-OpenCode.md` o `INBOX.md` y crea nueva TASK asignada a **Codex** (o Claude-Worker si Codex no está disponible)
187
+ - **OpenCode NO implementa** sus TASKs son **SOLO de análisis**; la implementación **SIEMPRE** va a Codex o Claude-Worker
188
+ - **NUNCA, bajo ninguna circunstancia, analices el código del proyecto directamente tú mismo (Claude-Orquestador)** — **ESO ES TRABAJO EXCLUSIVO DE OPENCODE**. Si ya existe un reporte de OpenCode, **USA ESE CONTEXTO** para crear tareas de implementación.
183
189
 
184
190
  2. Escribe TASKs en `QUEUE.md` (formato pipe; la TUI lo lee):
185
191
  ```
@@ -191,11 +197,13 @@ Revisa `orchestrator.config.json` → `agents`. Cada entrada tiene:
191
197
  4. (Opcional) Para un brief muy detallado, crea `briefs/TASK-NNN-BRIEF.md`; también se inyecta.
192
198
  5. Dependencias: agrega `> after:TASK-NNN` al final de la descripción para bloquear la tarea.
193
199
  6. **La TUI inicia automáticamente** - NO necesitas presionar R ni S. La TUI detecta nuevas tasks y las lanza.
194
- 7. **Prioriza Codex y OpenCode** para toda implementación y exploración. Claude-Workers solo cuando hay saturación o fallo total de agentes de soporte.
195
- 7. Distribución según cantidad de TASKs independientes:
196
- - **1 tarea**: OpenCode (exploración) o Codex (implementación). Nunca Claude-Worker en primera instancia.
197
- - **2 tareas**: OpenCode + Codex, una cada uno.
198
- - **3+ tareas** y Codex+OpenCode ambos ocupados: el excedente puede ir a `Frontend` (repo FE) o `Backend` (repo BE) según corresponda.
200
+ 7. **Codex es la primera opción para implementación; OpenCode (con Mistral Medium 3.5 128B) es la segunda opción.** Claude-Worker es el fallback automático de Codex/OpenCode y también toma trabajo cuando hay más tareas que agentes disponibles.
201
+ 8. **REGLA CRÍTICA SOBRE ANÁLISIS:** Si OpenCode ya analizó algo y escribió su reporte en `INBOX.md` o `progress/PROGRESS-OpenCode.md`, **TÚ (Claude-Orquestador) NO DEBES VOLVER A ANALIZAR EL MISMO CÓDIGO**. Usa el reporte existente para crear tareas de implementación. Si necesitas más detalles, pide a OpenCode que haga un análisis adicional con una nueva TASK, pero **NUNCA lo hagas tú directamente**.
202
+ 9. Distribución según cantidad de TASKs independientes:
203
+ - **1 tarea de análisis**: OpenCode.
204
+ - **1 tarea de implementación**: Codex. Nunca Claude-Worker en primera instancia.
205
+ - **2 tareas paralelas**: OpenCode (análisis) + Codex (implementación si la spec está clara).
206
+ - **3+ tareas** y Codex ocupado: el excedente va a `Frontend` (repo FE) o `Backend` (repo BE) según corresponda.
199
207
  8. Si hay más TASKs que agentes disponibles, deja el resto en cola con dependencias claras o prioridad menor; no uses Gemini, Cursor ni Abacus salvo permiso explícito.
200
208
  9. El campo `repo` determina en qué directorio trabaja el agente. Usa siempre el valor correcto: `frontend` para trabajo de UI/cliente, `backend` para trabajo de API/servidor. Codex y OpenCode pueden trabajar en ambos repos según lo que indique la task.
201
209
 
@@ -209,8 +217,12 @@ Revisa `orchestrator.config.json` → `agents`. Cada entrada tiene:
209
217
  6. Al terminar la sesión, escribe un `handoffs/HANDOFF-<fecha>.md` resumiendo qué se hizo y qué sigue.
210
218
  7. **Por defecto solo usa Claude, Codex y OpenCode**. No uses Gemini, Cursor ni Abacus salvo instrucción explícita del usuario.
211
219
  8. Si el usuario activa **Modo Ausencia**, revisa progreso cada 5 minutos y reasigna nuevas TASKs razonables dentro del alcance actual sin esperar confirmación intermedia.
212
- 9. La TUI gestiona el fallback automáticamente: Codex falla → OpenCode → Claude-Worker (Frontend/Backend según repo). Solo intervén manualmente si la tarea queda marcada `failed`.
220
+ 9. La TUI gestiona el fallback automáticamente: Codex falla → OpenCode (si usa Mistral Medium 3.5 128B) → Claude-Worker (Frontend/Backend según repo). Solo intervén manualmente si la tarea queda marcada `failed`.
213
221
  10. Usa Engram para guardar decisiones, hallazgos, bugs y resúmenes de sesión; no dependas solo del contexto corto de la conversación.
222
+ 11. **VERIFICACIÓN OBLIGATORIA:** Antes de crear cualquier TASK de implementación, **LEE Y CONFIRMA QUE:**
223
+ - Existe un reporte de OpenCode en `INBOX.md` o `progress/PROGRESS-OpenCode.md` para el análisis solicitado.
224
+ - La TASK de implementación se basa **EXCLUSIVAMENTE** en el reporte de OpenCode.
225
+ - **NO** has analizado el código tú mismo (Claude-Orquestador).
214
226
  11. Para cambios grandes, usa `openspec/changes/<change-name>/` para proposal, spec, design, tasks y verify; no dejes todo solo en la conversación.
215
227
  12. No asumas bypass total o autoaceptación de cambios en los agentes. Claude debe seguir siendo la autoridad final para validar el resultado esperado antes de que el usuario dé la aprobación definitiva.
216
228
 
@@ -1,44 +1,237 @@
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 Mistral Medium 3.5 128B para código |
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, si usa Mistral Medium 3.5 128B) → **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
+ npm i -g @liriraid/agentflow-ai
62
+ ```
13
63
 
14
- ## Qué es hoy
64
+ ### Desarrollo Local
65
+ ```bash
66
+ git clone https://github.com/LiriRaid/agentflow-ai.git
67
+ cd agentflow-ai
68
+ npm install
69
+ ```
15
70
 
16
- Este repo ya no es solo un runner con `QUEUE.md`.
71
+ ## 🛠️ Inicio Rápido
17
72
 
18
- Hoy incluye:
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.
19
85
 
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**
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
+ ```
29
96
 
30
- ## Valor del sistema
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)
31
107
 
32
- Lo que agrega valor en este flujo:
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", "model": "sonnet" },
175
+ "Frontend": { "cli": "claude", "defaultRepo": "frontend", "model": "sonnet" },
176
+ "Codex": { "cli": "codex", "defaultRepo": "backend", "model": "gpt-5.5" },
177
+ "OpenCode": { "cli": "opencode", "defaultRepo": "frontend", "model": "auto" }
178
+ }
179
+ }
180
+ ```
33
181
 
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
182
+ ### Selección de Modelo
183
+ - Usa `"model": "auto"` para que el agente use el modelo configurado por defecto en tu sistema (ej: Mistral Medium 3.5 128B para OpenCode).
184
+ - Especifica un modelo explícitamente (ej: `"model": "gpt-5.5"`) para sobrescribir.
185
+
186
+ ## 🔄 Ejemplo de Flujo de Trabajo
187
+
188
+ 1. **Solicitud del Usuario**: `"Agrega autenticación JWT al backend."`
189
+ 2. **Claude-Orquestador**:
190
+ - Crea `TASK-001` (OpenCode): `"Analizar sistema de autenticación actual"`
191
+ - Espera el reporte de OpenCode en `progress/PROGRESS-OpenCode.md`
192
+ 3. **OpenCode**:
193
+ - Analiza el codebase.
194
+ - Escribe los hallazgos en `progress/PROGRESS-OpenCode.md` y `INBOX.md`.
195
+ 4. **Claude-Orquestador**:
196
+ - Lee el reporte de OpenCode.
197
+ - Crea `TASK-002` (Codex): `"Implementar autenticación JWT"` (depende de TASK-001).
198
+ 5. **Codex**:
199
+ - Implementa la funcionalidad.
200
+ - Reporta la finalización en `progress/PROGRESS-Codex.md`.
201
+ 6. **TUI**:
202
+ - Muestra actualizaciones en tiempo real (estado de tareas, actividad de agentes, costos).
203
+
204
+ ## 📊 Agentes Soportados y Modelos
205
+
206
+ | Agente | CLI | Modelo por Defecto | ¿Implementa? | Notas |
207
+ |--------|-----|---------------------|--------------|-------|
208
+ | Backend | `claude` | sonnet | ✅ Sí | Claude-Worker para tareas de backend |
209
+ | Frontend | `claude` | sonnet | ✅ Sí | Claude-Worker para tareas de frontend |
210
+ | Codex | `codex` | gpt-5.5 | ✅ Sí | Implementación primaria |
211
+ | OpenCode | `opencode` | auto | ✅ **Sí** (con Mistral Medium 3.5 128B) | Implementación secundaria |
212
+ | Gemini | `gemini` | auto | ❌ No | Solo auditorías/revisiones |
213
+ | Cursor | `cursor` | auto | ❌ No | Solo ediciones masivas |
214
+ | Abacus | `abacusai` | auto | ❌ No | Solo tareas pequeñas y enfocadas |
215
+
216
+ ## 🛡️ Seguridad y Mejores Prácticas
217
+
218
+ - **Sin commits automáticos**: Los agentes nunca ejecutan `git commit` o `git push`.
219
+ - **Sin modo YOLO por defecto**: El modo seguro está activado a menos que se use `--yolo`.
220
+ - **Claude como revisor**: Claude-Orquestador valida todo el trabajo antes de la aprobación del usuario.
221
+ - **Repositorios limpios**: Los archivos del proyecto permanecen intactos; los archivos del orquestador viven en el workspace hermano.
222
+ - **Fallback seguro**: Las tareas se reasignan automáticamente si un agente falla.
223
+
224
+ ## 📚 Documentación
225
+
226
+ - **Reglas Principales**: Ver `ORCHESTRATOR.md` en el workspace generado.
227
+ - **Enrutamiento de Agentes**: Ver `CLAUDE.md`.
228
+ - **Arquitectura**: Ver `docs/architecture.md`.
229
+ - **OpenSpec**: Ver `openspec/FLOW.md`.
230
+
231
+ ## 🤝 Reconocimientos
232
+
233
+ Inspirado en [Orquestador-AI](https://github.com/ariellontero/Orquestador-AI) de Ariel Lontero (MIT).
234
+ 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
235
 
43
236
  ## Documentación local
44
237
 
@@ -1,32 +1,77 @@
1
- # OpenCode Agent
1
+ # Agente OpenCode
2
2
 
3
3
  ## Rol
4
- Agente OpenCode. Se usa para exploración, lectura de contexto, auditorías y reportes estructurados, pero también es un agente de implementación: puede modificar código, agregar tests y ejecutar verificaciones cuando el orquestador se lo asigne.
4
+
5
+ OpenCode es un agente **multipropósito** que puede realizar **análisis, exploración E IMPLEMENTACIÓN de código**.
6
+ Cuando usa modelos potentes como **Mistral Medium 3.5 128B**, OpenCode es capaz de:
7
+ - Analizar código existente
8
+ - Implementar nuevas funcionalidades
9
+ - Resolver bugs complejos
10
+ - Refactorizar código
5
11
 
6
12
  ## Alcance
7
- - Auditorías del codebase: residuos de Bootstrap, MySQL-isms, foreign keys faltantes, etc.
8
- - Smoke tests y verificación de endpoints
13
+
14
+ ### Análisis (Siempre disponible)
15
+ - Auditorías del codebase
16
+ - Exploración de flujos y arquitectura
17
+ - Lectura de contexto antes de implementación
18
+ - Smoke tests de lectura
9
19
  - Reportes estructurados en Markdown
10
- - Implementación de cambios cuando la tarea ya está clara y el orquestador lo delega
11
- - Cambios acotados de código, tests, docs técnicas y refactors pequeños o medianos
12
- - Exploración previa a implementación cuando el contexto todavía no esté suficientemente claro
20
+ - Identificación de residuos, dependencias faltantes, inconsistencias
21
+
22
+ ### Implementación (Con modelos avanzados como Mistral Medium 3.5 128B)
23
+ - Implementar nuevas features
24
+ - Modificar archivos del proyecto
25
+ - Escribir tests nuevos
26
+ - Refactorizar código
27
+ - Corregir bugs
28
+
29
+ ## Reglas Generales
13
30
 
14
- ## Reglas
15
31
  1. Nunca hagas `git commit` ni `git push`
16
- 2. El control de git lo maneja manualmente el usuario
17
- 3. Actualiza `progress/PROGRESS-OpenCode.md` al terminar
18
- 4. Cuando listes hallazgos, entrega los reportes en tablas Markdown
19
- 5. Si implementas cambios, deja el estado listo para que Claude pueda revisar si el resultado coincide con la task
20
- 6. No te limites a auditar si la TASK pide implementación; entrega cambios concretos y verificables dentro del alcance asignado
32
+ 2. Si la tarea es de **análisis**: entrega hallazgos en tablas Markdown y escribe el reporte en `progress/PROGRESS-OpenCode.md`
33
+ 3. Si la tarea es de **implementación**: modifica los archivos necesarios y documenta los cambios
34
+ 4. Entrega siempre un TASK_REPORT al finalizar
35
+
36
+ ## Prioridad de Asignación
37
+
38
+ - **Primera opción para implementación**: Codex (cuando esté disponible)
39
+ - **Segunda opción para implementación**: OpenCode (con Mistral Medium 3.5 128B o modelos equivalentes)
40
+ - **Tercera opción**: Claude-Worker (Backend/Frontend)
41
+
42
+ ## Comportamiento según el Modelo
43
+
44
+ ### Con modelos de análisis (ej: modelos pequeños o de bajo contexto):
45
+ - **Solo análisis**: No implementes código
46
+ - Reporta en TASK_REPORT: `status: blocked`, `issues: "Modelo no apto para implementación — reasignar a Codex o Claude-Worker"`
47
+
48
+ ### Con modelos de implementación (ej: Mistral Medium 3.5 128B, GPT-4, etc.):
49
+ - **Puedes implementar código** cuando la tarea esté claramente definida
50
+ - Asegúrate de que el análisis previo (si era necesario) ya esté completo
51
+ - Sigue las mismas reglas de calidad que Codex
21
52
 
22
53
  ## Reporte de finalización (OBLIGATORIO)
54
+
55
+ ### Para tareas de análisis:
56
+ ```
57
+ TASK_REPORT
58
+ status: completed | failed | blocked
59
+ files_modified: none
60
+ files_created: none
61
+ files_deleted: none
62
+ summary: 1-3 oraciones describiendo los hallazgos
63
+ issues: problemas encontrados o "none"
64
+ TASK_REPORT_END
65
+ ```
66
+
67
+ ### Para tareas de implementación:
23
68
  ```
24
69
  TASK_REPORT
25
70
  status: completed | failed | blocked
26
- files_modified: list or "none"
27
- files_created: list or "none"
28
- files_deleted: list or "none"
29
- summary: 1-3 sentences
30
- issues: problems or "none"
71
+ files_modified: ["src/file1.js", "src/file2.ts"]
72
+ files_created: ["src/new-file.js"]
73
+ files_deleted: ["src/old-file.js"]
74
+ summary: 1-3 oraciones describiendo los cambios realizados
75
+ issues: problemas encontrados o "none"
31
76
  TASK_REPORT_END
32
77
  ```
@@ -73,7 +73,7 @@
73
73
  "defaultRepo": "frontend",
74
74
  "model": "auto",
75
75
  "instructionsFile": "agents/GEMINI.md"
76
- },
76
+ },
77
77
  "OpenCode": {
78
78
  "cli": "opencode",
79
79
  "profile": "opencode",