@liriraid/agentflow-ai 1.0.11 → 1.0.12
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/orchestrator.js +7 -7
- package/package.json +1 -1
- package/src/ink/app.mjs +6 -8
- package/templates/en/ORCHESTRATOR.md +17 -4
- package/templates/es/ORCHESTRATOR.md +17 -4
package/orchestrator.js
CHANGED
|
@@ -701,15 +701,15 @@ function parseQueue() {
|
|
|
701
701
|
let section = "";
|
|
702
702
|
for (const rawLine of content.split("\n")) {
|
|
703
703
|
const line = rawLine.trim();
|
|
704
|
-
if (line.startsWith("## Pending")) {
|
|
704
|
+
if (line.startsWith("## Pending") || line.startsWith("## Pendientes")) {
|
|
705
705
|
section = "pending";
|
|
706
706
|
continue;
|
|
707
707
|
}
|
|
708
|
-
if (line.startsWith("## In Progress")) {
|
|
708
|
+
if (line.startsWith("## In Progress") || line.startsWith("## En progreso")) {
|
|
709
709
|
section = "inprogress";
|
|
710
710
|
continue;
|
|
711
711
|
}
|
|
712
|
-
if (line.startsWith("## Completed")) {
|
|
712
|
+
if (line.startsWith("## Completed") || line.startsWith("## Completadas")) {
|
|
713
713
|
section = "completed";
|
|
714
714
|
continue;
|
|
715
715
|
}
|
|
@@ -743,15 +743,15 @@ function parseCompletedFromFile() {
|
|
|
743
743
|
let section = "";
|
|
744
744
|
for (const rawLine of content.split("\n")) {
|
|
745
745
|
const line = rawLine.trim();
|
|
746
|
-
if (line.startsWith("## Pending")) {
|
|
746
|
+
if (line.startsWith("## Pending") || line.startsWith("## Pendientes")) {
|
|
747
747
|
section = "pending";
|
|
748
748
|
continue;
|
|
749
749
|
}
|
|
750
|
-
if (line.startsWith("## In Progress")) {
|
|
750
|
+
if (line.startsWith("## In Progress") || line.startsWith("## En progreso")) {
|
|
751
751
|
section = "inprogress";
|
|
752
752
|
continue;
|
|
753
753
|
}
|
|
754
|
-
if (line.startsWith("## Completed")) {
|
|
754
|
+
if (line.startsWith("## Completed") || line.startsWith("## Completadas")) {
|
|
755
755
|
section = "completed";
|
|
756
756
|
continue;
|
|
757
757
|
}
|
|
@@ -1406,7 +1406,7 @@ function updateQueueFile(completedTask) {
|
|
|
1406
1406
|
`^${completedTask.id.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")}(\\s|$|\\|)`,
|
|
1407
1407
|
);
|
|
1408
1408
|
const filtered = lines.filter((l) => !idMatcher.test(l.trim()));
|
|
1409
|
-
const idx = filtered.findIndex((l) => l.trim().startsWith("## Completed"));
|
|
1409
|
+
const idx = filtered.findIndex((l) => l.trim().startsWith("## Completed") || l.trim().startsWith("## Completadas"));
|
|
1410
1410
|
if (idx >= 0)
|
|
1411
1411
|
filtered.splice(
|
|
1412
1412
|
idx + 1,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@liriraid/agentflow-ai",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.12",
|
|
4
4
|
"description": "Multi-agent workspace orchestrator with TUI. Coordinates AI coding agents over your real frontend and backend projects.",
|
|
5
5
|
"author": "LiriRaid",
|
|
6
6
|
"homepage": "https://github.com/LiriRaid/agentflow-ai#readme",
|
package/src/ink/app.mjs
CHANGED
|
@@ -89,18 +89,18 @@ const AgentCard = ({agent, text}) => {
|
|
|
89
89
|
borderStyle: 'round',
|
|
90
90
|
borderColor: statusColor,
|
|
91
91
|
width: '24%',
|
|
92
|
-
minHeight:
|
|
92
|
+
minHeight: 9,
|
|
93
93
|
paddingX: 1,
|
|
94
94
|
flexDirection: 'column'
|
|
95
95
|
},
|
|
96
|
-
h(Text, {bold: true}, agent.name),
|
|
96
|
+
h(Text, {bold: true, wrap: 'wrap'}, agent.name),
|
|
97
97
|
h(Text, {color: statusColor}, agent.status === 'busy' ? text.busy : text.idle),
|
|
98
98
|
h(
|
|
99
99
|
Text,
|
|
100
|
-
{color: COLORS.muted},
|
|
101
|
-
agent.task
|
|
100
|
+
{color: COLORS.muted, wrap: 'wrap'},
|
|
101
|
+
agent.task || text.noTask
|
|
102
102
|
),
|
|
103
|
-
h(Text, {color: COLORS.muted}, agent.detail || text.ready)
|
|
103
|
+
h(Text, {color: COLORS.muted, wrap: 'wrap'}, agent.detail || text.ready)
|
|
104
104
|
);
|
|
105
105
|
};
|
|
106
106
|
|
|
@@ -229,9 +229,7 @@ export function App({snapshot, paused = false, onAction}) {
|
|
|
229
229
|
key: agent.name,
|
|
230
230
|
agent: {
|
|
231
231
|
...agent,
|
|
232
|
-
|
|
233
|
-
task: agent.task ? truncate(agent.task, agentWidth) : null,
|
|
234
|
-
detail: truncate(agent.detail || text.ready, agentWidth)
|
|
232
|
+
detail: agent.detail || text.ready
|
|
235
233
|
}
|
|
236
234
|
})
|
|
237
235
|
)
|
|
@@ -45,15 +45,28 @@ When the user requests work after startup:
|
|
|
45
45
|
|
|
46
46
|
For frontend work, prefer `Codex` for narrow, well-scoped tasks and `OpenCode` for exploration/audits. Use `Frontend`/Claude-Worker for broader UI implementation, fallback, or when the other allowed agents are already occupied.
|
|
47
47
|
|
|
48
|
+
## This Workspace Is NOT the Real Project
|
|
49
|
+
|
|
50
|
+
This directory (`orchestrator-<name>`) exists **only** for work management:
|
|
51
|
+
- `QUEUE.md` — task queue for agents
|
|
52
|
+
- `TASKS.md` — detailed task specs
|
|
53
|
+
- `handoffs/` — session continuity
|
|
54
|
+
- `progress/` — current state per agent
|
|
55
|
+
- `logs/` — agent output
|
|
56
|
+
|
|
57
|
+
The real project code lives at the paths defined in `orchestrator.config.json → repos`.
|
|
58
|
+
When you need to understand the project in order to plan tasks, **read files from those paths**.
|
|
59
|
+
**Never modify real project files directly** — that is exclusively the workers' job.
|
|
60
|
+
|
|
48
61
|
## Startup Checklist
|
|
49
62
|
|
|
50
63
|
When the user says something like `Read ORCHESTRATOR.md and start`, do this:
|
|
51
64
|
|
|
52
65
|
1. Read this file completely.
|
|
53
|
-
2. Read
|
|
54
|
-
3. Read
|
|
55
|
-
4. Read `
|
|
56
|
-
5. Read `
|
|
66
|
+
2. Read `orchestrator.config.json` — identify the real project paths in `repos` (frontend, backend). Those are the paths where the worker agents operate.
|
|
67
|
+
3. Read `<projectName>-plan.md`, `PLAN.md`, or `plan.md` if present.
|
|
68
|
+
4. Read the newest `handoffs/HANDOFF-*.md` if the folder exists.
|
|
69
|
+
5. Read `QUEUE.md` to understand pending, active, and completed work.
|
|
57
70
|
6. Read all `progress/PROGRESS-*.md` files if present.
|
|
58
71
|
7. Read `ENGRAM.md` and follow the memory rules.
|
|
59
72
|
8. Use `openspec/` for large or multi-phase changes.
|
|
@@ -18,13 +18,26 @@ Hay dos roles distintos que no deben confundirse:
|
|
|
18
18
|
|
|
19
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
20
|
|
|
21
|
+
## El workspace NO es el proyecto real
|
|
22
|
+
|
|
23
|
+
Este directorio (`orchestrator-<nombre>`) existe **únicamente** para gestión de trabajo:
|
|
24
|
+
- `QUEUE.md` — cola de tareas para los agentes
|
|
25
|
+
- `TASKS.md` — specs detalladas de tareas
|
|
26
|
+
- `handoffs/` — continuidad entre sesiones
|
|
27
|
+
- `progress/` — estado actual de cada agente
|
|
28
|
+
- `logs/` — salida de los agentes
|
|
29
|
+
|
|
30
|
+
El código real del proyecto vive en las rutas definidas en `orchestrator.config.json → repos`.
|
|
31
|
+
Cuando necesites entender el proyecto para planificar tareas, **lee archivos desde esas rutas**.
|
|
32
|
+
**Nunca modifiques archivos del proyecto real directamente** — eso es trabajo exclusivo de los agentes workers.
|
|
33
|
+
|
|
21
34
|
## Al iniciar la sesión — OBLIGATORIO
|
|
22
35
|
|
|
23
36
|
1. Lee este archivo completo.
|
|
24
|
-
2. Lee
|
|
25
|
-
3. Lee
|
|
26
|
-
4. Lee `
|
|
27
|
-
5. Lee `
|
|
37
|
+
2. Lee `orchestrator.config.json` — identifica las rutas reales en `repos` (frontend, backend). Esas son las rutas del proyecto real donde trabajan los agentes.
|
|
38
|
+
3. Lee `<projectName>-plan.md` (o `PLAN.md` / `plan.md`) si existe; ese es el plan general.
|
|
39
|
+
4. Lee el handoff más reciente en `handoffs/HANDOFF-*.md` si existe la carpeta.
|
|
40
|
+
5. Lee `QUEUE.md` para ver trabajo activo y pendiente.
|
|
28
41
|
6. Lee todos los archivos `progress/PROGRESS-*.md` que existan para entender el estado actual de cada agente.
|
|
29
42
|
7. Lee `ENGRAM.md` para respetar la convención de memoria persistente del proyecto.
|
|
30
43
|
8. Si existe `openspec/`, úsalo como capa de artefactos para cambios grandes o de varias fases.
|