@liriraid/agentflow-ai 1.0.21 → 1.0.23
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/README.md +15 -16
- package/bin/agentflow.mjs +0 -0
- package/orchestrator.js +0 -2
- package/package.json +63 -60
- package/src/ink/index.mjs +23 -25
- package/templates/en/AGENT-CONFIG.md +2 -2
- package/templates/en/ORCHESTRATOR.md +5 -6
- package/templates/en/README.md +20 -21
- package/templates/en/agents/OPENCODE.md +4 -28
- package/templates/en/docs/usage.md +1 -1
- package/templates/en/orchestrator.config.json +0 -7
- package/templates/es/AGENT-CONFIG.md +2 -2
- package/templates/es/ORCHESTRATOR.md +7 -8
- package/templates/es/PROJECT.md +2 -2
- package/templates/es/README.md +18 -21
- package/templates/es/agents/OPENCODE.md +4 -19
- package/templates/es/docs/usage.md +1 -1
- package/templates/es/orchestrator.config.json +1 -8
package/README.md
CHANGED
|
@@ -32,7 +32,7 @@ project-workspace/
|
|
|
32
32
|
|-------|------|----------|-------|
|
|
33
33
|
| **Claude-Orchestrator** | Session coordinator | - | Never implements code directly; delegates to workers |
|
|
34
34
|
| **Codex** | Primary implementation | 1st choice | Structured tasks, tests, docs |
|
|
35
|
-
| **OpenCode** | Analysis + Implementation | 2nd choice | Uses
|
|
35
|
+
| **OpenCode** | Analysis + Implementation | 2nd choice | Uses your configured model |
|
|
36
36
|
| **Claude-Worker** (Backend/Frontend) | Fallback implementation | 3rd choice | Takes over when Codex/OpenCode fail |
|
|
37
37
|
| **Gemini** | Code review/audits | Optional | Disabled by default |
|
|
38
38
|
| **Cursor/Abacus** | Mechanical tasks | Optional | Disabled by default |
|
|
@@ -44,7 +44,7 @@ project-workspace/
|
|
|
44
44
|
|
|
45
45
|
### 4. **Smart Task Delegation**
|
|
46
46
|
- **Analysis tasks** → Always assigned to **OpenCode**.
|
|
47
|
-
- **Implementation tasks** → Assigned to **Codex** (1st) → **OpenCode** (2nd
|
|
47
|
+
- **Implementation tasks** → Assigned to **Codex** (1st) → **OpenCode** (2nd) → **Claude-Worker** (3rd).
|
|
48
48
|
- **Fallback chain**: `Codex → OpenCode → Claude-Worker` (automatic).
|
|
49
49
|
|
|
50
50
|
### 5. **Persistent Memory & SDD**
|
|
@@ -56,14 +56,14 @@ project-workspace/
|
|
|
56
56
|
|
|
57
57
|
### Global CLI (Recommended)
|
|
58
58
|
```bash
|
|
59
|
-
|
|
59
|
+
pnpm add -g @liriraid/agentflow-ai
|
|
60
60
|
```
|
|
61
61
|
|
|
62
62
|
### Local Development
|
|
63
63
|
```bash
|
|
64
64
|
git clone https://github.com/LiriRaid/agentflow-ai.git
|
|
65
65
|
cd agentflow-ai
|
|
66
|
-
|
|
66
|
+
pnpm install
|
|
67
67
|
```
|
|
68
68
|
|
|
69
69
|
## 🛠️ Quick Start
|
|
@@ -169,17 +169,16 @@ orchestrator-my-project/
|
|
|
169
169
|
"opencode": { "enabled": true, "localConfigDir": ".opencode" }
|
|
170
170
|
},
|
|
171
171
|
"agents": {
|
|
172
|
-
"Backend": { "cli": "claude", "defaultRepo": "backend"
|
|
173
|
-
"Frontend": { "cli": "claude", "defaultRepo": "frontend"
|
|
174
|
-
"Codex": { "cli": "codex", "defaultRepo": "backend"
|
|
175
|
-
"OpenCode": { "cli": "opencode", "defaultRepo": "frontend"
|
|
172
|
+
"Backend": { "cli": "claude", "defaultRepo": "backend" },
|
|
173
|
+
"Frontend": { "cli": "claude", "defaultRepo": "frontend" },
|
|
174
|
+
"Codex": { "cli": "codex", "defaultRepo": "backend" },
|
|
175
|
+
"OpenCode": { "cli": "opencode", "defaultRepo": "frontend" }
|
|
176
176
|
}
|
|
177
177
|
}
|
|
178
178
|
```
|
|
179
179
|
|
|
180
180
|
### Model Selection
|
|
181
|
-
|
|
182
|
-
- Specify a model explicitly (e.g., `"model": "gpt-5.5"`) to override.
|
|
181
|
+
Each agent uses the model you have configured in its own CLI. You can optionally override it by adding `"model": "model-name"` to any agent entry — for Claude this accepts values like `sonnet` or `opus`.
|
|
183
182
|
|
|
184
183
|
## 🔄 Workflow Example
|
|
185
184
|
|
|
@@ -201,12 +200,12 @@ orchestrator-my-project/
|
|
|
201
200
|
|
|
202
201
|
## 📊 Supported Agents & Models
|
|
203
202
|
|
|
204
|
-
| Agent | CLI |
|
|
205
|
-
|
|
206
|
-
| Backend | `claude` |
|
|
207
|
-
| Frontend | `claude` |
|
|
208
|
-
| Codex | `codex` |
|
|
209
|
-
| OpenCode | `opencode` | auto | ✅
|
|
203
|
+
| Agent | CLI | Model | Implementation? | Notes |
|
|
204
|
+
|-------|-----|-------|----------------|-------|
|
|
205
|
+
| Backend | `claude` | auto | ✅ Yes | Claude-Worker for backend tasks |
|
|
206
|
+
| Frontend | `claude` | auto | ✅ Yes | Claude-Worker for frontend tasks |
|
|
207
|
+
| Codex | `codex` | auto | ✅ Yes | Primary implementation |
|
|
208
|
+
| OpenCode | `opencode` | auto | ✅ Yes | Secondary implementation |
|
|
210
209
|
| Gemini | `gemini` | auto | ❌ No | Audits/reviews only |
|
|
211
210
|
| Cursor | `cursor` | auto | ❌ No | Bulk edits only |
|
|
212
211
|
| Abacus | `abacusai` | auto | ❌ No | Small focused tasks |
|
package/bin/agentflow.mjs
CHANGED
|
File without changes
|
package/orchestrator.js
CHANGED
|
@@ -33,13 +33,11 @@ const CONFIG_TEMPLATE = {
|
|
|
33
33
|
Backend: {
|
|
34
34
|
cli: "claude",
|
|
35
35
|
defaultRepo: "backend",
|
|
36
|
-
model: "sonnet",
|
|
37
36
|
instructionsFile: "agents/BACKEND.md",
|
|
38
37
|
},
|
|
39
38
|
Frontend: {
|
|
40
39
|
cli: "claude",
|
|
41
40
|
defaultRepo: "frontend",
|
|
42
|
-
model: "sonnet",
|
|
43
41
|
instructionsFile: "agents/FRONTEND.md",
|
|
44
42
|
},
|
|
45
43
|
Codex: {
|
package/package.json
CHANGED
|
@@ -1,60 +1,63 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@liriraid/agentflow-ai",
|
|
3
|
-
"version": "1.0.
|
|
4
|
-
"description": "Multi-agent workspace orchestrator with TUI. Coordinates AI coding agents over your real frontend and backend projects.",
|
|
5
|
-
"author": "LiriRaid",
|
|
6
|
-
"homepage": "https://github.com/LiriRaid/agentflow-ai#readme",
|
|
7
|
-
"repository": {
|
|
8
|
-
"type": "git",
|
|
9
|
-
"url": "git+https://github.com/LiriRaid/agentflow-ai.git"
|
|
10
|
-
},
|
|
11
|
-
"bugs": {
|
|
12
|
-
"url": "https://github.com/LiriRaid/agentflow-ai/issues"
|
|
13
|
-
},
|
|
14
|
-
"publishConfig": {
|
|
15
|
-
"access": "public"
|
|
16
|
-
},
|
|
17
|
-
"main": "orchestrator.js",
|
|
18
|
-
"bin": {
|
|
19
|
-
"agentflow": "bin/agentflow.mjs"
|
|
20
|
-
},
|
|
21
|
-
"files": [
|
|
22
|
-
"bin",
|
|
23
|
-
"src",
|
|
24
|
-
"templates",
|
|
25
|
-
"orchestrator.js",
|
|
26
|
-
"LICENSE"
|
|
27
|
-
],
|
|
28
|
-
"
|
|
29
|
-
"
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
"
|
|
37
|
-
"
|
|
38
|
-
"
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
"
|
|
43
|
-
"
|
|
44
|
-
"
|
|
45
|
-
"
|
|
46
|
-
"
|
|
47
|
-
"
|
|
48
|
-
"
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
"
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
"
|
|
58
|
-
"
|
|
59
|
-
|
|
60
|
-
|
|
1
|
+
{
|
|
2
|
+
"name": "@liriraid/agentflow-ai",
|
|
3
|
+
"version": "1.0.23",
|
|
4
|
+
"description": "Multi-agent workspace orchestrator with TUI. Coordinates AI coding agents over your real frontend and backend projects.",
|
|
5
|
+
"author": "LiriRaid",
|
|
6
|
+
"homepage": "https://github.com/LiriRaid/agentflow-ai#readme",
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "git+https://github.com/LiriRaid/agentflow-ai.git"
|
|
10
|
+
},
|
|
11
|
+
"bugs": {
|
|
12
|
+
"url": "https://github.com/LiriRaid/agentflow-ai/issues"
|
|
13
|
+
},
|
|
14
|
+
"publishConfig": {
|
|
15
|
+
"access": "public"
|
|
16
|
+
},
|
|
17
|
+
"main": "orchestrator.js",
|
|
18
|
+
"bin": {
|
|
19
|
+
"agentflow": "bin/agentflow.mjs"
|
|
20
|
+
},
|
|
21
|
+
"files": [
|
|
22
|
+
"bin",
|
|
23
|
+
"src",
|
|
24
|
+
"templates",
|
|
25
|
+
"orchestrator.js",
|
|
26
|
+
"LICENSE"
|
|
27
|
+
],
|
|
28
|
+
"engines": {
|
|
29
|
+
"node": ">=18.0.0"
|
|
30
|
+
},
|
|
31
|
+
"keywords": [
|
|
32
|
+
"ai",
|
|
33
|
+
"agents",
|
|
34
|
+
"orchestrator",
|
|
35
|
+
"agentflow-ai",
|
|
36
|
+
"claude",
|
|
37
|
+
"codex",
|
|
38
|
+
"gemini",
|
|
39
|
+
"cursor",
|
|
40
|
+
"opencode",
|
|
41
|
+
"abacus",
|
|
42
|
+
"tui",
|
|
43
|
+
"multi-agent",
|
|
44
|
+
"coding-assistant",
|
|
45
|
+
"openspec",
|
|
46
|
+
"engram",
|
|
47
|
+
"skills",
|
|
48
|
+
"agent-config"
|
|
49
|
+
],
|
|
50
|
+
"license": "MIT",
|
|
51
|
+
"dependencies": {
|
|
52
|
+
"blessed": "^0.1.81",
|
|
53
|
+
"ink": "^5.2.1",
|
|
54
|
+
"react": "^18.3.1"
|
|
55
|
+
},
|
|
56
|
+
"scripts": {
|
|
57
|
+
"start": "node orchestrator.js",
|
|
58
|
+
"start:paused": "node orchestrator.js --paused",
|
|
59
|
+
"start:ink": "node src/ink/index.mjs",
|
|
60
|
+
"start:ink:paused": "node src/ink/index.mjs --paused",
|
|
61
|
+
"cli:help": "node bin/agentflow.mjs --help"
|
|
62
|
+
}
|
|
63
|
+
}
|
package/src/ink/index.mjs
CHANGED
|
@@ -100,6 +100,7 @@ let quitRequested = false;
|
|
|
100
100
|
let resizeTimer = null;
|
|
101
101
|
let isResizing = false;
|
|
102
102
|
let lastColumns = process.stdout?.columns ?? 0;
|
|
103
|
+
let isRendering = false;
|
|
103
104
|
|
|
104
105
|
function normalizeInlineMessage(message) {
|
|
105
106
|
return String(message ?? '')
|
|
@@ -324,21 +325,24 @@ function ensureEngine() {
|
|
|
324
325
|
}
|
|
325
326
|
|
|
326
327
|
function refresh() {
|
|
327
|
-
if (isResizing) return;
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
328
|
+
if (isResizing || isRendering) return;
|
|
329
|
+
isRendering = true;
|
|
330
|
+
try {
|
|
331
|
+
const snapshot = buildSnapshot();
|
|
332
|
+
lastRenderedSnapshot = snapshot;
|
|
333
|
+
ensureStateWatcher();
|
|
334
|
+
if (!inkApp) {
|
|
335
|
+
inkApp = render(React.createElement(App, {snapshot, onAction: requestAction}), {
|
|
336
|
+
exitOnCtrlC: false,
|
|
337
|
+
patchConsole: false,
|
|
338
|
+
alternateScreen: true
|
|
339
|
+
});
|
|
340
|
+
return;
|
|
341
|
+
}
|
|
342
|
+
inkApp.rerender(React.createElement(App, {snapshot, onAction: requestAction}));
|
|
343
|
+
} finally {
|
|
344
|
+
isRendering = false;
|
|
339
345
|
}
|
|
340
|
-
|
|
341
|
-
inkApp.rerender(React.createElement(App, {snapshot, onAction: requestAction}));
|
|
342
346
|
}
|
|
343
347
|
|
|
344
348
|
function clearTerminal() {
|
|
@@ -415,31 +419,25 @@ function ensureStateWatcher() {
|
|
|
415
419
|
} catch { stateWatcher = null; }
|
|
416
420
|
}
|
|
417
421
|
|
|
418
|
-
// Tick
|
|
419
|
-
//
|
|
422
|
+
// Tick del reloj: solo actualiza lastRenderedSnapshot en memoria.
|
|
423
|
+
// scheduleRefresh es la única fuente de rerender para evitar renders concurrentes.
|
|
420
424
|
function startClockTick() {
|
|
421
425
|
clockInterval = setInterval(() => {
|
|
422
|
-
if (!
|
|
426
|
+
if (!lastRenderedSnapshot?.startedAt) return;
|
|
423
427
|
const activeSeconds = Math.max(0, Math.round((Date.now() - lastRenderedSnapshot.startedAt) / 1000));
|
|
424
|
-
|
|
428
|
+
lastRenderedSnapshot = {
|
|
425
429
|
...lastRenderedSnapshot,
|
|
426
430
|
activeLabel: formatDuration(activeSeconds),
|
|
427
431
|
timestamp: new Date().toLocaleString(getLocale(), {hour12: false})
|
|
428
432
|
};
|
|
429
|
-
lastRenderedSnapshot = updated;
|
|
430
|
-
inkApp.rerender(React.createElement(App, {snapshot: updated, onAction: requestAction}));
|
|
431
433
|
}, 1000);
|
|
432
434
|
}
|
|
433
435
|
|
|
434
436
|
function scheduleRefresh() {
|
|
435
|
-
const engineState = readEngineState();
|
|
436
|
-
const busy = engineState && Object.values(engineState.agents || {}).some(a => a.status === 'busy');
|
|
437
|
-
const hasWork = engineState && ((engineState.queue || []).length > 0 || (engineState.inProgress || []).length > 0);
|
|
438
|
-
const ms = (busy || hasWork) ? 1000 : 4000;
|
|
439
437
|
refreshTimer = setTimeout(() => {
|
|
440
438
|
refresh();
|
|
441
439
|
scheduleRefresh();
|
|
442
|
-
},
|
|
440
|
+
}, 1000);
|
|
443
441
|
}
|
|
444
442
|
|
|
445
443
|
function mount() {
|
|
@@ -53,7 +53,7 @@ Default routing should put executable work on Codex or OpenCode first when they
|
|
|
53
53
|
|
|
54
54
|
- `claude` is the primary profile.
|
|
55
55
|
- `codex` is the primary implementation profile
|
|
56
|
-
- `opencode` is a support profile that **can implement code
|
|
56
|
+
- `opencode` is a support profile that **can implement code** depending on the model configured in your OpenCode installation
|
|
57
57
|
- Other profiles can exist while remaining disabled by default.
|
|
58
58
|
|
|
59
59
|
## Suggested Local Folders
|
|
@@ -72,5 +72,5 @@ If both global and local agent configuration exist, the local project config sho
|
|
|
72
72
|
|
|
73
73
|
- Claude uses `.claude/skills/` as the main project skill base.
|
|
74
74
|
- Codex and OpenCode can have their own local config even if they do not use the same skill model today.
|
|
75
|
-
- OpenCode can explore, audit, and **implement code
|
|
75
|
+
- OpenCode can explore, audit, and **implement code** — capabilities depend on your configured model.
|
|
76
76
|
- The design should allow richer local layers for additional agents later.
|
|
@@ -122,7 +122,7 @@ del .away-mode
|
|
|
122
122
|
The TUI handles fallback automatically following this chain:
|
|
123
123
|
|
|
124
124
|
```
|
|
125
|
-
Codex fails → OpenCode
|
|
125
|
+
Codex fails → OpenCode → Frontend (frontend repo) or Backend (backend repo)
|
|
126
126
|
```
|
|
127
127
|
Codex fails → Frontend (frontend repo) or Backend (backend repo) directly
|
|
128
128
|
```
|
|
@@ -149,14 +149,13 @@ Default agent summary:
|
|
|
149
149
|
| Backend | claude | Backend code through Claude-Worker |
|
|
150
150
|
| Frontend | claude | Broad frontend work through Claude-Worker |
|
|
151
151
|
| Codex | codex | **First choice for implementation**; structured implementation, tests, docs, narrow frontend support |
|
|
152
|
-
| OpenCode | opencode | **Second choice for implementation
|
|
152
|
+
| OpenCode | opencode | **Second choice for implementation**; exploration, audits, structured reports |
|
|
153
153
|
| Gemini | gemini | Optional audits and reviews only when explicitly enabled |
|
|
154
154
|
| Cursor | cursor | Optional mechanical bulk edits only when explicitly enabled |
|
|
155
155
|
| Abacus | abacusai | Optional small focused tasks only when explicitly enabled |
|
|
156
156
|
|
|
157
157
|
**Notes about OpenCode:**
|
|
158
|
-
-
|
|
159
|
-
- If the model is not suitable for implementation, OpenCode will only perform analysis and report as `blocked`.
|
|
158
|
+
- OpenCode can perform both analysis and implementation — capabilities depend on the model you have configured in your OpenCode installation.
|
|
160
159
|
|
|
161
160
|
## How To Assign Work
|
|
162
161
|
|
|
@@ -184,9 +183,9 @@ Rules:
|
|
|
184
183
|
|
|
185
184
|
Routing preferences:
|
|
186
185
|
|
|
187
|
-
1. Use OpenCode for exploration, audits, and **implementation
|
|
186
|
+
1. Use OpenCode for exploration, audits, and **implementation**.
|
|
188
187
|
2. Use Codex as the **primary implementation agent** when the spec is clear.
|
|
189
|
-
3. Use OpenCode as the **secondary implementation agent
|
|
188
|
+
3. Use OpenCode as the **secondary implementation agent**.
|
|
190
189
|
4. Keep Claude-Worker available as automatic fallback for Codex/OpenCode and for overflow tasks.
|
|
191
190
|
5. For frontend, use Codex for narrow tasks and Frontend/Claude-Worker for broad UI work.
|
|
192
191
|
6. Do not assign all tasks to Claude just because Claude is the orchestrator.
|
package/templates/en/README.md
CHANGED
|
@@ -28,12 +28,12 @@ project-workspace/
|
|
|
28
28
|
- Agents work on the real project files via absolute paths configured in `orchestrator.config.json`.
|
|
29
29
|
|
|
30
30
|
### 2. **Multi-Agent Coordination**
|
|
31
|
-
| Agent | CLI |
|
|
32
|
-
|
|
31
|
+
| Agent | CLI | Model | Implementation? | Notes |
|
|
32
|
+
|-------|-----|-------|----------------|-------|
|
|
33
33
|
| **Claude-Orchestrator** | - | - | ❌ No | Session coordinator only |
|
|
34
|
-
| **Codex** | `codex` |
|
|
35
|
-
| **OpenCode** | `opencode` | auto | ✅
|
|
36
|
-
| **Claude-Worker** (Backend/Frontend) | `claude` |
|
|
34
|
+
| **Codex** | `codex` | auto | ✅ Yes | Primary implementation |
|
|
35
|
+
| **OpenCode** | `opencode` | auto | ✅ Yes | Secondary implementation |
|
|
36
|
+
| **Claude-Worker** (Backend/Frontend) | `claude` | auto | ✅ Yes | Fallback implementation |
|
|
37
37
|
| **Gemini** | `gemini` | auto | ❌ No | Audits/reviews only |
|
|
38
38
|
| **Cursor** | `cursor` | auto | ❌ No | Bulk edits only |
|
|
39
39
|
| **Abacus** | `abacusai` | auto | ❌ No | Small focused tasks |
|
|
@@ -45,7 +45,7 @@ project-workspace/
|
|
|
45
45
|
|
|
46
46
|
### 4. **Smart Task Delegation**
|
|
47
47
|
- **Analysis tasks** → Always assigned to **OpenCode**.
|
|
48
|
-
- **Implementation tasks** → Assigned to **Codex** (1st) → **OpenCode** (2nd
|
|
48
|
+
- **Implementation tasks** → Assigned to **Codex** (1st) → **OpenCode** (2nd) → **Claude-Worker** (3rd).
|
|
49
49
|
- **Fallback chain**: `Codex → OpenCode → Claude-Worker` (automatic).
|
|
50
50
|
|
|
51
51
|
### 5. **Persistent Memory & SDD**
|
|
@@ -57,14 +57,14 @@ project-workspace/
|
|
|
57
57
|
|
|
58
58
|
### Global CLI (Recommended)
|
|
59
59
|
```bash
|
|
60
|
-
|
|
60
|
+
pnpm add -g @liriraid/agentflow-ai
|
|
61
61
|
```
|
|
62
62
|
|
|
63
63
|
### Local Development
|
|
64
64
|
```bash
|
|
65
65
|
git clone https://github.com/LiriRaid/agentflow-ai.git
|
|
66
66
|
cd agentflow-ai
|
|
67
|
-
|
|
67
|
+
pnpm install
|
|
68
68
|
```
|
|
69
69
|
|
|
70
70
|
## 🛠️ Quick Start
|
|
@@ -170,17 +170,16 @@ orchestrator-my-project/
|
|
|
170
170
|
"opencode": { "enabled": true, "localConfigDir": ".opencode" }
|
|
171
171
|
},
|
|
172
172
|
"agents": {
|
|
173
|
-
"Backend": { "cli": "claude", "defaultRepo": "backend"
|
|
174
|
-
"Frontend": { "cli": "claude", "defaultRepo": "frontend"
|
|
175
|
-
"Codex": { "cli": "codex", "defaultRepo": "backend"
|
|
176
|
-
"OpenCode": { "cli": "opencode", "defaultRepo": "frontend"
|
|
173
|
+
"Backend": { "cli": "claude", "defaultRepo": "backend" },
|
|
174
|
+
"Frontend": { "cli": "claude", "defaultRepo": "frontend" },
|
|
175
|
+
"Codex": { "cli": "codex", "defaultRepo": "backend" },
|
|
176
|
+
"OpenCode": { "cli": "opencode", "defaultRepo": "frontend" }
|
|
177
177
|
}
|
|
178
178
|
}
|
|
179
179
|
```
|
|
180
180
|
|
|
181
181
|
### Model Selection
|
|
182
|
-
|
|
183
|
-
- Specify a model explicitly (e.g., `"model": "gpt-5.5"`) to override.
|
|
182
|
+
Each agent uses the model you have configured in its own CLI. You can optionally add `"model": "model-name"` to any agent entry to override — for Claude this accepts values like `sonnet` or `opus`.
|
|
184
183
|
|
|
185
184
|
## 🔄 Workflow Example
|
|
186
185
|
|
|
@@ -195,19 +194,19 @@ orchestrator-my-project/
|
|
|
195
194
|
- Reads OpenCode's report.
|
|
196
195
|
- Creates `TASK-002` (Codex): `"Implement JWT auth"` (depends on TASK-001).
|
|
197
196
|
5. **Codex/OpenCode**:
|
|
198
|
-
- Implements the feature (Codex first, OpenCode second
|
|
197
|
+
- Implements the feature (Codex first, OpenCode second).
|
|
199
198
|
- Reports completion in `progress/PROGRESS-*.md`.
|
|
200
199
|
6. **TUI**:
|
|
201
200
|
- Shows real-time updates (task status, agent activity, costs).
|
|
202
201
|
|
|
203
202
|
## 📊 Supported Agents & Models
|
|
204
203
|
|
|
205
|
-
| Agent | CLI |
|
|
206
|
-
|
|
207
|
-
| Backend | `claude` |
|
|
208
|
-
| Frontend | `claude` |
|
|
209
|
-
| Codex | `codex` |
|
|
210
|
-
| OpenCode | `opencode` | auto | ✅
|
|
204
|
+
| Agent | CLI | Model | Implementation? | Notes |
|
|
205
|
+
|-------|-----|-------|----------------|-------|
|
|
206
|
+
| Backend | `claude` | auto | ✅ Yes | Claude-Worker for backend tasks |
|
|
207
|
+
| Frontend | `claude` | auto | ✅ Yes | Claude-Worker for frontend tasks |
|
|
208
|
+
| Codex | `codex` | auto | ✅ Yes | Primary implementation |
|
|
209
|
+
| OpenCode | `opencode` | auto | ✅ Yes | Secondary implementation |
|
|
211
210
|
| Gemini | `gemini` | auto | ❌ No | Audits/reviews only |
|
|
212
211
|
| Cursor | `cursor` | auto | ❌ No | Bulk edits only |
|
|
213
212
|
| Abacus | `abacusai` | auto | ❌ No | Small focused tasks |
|
|
@@ -2,12 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
## Role
|
|
4
4
|
|
|
5
|
-
OpenCode is a **multi-purpose agent**
|
|
6
|
-
|
|
7
|
-
- Analyzing existing code
|
|
8
|
-
- Implementing new features
|
|
9
|
-
- Fixing complex bugs
|
|
10
|
-
- Refactoring code
|
|
5
|
+
OpenCode is a **multi-purpose agent** capable of **analysis, exploration, and code implementation**.
|
|
6
|
+
Its capabilities depend on the model you have configured in your OpenCode installation.
|
|
11
7
|
|
|
12
8
|
## Scope
|
|
13
9
|
|
|
@@ -19,7 +15,7 @@ When using powerful models like **Mistral Medium 3.5 128B**, OpenCode is capable
|
|
|
19
15
|
- Structured Markdown reports
|
|
20
16
|
- Identifying dead code, missing dependencies, inconsistencies
|
|
21
17
|
|
|
22
|
-
### Implementation
|
|
18
|
+
### Implementation
|
|
23
19
|
- Implementing new features
|
|
24
20
|
- Modifying project files
|
|
25
21
|
- Writing new tests
|
|
@@ -36,20 +32,9 @@ When using powerful models like **Mistral Medium 3.5 128B**, OpenCode is capable
|
|
|
36
32
|
## Assignment Priority
|
|
37
33
|
|
|
38
34
|
- **First choice for implementation**: Codex (when available)
|
|
39
|
-
- **Second choice for implementation**: OpenCode
|
|
35
|
+
- **Second choice for implementation**: OpenCode
|
|
40
36
|
- **Third choice**: Claude-Worker (Backend/Frontend)
|
|
41
37
|
|
|
42
|
-
## Model-Specific Behavior
|
|
43
|
-
|
|
44
|
-
### With analysis models (e.g., small models or low-context):
|
|
45
|
-
- **Analysis only**: Do not implement code
|
|
46
|
-
- Report in TASK_REPORT: `status: blocked`, `issues: "Model not suitable for implementation — reassign to Codex or Claude-Worker"`
|
|
47
|
-
|
|
48
|
-
### With implementation models (e.g., Mistral Medium 3.5 128B, GPT-4, etc.):
|
|
49
|
-
- **You CAN implement code** when the task is clearly defined
|
|
50
|
-
- Ensure that any required prior analysis is already complete
|
|
51
|
-
- Follow the same quality rules as Codex
|
|
52
|
-
|
|
53
38
|
## Completion Report (REQUIRED)
|
|
54
39
|
|
|
55
40
|
### For analysis tasks:
|
|
@@ -75,12 +60,3 @@ summary: 1-3 sentences describing the changes made
|
|
|
75
60
|
issues: problems or "none"
|
|
76
61
|
TASK_REPORT_END
|
|
77
62
|
```
|
|
78
|
-
TASK_REPORT
|
|
79
|
-
status: completed | failed | blocked
|
|
80
|
-
files_modified: none
|
|
81
|
-
files_created: none
|
|
82
|
-
files_deleted: none
|
|
83
|
-
summary: 1-3 sentences describing findings
|
|
84
|
-
issues: problems or "none"
|
|
85
|
-
TASK_REPORT_END
|
|
86
|
-
```
|
|
@@ -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
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
|
}
|
|
@@ -59,7 +59,7 @@ Para este proyecto reusable:
|
|
|
59
59
|
|
|
60
60
|
- `claude` es el profile principal
|
|
61
61
|
- `codex` es el profile de implementación primaria
|
|
62
|
-
- `opencode` es el profile de apoyo que **puede implementar código
|
|
62
|
+
- `opencode` es el profile de apoyo que **puede implementar código** dependiendo del modelo configurado en tu instalación de OpenCode
|
|
63
63
|
- otros profiles pueden existir, aunque no estén habilitados por defecto
|
|
64
64
|
|
|
65
65
|
## Directorios locales sugeridos
|
|
@@ -80,5 +80,5 @@ Si existe configuración global del agente en el home del usuario y también una
|
|
|
80
80
|
|
|
81
81
|
- `Claude` usa `.claude/skills/` como base principal del proyecto
|
|
82
82
|
- `Codex` y `OpenCode` pueden tener configuración local propia aunque hoy no usen el mismo modelo de skills
|
|
83
|
-
- `OpenCode` no es solo auditor: puede explorar, auditar e **implementar código
|
|
83
|
+
- `OpenCode` no es solo auditor: puede explorar, auditar e **implementar código** — las capacidades dependen del modelo configurado en tu instalación de OpenCode
|
|
84
84
|
- el diseño debe permitir que mañana también tengan una capa local más rica
|
|
@@ -135,7 +135,7 @@ del .away-mode
|
|
|
135
135
|
La TUI gestiona el fallback automáticamente siguiendo esta cadena:
|
|
136
136
|
|
|
137
137
|
```
|
|
138
|
-
Codex falla → OpenCode
|
|
138
|
+
Codex falla → OpenCode → Frontend (repo FE) o Backend (repo BE)
|
|
139
139
|
```
|
|
140
140
|
Codex falla → Frontend (repo FE) o Backend (repo BE) directamente
|
|
141
141
|
```
|
|
@@ -166,17 +166,16 @@ Revisa `orchestrator.config.json` → `agents`. Cada entrada tiene:
|
|
|
166
166
|
**Agentes por defecto en esta plantilla:**
|
|
167
167
|
| Nombre | CLI | Mejor para |
|
|
168
168
|
|--------|-----|------------|
|
|
169
|
-
| Backend | claude
|
|
170
|
-
| Frontend | claude
|
|
169
|
+
| Backend | claude | Código server-side: controllers, models, migrations y tests |
|
|
170
|
+
| Frontend | claude | Código UI: componentes, páginas y estilos |
|
|
171
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
|
|
172
|
+
| OpenCode | opencode | **Segunda opción para implementación**; exploración, auditorías y reportes estructurados |
|
|
173
173
|
| Gemini | gemini | Auditorías, code review; suele sufrir con `node_modules` muy grandes |
|
|
174
174
|
| Cursor | cursor | Tareas mecánicas de alto volumen: find-and-replace y cleanup |
|
|
175
175
|
| Abacus | abacusai | Tareas pequeñas y enfocadas, con alcance bien acotado |
|
|
176
176
|
|
|
177
177
|
**Notas sobre OpenCode:**
|
|
178
|
-
-
|
|
179
|
-
- Si el modelo no es apto para implementación, OpenCode solo hará análisis y reportará como `blocked`.
|
|
178
|
+
- OpenCode puede realizar tanto análisis como implementación — las capacidades dependen del modelo que tengas configurado en tu instalación de OpenCode.
|
|
180
179
|
|
|
181
180
|
## Cómo asignar trabajo
|
|
182
181
|
|
|
@@ -197,7 +196,7 @@ Revisa `orchestrator.config.json` → `agents`. Cada entrada tiene:
|
|
|
197
196
|
4. (Opcional) Para un brief muy detallado, crea `briefs/TASK-NNN-BRIEF.md`; también se inyecta.
|
|
198
197
|
5. Dependencias: agrega `> after:TASK-NNN` al final de la descripción para bloquear la tarea.
|
|
199
198
|
6. **La TUI inicia automáticamente** - NO necesitas presionar R ni S. La TUI detecta nuevas tasks y las lanza.
|
|
200
|
-
7. **Codex es la primera opción para implementación; OpenCode
|
|
199
|
+
7. **Codex es la primera opción para implementación; OpenCode 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
200
|
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
201
|
9. Distribución según cantidad de TASKs independientes:
|
|
203
202
|
- **1 tarea de análisis**: OpenCode.
|
|
@@ -217,7 +216,7 @@ Revisa `orchestrator.config.json` → `agents`. Cada entrada tiene:
|
|
|
217
216
|
6. Al terminar la sesión, escribe un `handoffs/HANDOFF-<fecha>.md` resumiendo qué se hizo y qué sigue.
|
|
218
217
|
7. **Por defecto solo usa Claude, Codex y OpenCode**. No uses Gemini, Cursor ni Abacus salvo instrucción explícita del usuario.
|
|
219
218
|
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.
|
|
220
|
-
9. La TUI gestiona el fallback automáticamente: Codex falla → OpenCode
|
|
219
|
+
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`.
|
|
221
220
|
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
221
|
11. **VERIFICACIÓN OBLIGATORIA:** Antes de crear cualquier TASK de implementación, **LEE Y CONFIRMA QUE:**
|
|
223
222
|
- Existe un reporte de OpenCode en `INBOX.md` o `progress/PROGRESS-OpenCode.md` para el análisis solicitado.
|
package/templates/es/PROJECT.md
CHANGED
|
@@ -44,7 +44,7 @@ Esto evita ensuciar el repo del producto con:
|
|
|
44
44
|
La instalación recomendada para usuarios finales es:
|
|
45
45
|
|
|
46
46
|
```bash
|
|
47
|
-
|
|
47
|
+
pnpm add -g @liriraid/agentflow-ai
|
|
48
48
|
```
|
|
49
49
|
|
|
50
50
|
Después, por cada proyecto real:
|
|
@@ -61,7 +61,7 @@ La variante con `npx` sigue siendo válida:
|
|
|
61
61
|
npx @liriraid/agentflow-ai-ai init-workspace C:/code/mi-proyecto
|
|
62
62
|
```
|
|
63
63
|
|
|
64
|
-
No se recomienda `
|
|
64
|
+
No se recomienda `pnpm add @liriraid/agentflow-ai` dentro del repo del producto, porque eso lo vuelve una dependencia local del proyecto en vez de una herramienta global del entorno.
|
|
65
65
|
|
|
66
66
|
## Regla de permisos
|
|
67
67
|
|
package/templates/es/README.md
CHANGED
|
@@ -34,7 +34,7 @@ workspace-proyecto/
|
|
|
34
34
|
|--------|-----|----------|-------|
|
|
35
35
|
| **Claude-Orquestador** | Coordinador de sesión | - | Nunca implementa código directamente; delega a workers |
|
|
36
36
|
| **Codex** | Implementación primaria | 1ra opción | Tareas estructuradas, tests, docs |
|
|
37
|
-
| **OpenCode** | Análisis + Implementación | 2da opción | Usa
|
|
37
|
+
| **OpenCode** | Análisis + Implementación | 2da opción | Usa el modelo que tengas configurado |
|
|
38
38
|
| **Claude-Worker** (Backend/Frontend) | Fallback | 3ra opción | Toma el relevo si Codex/OpenCode fallan |
|
|
39
39
|
| **Gemini** | Revisión/auditoría | Opcional | Deshabilitado por defecto |
|
|
40
40
|
| **Cursor/Abacus** | Tareas mecánicas | Opcional | Deshabilitado por defecto |
|
|
@@ -46,7 +46,7 @@ workspace-proyecto/
|
|
|
46
46
|
|
|
47
47
|
### 4. **Delegación Inteligente de Tareas**
|
|
48
48
|
- **Tareas de análisis** → Siempre asignadas a **OpenCode**.
|
|
49
|
-
- **Tareas de implementación** → Asignadas a **Codex** (1ra) → **OpenCode** (2da
|
|
49
|
+
- **Tareas de implementación** → Asignadas a **Codex** (1ra) → **OpenCode** (2da) → **Claude-Worker** (3ra).
|
|
50
50
|
- **Cadena de fallback**: `Codex → OpenCode → Claude-Worker` (automático).
|
|
51
51
|
|
|
52
52
|
### 5. **Memoria Persistente y SDD**
|
|
@@ -58,14 +58,14 @@ workspace-proyecto/
|
|
|
58
58
|
|
|
59
59
|
### CLI Global (Recomendado)
|
|
60
60
|
```bash
|
|
61
|
-
|
|
61
|
+
pnpm add -g @liriraid/agentflow-ai
|
|
62
62
|
```
|
|
63
63
|
|
|
64
64
|
### Desarrollo Local
|
|
65
65
|
```bash
|
|
66
66
|
git clone https://github.com/LiriRaid/agentflow-ai.git
|
|
67
67
|
cd agentflow-ai
|
|
68
|
-
|
|
68
|
+
pnpm install
|
|
69
69
|
```
|
|
70
70
|
|
|
71
71
|
## 🛠️ Inicio Rápido
|
|
@@ -171,17 +171,16 @@ orchestrator-mi-proyecto/
|
|
|
171
171
|
"opencode": { "enabled": true, "localConfigDir": ".opencode" }
|
|
172
172
|
},
|
|
173
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"
|
|
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
178
|
}
|
|
179
179
|
}
|
|
180
180
|
```
|
|
181
181
|
|
|
182
182
|
### Selección de Modelo
|
|
183
|
-
|
|
184
|
-
- Especifica un modelo explícitamente (ej: `"model": "gpt-5.5"`) para sobrescribir.
|
|
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`.
|
|
185
184
|
|
|
186
185
|
## 🔄 Ejemplo de Flujo de Trabajo
|
|
187
186
|
|
|
@@ -203,12 +202,12 @@ orchestrator-mi-proyecto/
|
|
|
203
202
|
|
|
204
203
|
## 📊 Agentes Soportados y Modelos
|
|
205
204
|
|
|
206
|
-
| Agente | CLI | Modelo
|
|
207
|
-
|
|
208
|
-
| Backend | `claude` |
|
|
209
|
-
| Frontend | `claude` |
|
|
210
|
-
| Codex | `codex` |
|
|
211
|
-
| OpenCode | `opencode` | auto | ✅
|
|
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 |
|
|
212
211
|
| Gemini | `gemini` | auto | ❌ No | Solo auditorías/revisiones |
|
|
213
212
|
| Cursor | `cursor` | auto | ❌ No | Solo ediciones masivas |
|
|
214
213
|
| Abacus | `abacusai` | auto | ❌ No | Solo tareas pequeñas y enfocadas |
|
|
@@ -290,7 +289,7 @@ pero **ese no es el flujo recomendado** para este proyecto.
|
|
|
290
289
|
Instala el CLI una sola vez:
|
|
291
290
|
|
|
292
291
|
```bash
|
|
293
|
-
|
|
292
|
+
pnpm add -g @liriraid/agentflow-ai
|
|
294
293
|
```
|
|
295
294
|
|
|
296
295
|
Luego, para cada proyecto real, crea un workspace sibling del orquestador:
|
|
@@ -330,7 +329,7 @@ Si vas a modificar el orquestador mismo:
|
|
|
330
329
|
```bash
|
|
331
330
|
git clone https://github.com/LiriRaid/agentflow.git
|
|
332
331
|
cd agentflow
|
|
333
|
-
|
|
332
|
+
pnpm install
|
|
334
333
|
```
|
|
335
334
|
|
|
336
335
|
Este repo local es la **fuente reusable** que tú modificas para agregar herramientas, cambiar el flujo o extender el sistema.
|
|
@@ -363,7 +362,7 @@ También crea carpetas runtime:
|
|
|
363
362
|
### 1. Instalar el CLI globalmente
|
|
364
363
|
|
|
365
364
|
```bash
|
|
366
|
-
|
|
365
|
+
pnpm add -g @liriraid/agentflow-ai
|
|
367
366
|
```
|
|
368
367
|
|
|
369
368
|
### 2. Crear el workspace del orquestador
|
|
@@ -691,14 +690,12 @@ Eso asegura:
|
|
|
691
690
|
"cli": "claude",
|
|
692
691
|
"profile": "claude",
|
|
693
692
|
"defaultRepo": "backend",
|
|
694
|
-
"model": "sonnet",
|
|
695
693
|
"instructionsFile": "agents/BACKEND.md"
|
|
696
694
|
},
|
|
697
695
|
"Codex": {
|
|
698
696
|
"cli": "codex",
|
|
699
697
|
"profile": "codex",
|
|
700
698
|
"defaultRepo": "backend",
|
|
701
|
-
"model": "gpt-5.5",
|
|
702
699
|
"instructionsFile": "agents/CODEX.md"
|
|
703
700
|
},
|
|
704
701
|
"OpenCode": {
|
|
@@ -2,12 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
## Rol
|
|
4
4
|
|
|
5
|
-
OpenCode es un agente **multipropósito**
|
|
6
|
-
|
|
7
|
-
- Analizar código existente
|
|
8
|
-
- Implementar nuevas funcionalidades
|
|
9
|
-
- Resolver bugs complejos
|
|
10
|
-
- Refactorizar código
|
|
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.
|
|
11
7
|
|
|
12
8
|
## Alcance
|
|
13
9
|
|
|
@@ -19,7 +15,7 @@ Cuando usa modelos potentes como **Mistral Medium 3.5 128B**, OpenCode es capaz
|
|
|
19
15
|
- Reportes estructurados en Markdown
|
|
20
16
|
- Identificación de residuos, dependencias faltantes, inconsistencias
|
|
21
17
|
|
|
22
|
-
### Implementación
|
|
18
|
+
### Implementación
|
|
23
19
|
- Implementar nuevas features
|
|
24
20
|
- Modificar archivos del proyecto
|
|
25
21
|
- Escribir tests nuevos
|
|
@@ -36,20 +32,9 @@ Cuando usa modelos potentes como **Mistral Medium 3.5 128B**, OpenCode es capaz
|
|
|
36
32
|
## Prioridad de Asignación
|
|
37
33
|
|
|
38
34
|
- **Primera opción para implementación**: Codex (cuando esté disponible)
|
|
39
|
-
- **Segunda opción para implementación**: OpenCode
|
|
35
|
+
- **Segunda opción para implementación**: OpenCode
|
|
40
36
|
- **Tercera opción**: Claude-Worker (Backend/Frontend)
|
|
41
37
|
|
|
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
|
|
52
|
-
|
|
53
38
|
## Reporte de finalización (OBLIGATORIO)
|
|
54
39
|
|
|
55
40
|
### Para tareas de análisis:
|
|
@@ -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
|
}
|