@liriraid/agentflow-ai 1.0.10
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/LICENSE +21 -0
- package/README.md +79 -0
- package/bin/agentflow.mjs +332 -0
- package/orchestrator.js +1585 -0
- package/package.json +64 -0
- package/scripts/scaffold-agent-configs.mjs +100 -0
- package/scripts/scaffold-openspec-change.mjs +84 -0
- package/scripts/update-skill-registry.mjs +174 -0
- package/src/ink/app.mjs +240 -0
- package/src/ink/index.mjs +400 -0
- package/templates/en/.atl/skill-registry.md +27 -0
- package/templates/en/.claude/README.md +7 -0
- package/templates/en/.claude/skills/orchestrator-apply/SKILL.md +31 -0
- package/templates/en/.claude/skills/orchestrator-archive/SKILL.md +26 -0
- package/templates/en/.claude/skills/orchestrator-design/SKILL.md +27 -0
- package/templates/en/.claude/skills/orchestrator-explore/SKILL.md +29 -0
- package/templates/en/.claude/skills/orchestrator-init/SKILL.md +32 -0
- package/templates/en/.claude/skills/orchestrator-memory/SKILL.md +26 -0
- package/templates/en/.claude/skills/orchestrator-openspec/SKILL.md +35 -0
- package/templates/en/.claude/skills/orchestrator-propose/SKILL.md +26 -0
- package/templates/en/.claude/skills/orchestrator-queue-planning/SKILL.md +31 -0
- package/templates/en/.claude/skills/orchestrator-spec/SKILL.md +27 -0
- package/templates/en/.claude/skills/orchestrator-tasks/SKILL.md +27 -0
- package/templates/en/.claude/skills/orchestrator-verify/SKILL.md +27 -0
- package/templates/en/.codex/README.md +7 -0
- package/templates/en/.opencode/README.md +7 -0
- package/templates/en/AGENT-CONFIG.md +75 -0
- package/templates/en/CLAUDE.md +91 -0
- package/templates/en/ENGRAM.md +50 -0
- package/templates/en/ORCHESTRATOR.md +192 -0
- package/templates/en/PROJECT.md +70 -0
- package/templates/en/QUEUE.md +17 -0
- package/templates/en/README.md +188 -0
- package/templates/en/agents/ABACUS.md +36 -0
- package/templates/en/agents/BACKEND.md +37 -0
- package/templates/en/agents/CODEX.md +45 -0
- package/templates/en/agents/CURSOR.md +37 -0
- package/templates/en/agents/FRONTEND.md +36 -0
- package/templates/en/agents/GEMINI.md +37 -0
- package/templates/en/agents/OPENCODE.md +41 -0
- package/templates/en/docs/README.md +14 -0
- package/templates/en/docs/agents.md +33 -0
- package/templates/en/docs/architecture.md +43 -0
- package/templates/en/docs/components.md +14 -0
- package/templates/en/docs/engram.md +16 -0
- package/templates/en/docs/openspec.md +32 -0
- package/templates/en/docs/usage.md +66 -0
- package/templates/en/openspec/FLOW.md +24 -0
- package/templates/en/openspec/README.md +29 -0
- package/templates/en/openspec/changes/.gitkeep +1 -0
- package/templates/en/openspec/changes/archive/.gitkeep +1 -0
- package/templates/en/openspec/specs/.gitkeep +1 -0
- package/templates/en/openspec/templates/archive-report.md +21 -0
- package/templates/en/openspec/templates/change-metadata.yaml +9 -0
- package/templates/en/openspec/templates/design.md +26 -0
- package/templates/en/openspec/templates/proposal.md +27 -0
- package/templates/en/openspec/templates/spec.md +18 -0
- package/templates/en/openspec/templates/tasks.md +14 -0
- package/templates/en/openspec/templates/verify-report.md +21 -0
- package/templates/en/orchestrator.config.json +99 -0
- package/templates/es/.atl/skill-registry.md +133 -0
- package/templates/es/.claude/README.md +7 -0
- package/templates/es/.claude/skills/orchestrator-apply/SKILL.md +32 -0
- package/templates/es/.claude/skills/orchestrator-archive/SKILL.md +28 -0
- package/templates/es/.claude/skills/orchestrator-design/SKILL.md +32 -0
- package/templates/es/.claude/skills/orchestrator-explore/SKILL.md +31 -0
- package/templates/es/.claude/skills/orchestrator-init/SKILL.md +32 -0
- package/templates/es/.claude/skills/orchestrator-memory/SKILL.md +31 -0
- package/templates/es/.claude/skills/orchestrator-openspec/SKILL.md +55 -0
- package/templates/es/.claude/skills/orchestrator-propose/SKILL.md +33 -0
- package/templates/es/.claude/skills/orchestrator-queue-planning/SKILL.md +35 -0
- package/templates/es/.claude/skills/orchestrator-spec/SKILL.md +28 -0
- package/templates/es/.claude/skills/orchestrator-tasks/SKILL.md +32 -0
- package/templates/es/.claude/skills/orchestrator-verify/SKILL.md +31 -0
- package/templates/es/.codex/README.md +7 -0
- package/templates/es/.opencode/README.md +7 -0
- package/templates/es/AGENT-CONFIG.md +83 -0
- package/templates/es/CLAUDE.md +136 -0
- package/templates/es/ENGRAM.md +70 -0
- package/templates/es/ORCHESTRATOR.md +199 -0
- package/templates/es/PROJECT.md +237 -0
- package/templates/es/QUEUE.md +17 -0
- package/templates/es/README.md +568 -0
- package/templates/es/agents/ABACUS.md +25 -0
- package/templates/es/agents/BACKEND.md +28 -0
- package/templates/es/agents/CODEX.md +37 -0
- package/templates/es/agents/CURSOR.md +27 -0
- package/templates/es/agents/FRONTEND.md +29 -0
- package/templates/es/agents/GEMINI.md +26 -0
- package/templates/es/agents/OPENCODE.md +32 -0
- package/templates/es/docs/README.md +12 -0
- package/templates/es/docs/agents.md +57 -0
- package/templates/es/docs/architecture.md +41 -0
- package/templates/es/docs/components.md +33 -0
- package/templates/es/docs/engram.md +30 -0
- package/templates/es/docs/openspec.md +34 -0
- package/templates/es/docs/usage.md +54 -0
- package/templates/es/openspec/FLOW.md +139 -0
- package/templates/es/openspec/README.md +77 -0
- package/templates/es/openspec/changes/.gitkeep +1 -0
- package/templates/es/openspec/changes/archive/.gitkeep +1 -0
- package/templates/es/openspec/specs/.gitkeep +1 -0
- package/templates/es/openspec/templates/archive-report.md +23 -0
- package/templates/es/openspec/templates/change-metadata.yaml +9 -0
- package/templates/es/openspec/templates/design.md +33 -0
- package/templates/es/openspec/templates/proposal.md +36 -0
- package/templates/es/openspec/templates/spec.md +33 -0
- package/templates/es/openspec/templates/tasks.md +22 -0
- package/templates/es/openspec/templates/verify-report.md +24 -0
- package/templates/es/orchestrator.config.json +99 -0
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
# Sesión de Orquestador — Inicio
|
|
2
|
+
|
|
3
|
+
> Este archivo es el punto de entrada para cada sesión del orquestador.
|
|
4
|
+
> Prompt de inicio: `Lee <ruta-absoluta-a-este-archivo> y arranca`
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Tu rol
|
|
9
|
+
|
|
10
|
+
Eres el **Orquestador** de este workspace multiagente. Tu sesión interactiva de Claude NO edita código directamente sobre el proyecto: asignas trabajo a los agentes definidos en `orchestrator.config.json` editando `QUEUE.md`. La TUI (`orchestrator.js`) toma las tareas de la cola y lanza a los agentes reales.
|
|
11
|
+
|
|
12
|
+
## Roles de Claude
|
|
13
|
+
|
|
14
|
+
Hay dos roles distintos que no deben confundirse:
|
|
15
|
+
|
|
16
|
+
1. **Claude-Orquestador**: la sesión interactiva que lee este archivo, divide el trabajo, edita `QUEUE.md`, revisa resultados y decide siguientes pasos. Este rol no modifica código del proyecto directamente.
|
|
17
|
+
2. **Claude-Worker**: agentes lanzados por la TUI con CLI `claude`, por ejemplo `Backend` y `Frontend`. Estos agentes sí pueden implementar código cuando una TASK se les asigna explícitamente.
|
|
18
|
+
|
|
19
|
+
Claude no debe quedarse solo esperando respuestas de otros agentes. Cuando haya tareas independientes suficientes, el orquestador debe incluir al menos una TASK para un Claude-Worker en la primera tanda, además de tareas para Codex y OpenCode cuando aplique.
|
|
20
|
+
|
|
21
|
+
## Al iniciar la sesión — OBLIGATORIO
|
|
22
|
+
|
|
23
|
+
1. Lee este archivo completo.
|
|
24
|
+
2. Lee `<projectName>-plan.md` (o `PLAN.md` / `plan.md`) si existe; ese es el plan general.
|
|
25
|
+
3. Lee el handoff más reciente en `handoffs/HANDOFF-*.md` si existe la carpeta.
|
|
26
|
+
4. Lee `QUEUE.md` para ver trabajo activo y pendiente.
|
|
27
|
+
5. Lee `orchestrator.config.json` para saber qué agentes y repos están disponibles.
|
|
28
|
+
6. Lee todos los archivos `progress/PROGRESS-*.md` que existan para entender el estado actual de cada agente.
|
|
29
|
+
7. Lee `ENGRAM.md` para respetar la convención de memoria persistente del proyecto.
|
|
30
|
+
8. Si existe `openspec/`, úsalo como capa de artefactos para cambios grandes o de varias fases.
|
|
31
|
+
9. Pregunta al usuario qué quiere priorizar; no planifiques toda la sesión automáticamente.
|
|
32
|
+
|
|
33
|
+
## Restricción operativa por defecto
|
|
34
|
+
|
|
35
|
+
Aunque esta plantilla soporte múltiples agentes, en este proyecto debes operar **solo con estas 3 IA por defecto**:
|
|
36
|
+
|
|
37
|
+
- **Claude**
|
|
38
|
+
- **Codex**
|
|
39
|
+
- **OpenCode**
|
|
40
|
+
|
|
41
|
+
No asignes tareas a **Gemini**, **Cursor** ni **Abacus** salvo que el usuario lo pida explícitamente en esa sesión.
|
|
42
|
+
|
|
43
|
+
Los demás agentes pueden permanecer configurados en `orchestrator.config.json`, pero deben considerarse **deshabilitados por defecto a nivel operativo**.
|
|
44
|
+
|
|
45
|
+
## Modo Ausencia
|
|
46
|
+
|
|
47
|
+
Si el usuario dice explícitamente algo como:
|
|
48
|
+
|
|
49
|
+
- `estaré ausente 2 horas`
|
|
50
|
+
- `me voy un rato`
|
|
51
|
+
- `activa monitoreo`
|
|
52
|
+
- `quédate revisando`
|
|
53
|
+
- `monitorea mientras no estoy`
|
|
54
|
+
|
|
55
|
+
entonces debes entrar en **Modo Ausencia** durante esa sesión.
|
|
56
|
+
|
|
57
|
+
### Qué significa Modo Ausencia
|
|
58
|
+
|
|
59
|
+
1. Debes revisar el estado del trabajo **cada 5 minutos**.
|
|
60
|
+
2. En cada revisión debes:
|
|
61
|
+
- leer `QUEUE.md`
|
|
62
|
+
- revisar qué tareas ya pasaron a `Completed`
|
|
63
|
+
- revisar si hay agentes idle o bloqueados
|
|
64
|
+
- revisar los archivos `progress/PROGRESS-*.md` si existen
|
|
65
|
+
- revisar si una tarea quedó trabada por dependencia, rate limit o fallo
|
|
66
|
+
3. Si una IA ya terminó su tarea, debes **asignarle nuevas TASKs útiles** sin esperar a que el usuario vuelva, siempre que:
|
|
67
|
+
- las nuevas tareas estén alineadas con el plan del proyecto
|
|
68
|
+
- respeten el alcance que el usuario ya pidió
|
|
69
|
+
- no inventen features fuera del objetivo actual
|
|
70
|
+
- mantengan ocupadas solo las IA permitidas por defecto en este proyecto
|
|
71
|
+
4. Si detectas que falta dividir trabajo, destrabar dependencias o crear la siguiente tanda de tareas, debes hacerlo tú mismo editando `QUEUE.md` y, si hace falta, `TASKS.md`.
|
|
72
|
+
5. Durante Modo Ausencia debes priorizar continuidad de ejecución, evitar tiempos muertos y mantener progreso constante.
|
|
73
|
+
|
|
74
|
+
### Límites de Modo Ausencia
|
|
75
|
+
|
|
76
|
+
- **No cambies el objetivo del usuario.**
|
|
77
|
+
- **No abras líneas de trabajo nuevas** que no estén relacionadas con lo ya pedido.
|
|
78
|
+
- **No uses Gemini, Cursor ni Abacus** salvo autorización explícita del usuario.
|
|
79
|
+
- Si aparece ambigüedad fuerte, riesgo alto o una decisión arquitectónica no obvia, deja nota clara en handoff o en `QUEUE.md` en vez de improvisar.
|
|
80
|
+
|
|
81
|
+
### Fallback por cuota o indisponibilidad
|
|
82
|
+
|
|
83
|
+
Si una IA permitida en este proyecto, especialmente **Codex** u **OpenCode**, falla de forma persistente por motivos como:
|
|
84
|
+
|
|
85
|
+
- rate limit prolongado
|
|
86
|
+
- cuota agotada
|
|
87
|
+
- falta de tokens o de plan disponible
|
|
88
|
+
- sesión expirada
|
|
89
|
+
- error repetido del proveedor
|
|
90
|
+
- indisponibilidad temporal del CLI
|
|
91
|
+
|
|
92
|
+
entonces no debes dejar la tarea en bucle indefinidamente.
|
|
93
|
+
|
|
94
|
+
Debes hacer esto:
|
|
95
|
+
|
|
96
|
+
1. Detectar que el problema ya no es transitorio.
|
|
97
|
+
2. Dejar nota clara del motivo en `QUEUE.md`, `TASKS.md` o handoff si hace falta.
|
|
98
|
+
3. Reasignar la TASK a un **Claude-Worker** (`Backend` o `Frontend`, según el repo) como fallback.
|
|
99
|
+
4. Hacer que Claude-Worker continúe la ejecución con el contexto ya disponible, en vez de abandonar la tarea.
|
|
100
|
+
|
|
101
|
+
La prioridad es mantener continuidad del trabajo aunque una IA de apoyo se quede sin cuota o deje de responder.
|
|
102
|
+
|
|
103
|
+
### Fin de Modo Ausencia
|
|
104
|
+
|
|
105
|
+
Modo Ausencia termina cuando:
|
|
106
|
+
|
|
107
|
+
- el usuario vuelve y da nuevas instrucciones
|
|
108
|
+
- el usuario dice que lo detengas
|
|
109
|
+
- ya no queden tareas razonables por asignar dentro del alcance actual
|
|
110
|
+
- todo el trabajo activo quede bloqueado y necesite decisión humana
|
|
111
|
+
|
|
112
|
+
## Agentes disponibles
|
|
113
|
+
|
|
114
|
+
Revisa `orchestrator.config.json` → `agents`. Cada entrada tiene:
|
|
115
|
+
|
|
116
|
+
- `cli` — qué agente real corre esa tarea (`claude`, `codex`, `gemini`, `cursor`, `opencode`, `abacusai`)
|
|
117
|
+
- `defaultRepo` — en qué repo (del mapa `repos`) trabaja por defecto
|
|
118
|
+
- `instructionsFile` — Markdown con instrucciones específicas del rol, por ejemplo `agents/BACKEND.md`
|
|
119
|
+
|
|
120
|
+
**Agentes por defecto en esta plantilla:**
|
|
121
|
+
| Nombre | CLI | Mejor para |
|
|
122
|
+
|--------|-----|------------|
|
|
123
|
+
| Backend | claude (sonnet) | Código server-side: controllers, models, migrations y tests |
|
|
124
|
+
| Frontend | claude (sonnet) | Código UI: componentes, páginas y estilos |
|
|
125
|
+
| Codex | codex | Docs, migraciones y tareas estructuradas con spec clara; puede apoyar frontend en tareas acotadas |
|
|
126
|
+
| Gemini | gemini | Auditorías, code review; suele sufrir con `node_modules` muy grandes |
|
|
127
|
+
| OpenCode | opencode | Exploración, auditorías, reportes y también implementación cuando la task lo requiera |
|
|
128
|
+
| Cursor | cursor | Tareas mecánicas de alto volumen: find-and-replace y cleanup |
|
|
129
|
+
| Abacus | abacusai | Tareas pequeñas y enfocadas, con alcance bien acotado |
|
|
130
|
+
|
|
131
|
+
## Cómo asignar trabajo
|
|
132
|
+
|
|
133
|
+
1. Escribe TASKs en `QUEUE.md` (formato pipe; la TUI lo lee):
|
|
134
|
+
```
|
|
135
|
+
TASK-NNN | titulo corto | Agent | P1 | repo | descripcion larga
|
|
136
|
+
```
|
|
137
|
+
Valores válidos de `Agent`: exactamente las keys de `orchestrator.config.json.agents`.
|
|
138
|
+
Valores válidos de `repo`: exactamente las keys de `orchestrator.config.json.repos`.
|
|
139
|
+
2. (Opcional) También escribe una spec larga en `TASKS.md` bajo un heading `### TASK-NNN`; se inyecta al brief.
|
|
140
|
+
3. (Opcional) Para un brief muy detallado, crea `briefs/TASK-NNN-BRIEF.md`; también se inyecta.
|
|
141
|
+
4. Dependencias: agrega `> after:TASK-NNN` al final de la descripción para bloquear la tarea.
|
|
142
|
+
5. Dile al usuario que presione **R** en la TUI para recargar la cola, o **S** si está pausada.
|
|
143
|
+
6. **Intenta mantener a cada agente permitido con al menos 1 tarea en vuelo**; si uno está idle, busca algo útil para asignarle.
|
|
144
|
+
7. Si existen 3 o más TASKs independientes, reparte la primera tanda entre:
|
|
145
|
+
- un Claude-Worker (`Backend` o `Frontend`, según el repo)
|
|
146
|
+
- `Codex` para implementación estructurada, docs, migraciones o cambios con spec clara
|
|
147
|
+
- `OpenCode` para exploración, auditoría o implementación acotada cuando la tarea ya esté clara
|
|
148
|
+
8. Si hay más TASKs que agentes permitidos disponibles, deja el resto en cola con dependencias claras o prioridad menor; no uses Gemini, Cursor ni Abacus salvo permiso explícito.
|
|
149
|
+
9. Para frontend, prefiere `Frontend`/Claude como dueño principal. Usa `Codex` en `repo=frontend` solo para apoyo acotado: tests, documentación, fixes puntuales, refactors mecánicos o cambios con archivos bien delimitados.
|
|
150
|
+
|
|
151
|
+
## Reglas
|
|
152
|
+
|
|
153
|
+
1. **Claude-Orquestador NUNCA ejecuta código del proyecto directamente**; asigna TASKs a los agentes. Los Claude-Workers (`Backend` / `Frontend`) sí pueden implementar cuando la TASK se les asigna por cola.
|
|
154
|
+
2. **NUNCA hagas commit ni push**; tampoco ordenes a los agentes que lo hagan. El control de git lo maneja manualmente el usuario.
|
|
155
|
+
3. Usa subagentes internos (Agent tool) SOLO para consultas rápidas de investigación, no para ejecutar tareas reales del proyecto.
|
|
156
|
+
4. Mantén `QUEUE.md` y `TASKS.md` sincronizados.
|
|
157
|
+
5. Lleva control del siguiente `TASK-NNN` para no duplicar IDs.
|
|
158
|
+
6. Al terminar la sesión, escribe un `handoffs/HANDOFF-<fecha>.md` resumiendo qué se hizo y qué sigue.
|
|
159
|
+
7. **Por defecto solo usa Claude, Codex y OpenCode**. No uses Gemini, Cursor ni Abacus salvo instrucción explícita del usuario.
|
|
160
|
+
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.
|
|
161
|
+
9. Si Codex u OpenCode fallan de forma persistente por cuota, rate limit o indisponibilidad, deja de insistir y pasa la tarea a un Claude-Worker como fallback.
|
|
162
|
+
10. Usa Engram para guardar decisiones, hallazgos, bugs y resúmenes de sesión; no dependas solo del contexto corto de la conversación.
|
|
163
|
+
11. Para cambios grandes, usa `openspec/changes/<change-name>/` para proposal, spec, design, tasks y verify; no dejes todo solo en la conversación.
|
|
164
|
+
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.
|
|
165
|
+
|
|
166
|
+
## Controles de la TUI
|
|
167
|
+
|
|
168
|
+
```bash
|
|
169
|
+
cd <ruta-del-workspace>
|
|
170
|
+
node orchestrator.js
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
- **R** = recargar `QUEUE.md`
|
|
174
|
+
- **S** = iniciar / reanudar
|
|
175
|
+
- **P** = pausar
|
|
176
|
+
- **Q** = salir (mata todos los agentes)
|
|
177
|
+
|
|
178
|
+
Los rate limits se reintentan automáticamente al momento de reset (hasta 10×). Las tareas completadas persisten entre reinicios de la TUI.
|
|
179
|
+
|
|
180
|
+
## Estado actual de la sesión
|
|
181
|
+
|
|
182
|
+
Actualiza esta sección al inicio y al final de cada sesión:
|
|
183
|
+
|
|
184
|
+
- **Último handoff:** <rellenar o dejar "ninguno aún">
|
|
185
|
+
- **Siguiente TASK ID:** TASK-001
|
|
186
|
+
- **QUEUE:** <resumen>
|
|
187
|
+
- **Notas:** <cualquier cosa relevante para la siguiente sesión>
|
|
188
|
+
|
|
189
|
+
## Archivos de referencia
|
|
190
|
+
|
|
191
|
+
- **Plan del proyecto:** `<projectName>-plan.md`
|
|
192
|
+
- **Protocolo de agentes:** `AGENT-PROTOCOL.md` (reglas compartidas opcionales)
|
|
193
|
+
- **Instrucciones por agente:** `agents/*.md`
|
|
194
|
+
- **Memoria persistente:** `ENGRAM.md`
|
|
195
|
+
- **Artefactos SDD:** `openspec/`
|
|
196
|
+
- **Especificaciones detalladas de tareas:** `TASKS.md` (`### TASK-NNN`)
|
|
197
|
+
- **Progreso por agente:** `progress/PROGRESS-<AgentName>.md`
|
|
198
|
+
- **Handoffs:** `handoffs/HANDOFF-<fecha>.md`
|
|
199
|
+
- **Logs:** `logs/` (eventos del orquestador + salida completa por tarea)
|
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
# Orquestador Multiagente
|
|
2
|
+
|
|
3
|
+
Documento interno de estado y arquitectura del repo reusable.
|
|
4
|
+
|
|
5
|
+
## Propósito actual
|
|
6
|
+
|
|
7
|
+
Este repo es la **fuente reusable** del orquestador.
|
|
8
|
+
|
|
9
|
+
No es el repo del producto final del usuario.
|
|
10
|
+
|
|
11
|
+
Su función es:
|
|
12
|
+
|
|
13
|
+
- servir como base local que LiriRaid puede seguir modificando
|
|
14
|
+
- producir un paquete instalable
|
|
15
|
+
- montar workspaces sibling para proyectos reales
|
|
16
|
+
|
|
17
|
+
## Modelo correcto de instalación
|
|
18
|
+
|
|
19
|
+
La dirección deseada no es copiar este repo dentro de cada proyecto.
|
|
20
|
+
|
|
21
|
+
La dirección correcta es:
|
|
22
|
+
|
|
23
|
+
- paquete global o ejecutable por `npx`
|
|
24
|
+
- proyecto real separado
|
|
25
|
+
- workspace sibling del orquestador al lado del proyecto
|
|
26
|
+
|
|
27
|
+
Ejemplo:
|
|
28
|
+
|
|
29
|
+
- proyecto:
|
|
30
|
+
- `C:/code/mi-proyecto`
|
|
31
|
+
- workspace del orquestador:
|
|
32
|
+
- `C:/code/orchestrator-mi-proyecto`
|
|
33
|
+
|
|
34
|
+
Esto evita ensuciar el repo del producto con:
|
|
35
|
+
|
|
36
|
+
- `QUEUE.md`
|
|
37
|
+
- `logs/`
|
|
38
|
+
- `openspec/`
|
|
39
|
+
- `handoffs/`
|
|
40
|
+
- `progress/`
|
|
41
|
+
|
|
42
|
+
## Regla de instalación
|
|
43
|
+
|
|
44
|
+
La instalación recomendada para usuarios finales es:
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
npm i -g @liriraid/agentflow-ai
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
Después, por cada proyecto real:
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
agentflow init-workspace C:/code/mi-proyecto
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
El comando puede recibir `--lang en` o `--lang es`; si no se pasa, pregunta interactivamente.
|
|
57
|
+
|
|
58
|
+
La variante con `npx` sigue siendo válida:
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
npx @liriraid/agentflow-ai-ai init-workspace C:/code/mi-proyecto
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
No se recomienda `npm install @liriraid/agentflow-ai-ai dentro del repo del producto, porque eso lo vuelve una dependencia local del proyecto en vez de una herramienta global del entorno.
|
|
65
|
+
|
|
66
|
+
## Regla de permisos
|
|
67
|
+
|
|
68
|
+
El comportamiento deseado del sistema no es `YOLO` por defecto.
|
|
69
|
+
|
|
70
|
+
Meta operativa:
|
|
71
|
+
|
|
72
|
+
- permitir que los agentes trabajen y propongan cambios
|
|
73
|
+
- evitar autoaceptación ciega en agentes de ejecución
|
|
74
|
+
- mantener a Claude como árbitro principal de calidad y consistencia
|
|
75
|
+
- permitir que OpenCode explore primero, pero también implemente cuando el reparto de tareas lo necesite
|
|
76
|
+
- dejar la aceptación final en manos del usuario
|
|
77
|
+
|
|
78
|
+
Esto es especialmente importante cuando el agente de apoyo también modifica código y no solo lee contexto.
|
|
79
|
+
|
|
80
|
+
Si el usuario quiere un modo agresivo para una sesión concreta, debe activarlo explícitamente con `--yolo`. No debe ser el modo base del sistema.
|
|
81
|
+
|
|
82
|
+
## Capas del sistema
|
|
83
|
+
|
|
84
|
+
### 1. Runtime
|
|
85
|
+
|
|
86
|
+
- `orchestrator.js`
|
|
87
|
+
- scheduler
|
|
88
|
+
- parser de `QUEUE.md`
|
|
89
|
+
- integración con CLIs reales
|
|
90
|
+
- retries
|
|
91
|
+
- fallback
|
|
92
|
+
- logs
|
|
93
|
+
|
|
94
|
+
### 2. UI
|
|
95
|
+
|
|
96
|
+
- `src/ink/*` como TUI moderna
|
|
97
|
+
- `orchestrator.js` / blessed como base histórica
|
|
98
|
+
|
|
99
|
+
### 3. Routing local
|
|
100
|
+
|
|
101
|
+
- `ORCHESTRATOR.md`
|
|
102
|
+
- `CLAUDE.md`
|
|
103
|
+
- `.atl/skill-registry.md`
|
|
104
|
+
|
|
105
|
+
### 4. Skills locales
|
|
106
|
+
|
|
107
|
+
Viven en:
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
.claude/skills/
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
Hoy incluyen:
|
|
114
|
+
|
|
115
|
+
- `orchestrator-init`
|
|
116
|
+
- `orchestrator-explore`
|
|
117
|
+
- `orchestrator-propose`
|
|
118
|
+
- `orchestrator-spec`
|
|
119
|
+
- `orchestrator-design`
|
|
120
|
+
- `orchestrator-tasks`
|
|
121
|
+
- `orchestrator-queue-planning`
|
|
122
|
+
- `orchestrator-apply`
|
|
123
|
+
- `orchestrator-verify`
|
|
124
|
+
- `orchestrator-archive`
|
|
125
|
+
- `orchestrator-memory`
|
|
126
|
+
- `orchestrator-openspec`
|
|
127
|
+
|
|
128
|
+
### 5. Memoria
|
|
129
|
+
|
|
130
|
+
- `ENGRAM.md`
|
|
131
|
+
- Engram como memoria persistente
|
|
132
|
+
|
|
133
|
+
### 6. Artefactos SDD
|
|
134
|
+
|
|
135
|
+
- `openspec/`
|
|
136
|
+
- `openspec/FLOW.md`
|
|
137
|
+
- templates
|
|
138
|
+
- scaffolder de changes
|
|
139
|
+
|
|
140
|
+
### 7. Configuración por agente
|
|
141
|
+
|
|
142
|
+
- `AGENT-CONFIG.md`
|
|
143
|
+
- `agentProfiles` en `orchestrator.config.json`
|
|
144
|
+
- `.claude/`
|
|
145
|
+
- `.codex/`
|
|
146
|
+
- `.opencode/`
|
|
147
|
+
|
|
148
|
+
### 8. Installer / ecosystem configurator
|
|
149
|
+
|
|
150
|
+
- `bin/agentflow.mjs`
|
|
151
|
+
- instalación en workspace sibling
|
|
152
|
+
- base preparada para npm
|
|
153
|
+
|
|
154
|
+
### 9. Documentation layer
|
|
155
|
+
|
|
156
|
+
- `docs/architecture.md`
|
|
157
|
+
- `docs/components.md`
|
|
158
|
+
- `docs/agents.md`
|
|
159
|
+
- `docs/engram.md`
|
|
160
|
+
- `docs/openspec.md`
|
|
161
|
+
- `docs/usage.md`
|
|
162
|
+
|
|
163
|
+
## Estado real de la arquitectura
|
|
164
|
+
|
|
165
|
+
### Ya está integrado
|
|
166
|
+
|
|
167
|
+
- skills locales del proyecto
|
|
168
|
+
- registry local
|
|
169
|
+
- routing con `CLAUDE.md`
|
|
170
|
+
- Engram
|
|
171
|
+
- OpenSpec
|
|
172
|
+
- configuración reusable por agente
|
|
173
|
+
- installer base
|
|
174
|
+
- TUI Ink conectada al motor
|
|
175
|
+
|
|
176
|
+
### Sigue en evolución
|
|
177
|
+
|
|
178
|
+
- publicación final en npm
|
|
179
|
+
- pulido del installer
|
|
180
|
+
- integración más profunda entre OpenSpec y cola viva
|
|
181
|
+
- posible crecimiento a más skills SDD
|
|
182
|
+
|
|
183
|
+
## Regla de diseño principal
|
|
184
|
+
|
|
185
|
+
Este proyecto debe:
|
|
186
|
+
|
|
187
|
+
- **priorizar configuración local del repo**
|
|
188
|
+
- **no depender de herramientas externas para el flujo base**
|
|
189
|
+
- **no depender de skills globales del usuario**
|
|
190
|
+
- **permitir trabajar con 3 agentes hoy y más mañana**
|
|
191
|
+
- **mantener a Claude como orquestador principal**
|
|
192
|
+
- **permitir que OpenCode y Codex implementen código, con Claude como revisor final y fallback**
|
|
193
|
+
- **permitir que Claude también avance código como Claude-Worker (`Backend` / `Frontend`) cuando haya tareas paralelas o cuando otro agente falle**
|
|
194
|
+
|
|
195
|
+
## Flujo operativo esperado
|
|
196
|
+
|
|
197
|
+
1. Instalar o inicializar el workspace sibling del orquestador
|
|
198
|
+
2. Editar `orchestrator.config.json`
|
|
199
|
+
3. Levantar la TUI
|
|
200
|
+
4. Abrir Claude Code en el workspace del orquestador
|
|
201
|
+
5. Decir:
|
|
202
|
+
|
|
203
|
+
```text
|
|
204
|
+
Lee ORCHESTRATOR.md y arranca.
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
6. Claude:
|
|
208
|
+
- usa `CLAUDE.md`
|
|
209
|
+
- resuelve skills
|
|
210
|
+
- usa Engram
|
|
211
|
+
- usa OpenSpec si el cambio es grande
|
|
212
|
+
- traduce trabajo a `QUEUE.md`
|
|
213
|
+
- reparte la primera tanda entre Claude-Worker, Codex y OpenCode cuando existan tareas independientes suficientes
|
|
214
|
+
7. El motor ejecuta
|
|
215
|
+
8. La TUI refleja el movimiento real de los agentes
|
|
216
|
+
|
|
217
|
+
## Regla sobre git
|
|
218
|
+
|
|
219
|
+
- ningún agente hace commit
|
|
220
|
+
- ningún agente hace push
|
|
221
|
+
- git siempre queda manualmente en manos del usuario
|
|
222
|
+
|
|
223
|
+
## Regla sobre dependencias del flujo
|
|
224
|
+
|
|
225
|
+
Meta:
|
|
226
|
+
|
|
227
|
+
- dejar solo Engram y el orquestador propio como base operativa
|
|
228
|
+
- seguir funcionando con skills locales y config local
|
|
229
|
+
- no depender del bootstrap ni de la estructura de otra herramienta
|
|
230
|
+
|
|
231
|
+
## Siguiente foco natural
|
|
232
|
+
|
|
233
|
+
Antes de cerrar esta etapa:
|
|
234
|
+
|
|
235
|
+
- revisar el checklist final de publicación npm
|
|
236
|
+
- publicar el paquete
|
|
237
|
+
- validar luego la experiencia completa sobre un proyecto real de ejemplo
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Cola
|
|
2
|
+
|
|
3
|
+
> Formato: `id | titulo | agente | prioridad | repo | descripcion`
|
|
4
|
+
> Dependencias: agrega `> after:TASK-NNN` al final de la descripción
|
|
5
|
+
> Comentarios: líneas que empiecen con `#`
|
|
6
|
+
|
|
7
|
+
## Pendientes
|
|
8
|
+
|
|
9
|
+
# === Tareas de ejemplo (borra estas y agrega las tuyas) ===
|
|
10
|
+
|
|
11
|
+
TASK-001 | Estructura inicial del proyecto | Backend | P1 | backend | Crear estructura inicial de carpetas y boilerplate
|
|
12
|
+
TASK-002 | Crear landing page | Frontend | P1 | frontend | Construir sección hero con layout responsive
|
|
13
|
+
TASK-003 | Documentación de API | Codex | P2 | backend | Documentar endpoints REST en docs/api-reference.md > after:TASK-001
|
|
14
|
+
|
|
15
|
+
## En progreso
|
|
16
|
+
|
|
17
|
+
## Completadas
|