@liriraid/agentflow-ai 1.0.20 → 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.
@@ -52,7 +52,8 @@ Default routing should put executable work on Codex or OpenCode first when they
52
52
  ## Initial Convention
53
53
 
54
54
  - `claude` is the primary profile.
55
- - `codex` and `opencode` are support profiles.
55
+ - `codex` is the primary implementation profile
56
+ - `opencode` is a support profile that **can implement code when using advanced models** (e.g., Mistral Medium 3.5 128B)
56
57
  - Other profiles can exist while remaining disabled by default.
57
58
 
58
59
  ## Suggested Local Folders
@@ -71,5 +72,5 @@ If both global and local agent configuration exist, the local project config sho
71
72
 
72
73
  - Claude uses `.claude/skills/` as the main project skill base.
73
74
  - Codex and OpenCode can have their own local config even if they do not use the same skill model today.
74
- - OpenCode can explore, audit, and implement when the TASK is clear.
75
+ - OpenCode can explore, audit, and **implement code when using advanced models** like Mistral Medium 3.5 128B.
75
76
  - The design should allow richer local layers for additional agents later.
@@ -121,6 +121,8 @@ del .away-mode
121
121
 
122
122
  The TUI handles fallback automatically following this chain:
123
123
 
124
+ ```
125
+ Codex fails → OpenCode (with Mistral Medium 3.5 128B) → Frontend (frontend repo) or Backend (backend repo)
124
126
  ```
125
127
  Codex fails → Frontend (frontend repo) or Backend (backend repo) directly
126
128
  ```
@@ -146,20 +148,24 @@ Default agent summary:
146
148
  | --- | --- | --- |
147
149
  | Backend | claude | Backend code through Claude-Worker |
148
150
  | Frontend | claude | Broad frontend work through Claude-Worker |
149
- | Codex | codex | Structured implementation, tests, docs, narrow frontend support |
150
- | OpenCode | opencode | Exploration, audits, structured reports analysis only, does not implement code |
151
+ | Codex | codex | **First choice for implementation**; structured implementation, tests, docs, narrow frontend support |
152
+ | OpenCode | opencode | **Second choice for implementation** (with Mistral Medium 3.5 128B); exploration, audits, structured reports |
151
153
  | Gemini | gemini | Optional audits and reviews only when explicitly enabled |
152
154
  | Cursor | cursor | Optional mechanical bulk edits only when explicitly enabled |
153
155
  | Abacus | abacusai | Optional small focused tasks only when explicitly enabled |
154
156
 
157
+ **Notes about OpenCode:**
158
+ - When OpenCode uses **Mistral Medium 3.5 128B or equivalent models**, it can implement code.
159
+ - If the model is not suitable for implementation, OpenCode will only perform analysis and report as `blocked`.
160
+
155
161
  ## How To Assign Work
156
162
 
157
163
  1. **When the user asks for a change or new task** → **NEVER analyze directly yourself**
158
- - **If prior analysis is needed**: Create a TASK in `QUEUE.md` assigned to **OpenCode** to explore the context
159
- - **Wait for the report**: OpenCode writes findings in INBOX.md or progress/
160
- - **Then implement**: Create a new TASK assigned to **Codex** (or Claude-Worker if Codex is unavailable)
161
- - **OpenCode does not implement** — its TASKs are always analysis; implementation goes to Codex or Claude-Worker
162
- - **Never analyze the project code yourself** — that is OpenCode's job
164
+ - **If prior analysis is needed**: Create a TASK in `QUEUE.md` assigned **EXCLUSIVELY** to **OpenCode** to explore the context
165
+ - **Wait for the report**: OpenCode writes findings to `progress/PROGRESS-OpenCode.md` and notifies in `INBOX.md`
166
+ - **Then implement**: **READ OPENCODE'S REPORT** in `progress/PROGRESS-OpenCode.md` or `INBOX.md` and create new TASK assigned to **Codex** (or Claude-Worker if Codex is unavailable)
167
+ - **OpenCode DOES NOT implement** — its TASKs are **ONLY for analysis**; implementation **ALWAYS** goes to Codex or Claude-Worker
168
+ - **NEVER, under any circumstances, analyze the project code yourself (Claude-Orchestrator)** — **THIS IS OPENCODE'S EXCLUSIVE JOB**. If a report from OpenCode already exists, **USE THAT CONTEXT** to create implementation tasks.
163
169
 
164
170
  2. Write TASKs in `QUEUE.md` with this format:
165
171
 
@@ -178,11 +184,12 @@ Rules:
178
184
 
179
185
  Routing preferences:
180
186
 
181
- 1. Use OpenCode for exploration, audits, and analysis. Never for implementation.
182
- 2. Use Codex as the primary implementation agent when the spec is clear.
183
- 3. Keep Claude-Worker available as automatic fallback for Codex and for overflow tasks.
184
- 4. For frontend, use Codex for narrow tasks and Frontend/Claude-Worker for broad UI work.
185
- 5. Do not assign all tasks to Claude just because Claude is the orchestrator.
187
+ 1. Use OpenCode for exploration, audits, and **implementation (with Mistral Medium 3.5 128B or advanced models)**.
188
+ 2. Use Codex as the **primary implementation agent** when the spec is clear.
189
+ 3. Use OpenCode as the **secondary implementation agent** (when using advanced models).
190
+ 4. Keep Claude-Worker available as automatic fallback for Codex/OpenCode and for overflow tasks.
191
+ 5. For frontend, use Codex for narrow tasks and Frontend/Claude-Worker for broad UI work.
192
+ 6. Do not assign all tasks to Claude just because Claude is the orchestrator.
186
193
 
187
194
  ## Hard Rules
188
195
 
@@ -196,6 +203,10 @@ Routing preferences:
196
203
  8. Use Engram for durable decisions, bugs, discoveries, and session summaries.
197
204
  9. Use `openspec/changes/<change-name>/` for large changes.
198
205
  10. Claude remains the final reviewer before work is considered accepted.
206
+ 11. **MANDATORY VERIFICATION:** Before creating any implementation TASK, **READ AND CONFIRM THAT:**
207
+ - There is an OpenCode report in `INBOX.md` or `progress/PROGRESS-OpenCode.md` for the requested analysis.
208
+ - The implementation TASK is based **EXCLUSIVELY** on OpenCode's report.
209
+ - **YOU (Claude-Orchestrator) HAVE NOT** analyzed the code yourself.
199
210
 
200
211
  ## TUI Controls
201
212
 
@@ -1,83 +1,89 @@
1
- # agentflow
1
+ # agentflow-ai
2
2
 
3
- A reusable multi-agent workspace for coordinating coding agents around a real project without placing orchestrator files inside the product repository.
3
+ **Multi-Agent Orchestration System for AI-Powered Development**
4
4
 
5
- The orchestrator lives next to the real project:
5
+ A reusable workspace orchestrator that coordinates multiple AI coding agents to work **in parallel** on real projects, while keeping the project repository **completely clean** of orchestrator files.
6
6
 
7
7
  ```text
8
8
  project-workspace/
9
- RealProject/
10
- orchestrator-realproject/
9
+ my-project/ # Real project (stays clean)
10
+ orchestrator-my-project/ # Orchestrator workspace (generated)
11
11
  ```
12
12
 
13
- The real project stays clean. The orchestrator workspace keeps queue, docs, skills, OpenSpec artifacts, memory conventions, logs, and handoffs.
14
-
15
- ## What It Does
16
-
17
- - Starts a TUI dashboard for live agent execution.
18
- - Uses `QUEUE.md` as the executable task queue.
19
- - Lets Claude act as orchestrator and final reviewer.
20
- - Runs Codex, OpenCode, and Claude-Workers as implementation agents.
21
- - Keeps project memory and handoffs outside the deliverable repo.
22
- - Supports OpenSpec-style proposal, spec, design, tasks, verify, and archive artifacts.
23
- - Allows one orchestrator workspace per client or product.
24
-
25
- ## Core Rule
26
-
27
- Claude-Orchestrator must not implement project work directly.
28
-
29
- When the user asks for work, Claude should:
30
-
31
- 1. Read context.
32
- 2. Split the request into TASKs.
33
- 3. Write those TASKs to `QUEUE.md`.
34
- 4. Let the TUI launch the workers.
35
- 5. Review the results.
36
-
37
- Implementation should go through worker agents unless the user explicitly overrides this rule.
38
-
39
- ## Default Agents
40
-
41
- | Agent | CLI | Default Role |
42
- | --- | --- | --- |
43
- | Codex | `codex` | Structured implementation, tests, docs, narrow frontend support |
44
- | OpenCode | `opencode` | Exploration, audits, reports, scoped implementation |
45
- | Backend | `claude` | Claude-Worker for backend work, fallback, and extra capacity |
46
- | Frontend | `claude` | Claude-Worker for broad frontend work, fallback, and extra capacity |
47
-
48
- Gemini, Cursor, and Abacus can remain configured but are disabled operationally unless the user enables them for a session.
49
-
50
- ## Install
51
-
13
+ ## 🎯 What It Does
14
+
15
+ - **Coordinates multiple AI agents** (Claude, Codex, OpenCode, etc.) to work simultaneously on your project.
16
+ - **Real-time monitoring** with a modern TUI (Terminal User Interface) that shows live agent status, queue, and progress.
17
+ - **Automatic task delegation** based on agent specialization (analysis, implementation, code review).
18
+ - **Persistent memory** using Engram to maintain context across sessions.
19
+ - **Spec-Driven Development (SDD)** support with OpenSpec for large, multi-phase changes.
20
+ - **Fallback system** that automatically reassigns tasks when an agent fails or reaches rate limits.
21
+ - **Multi-language support** (English and Spanish) for all templates and documentation.
22
+
23
+ ## Key Features
24
+
25
+ ### 1. **Sibling Workspace Model**
26
+ - The orchestrator creates a **separate workspace** next to your real project.
27
+ - Your project repository **stays completely clean** (no `QUEUE.md`, `logs/`, or orchestrator files).
28
+ - Agents work on the real project files via absolute paths configured in `orchestrator.config.json`.
29
+
30
+ ### 2. **Multi-Agent Coordination**
31
+ | Agent | CLI | Default Model | Implementation? | Notes |
32
+ |-------|-----|----------------|----------------|-------|
33
+ | **Claude-Orchestrator** | - | - | ❌ No | Session coordinator only |
34
+ | **Codex** | `codex` | gpt-5.5 | Yes | Primary implementation |
35
+ | **OpenCode** | `opencode` | auto | ✅ **Yes** (with Mistral Medium 3.5 128B) | Secondary implementation |
36
+ | **Claude-Worker** (Backend/Frontend) | `claude` | sonnet | ✅ Yes | Fallback implementation |
37
+ | **Gemini** | `gemini` | auto | No | Audits/reviews only |
38
+ | **Cursor** | `cursor` | auto | ❌ No | Bulk edits only |
39
+ | **Abacus** | `abacusai` | auto | ❌ No | Small focused tasks |
40
+
41
+ ### 3. **Real-Time Operation**
42
+ - **fs.watch on QUEUE.md**: Detects changes in **~1-2 seconds** (Linux/macOS: direct file watch; Windows: directory watch fallback).
43
+ - **Live TUI updates**: The dashboard refreshes automatically when tasks are added, started, or completed.
44
+ - **Instant notifications**: Claude-Orchestrator receives alerts in `INBOX.md` and `NOTIFY.md` when tasks finish.
45
+
46
+ ### 4. **Smart Task Delegation**
47
+ - **Analysis tasks** → Always assigned to **OpenCode**.
48
+ - **Implementation tasks** Assigned to **Codex** (1st) **OpenCode** (2nd, if using Mistral Medium 3.5 128B) **Claude-Worker** (3rd).
49
+ - **Fallback chain**: `Codex → OpenCode → Claude-Worker` (automatic).
50
+
51
+ ### 5. **Persistent Memory & SDD**
52
+ - **Engram**: Stores decisions, bugs, and findings across sessions.
53
+ - **OpenSpec**: Supports `proposal.md`, `spec.md`, `design.md`, `tasks.md`, and `verify-report.md` for large changes.
54
+ - **Handoffs**: Session summaries for continuity.
55
+
56
+ ## 🚀 Installation
57
+
58
+ ### Global CLI (Recommended)
52
59
  ```bash
53
60
  npm i -g @liriraid/agentflow-ai
54
61
  ```
55
62
 
56
- ## Create A Workspace
57
-
63
+ ### Local Development
58
64
  ```bash
59
- agentflow init-workspace C:/code/my-project
65
+ git clone https://github.com/LiriRaid/agentflow-ai.git
66
+ cd agentflow-ai
67
+ npm install
60
68
  ```
61
69
 
62
- If no language is passed, the CLI asks whether to generate the workspace in **EN** or **ES**. You can also pass it directly:
70
+ ## 🛠️ Quick Start
63
71
 
72
+ ### 1. Create an Orchestrator Workspace
64
73
  ```bash
65
- agentflow init-workspace C:/code/my-project --lang en
66
- agentflow init-workspace C:/code/my-project --lang es
67
- ```
74
+ # Interactive (asks for language)
75
+ agentflow init-workspace C:/code/my-project
68
76
 
69
- This creates a sibling workspace:
77
+ # Direct (English)
78
+ agentflow init-workspace C:/code/my-project --lang en
70
79
 
71
- ```text
72
- C:/code/
73
- my-project/
74
- orchestrator-my-project/
80
+ # Direct (Spanish)
81
+ agentflow init-workspace C:/code/my-project --lang es
75
82
  ```
83
+ This creates a sibling workspace (e.g., `orchestrator-my-project/`) with all configuration files.
76
84
 
77
- ## Configure Repos
78
-
79
- Edit `orchestrator.config.json`:
80
-
85
+ ### 2. Configure Repositories
86
+ Edit `orchestrator.config.json` in the generated workspace:
81
87
  ```json
82
88
  {
83
89
  "repos": {
@@ -87,102 +93,141 @@ Edit `orchestrator.config.json`:
87
93
  }
88
94
  ```
89
95
 
90
- If the project only has frontend for now, both keys can temporarily point to the same repo. Update `backend` later when the backend exists.
91
-
92
- ## Start The System
93
-
94
- Open one terminal in the orchestrator workspace:
95
-
96
+ ### 3. Start the TUI
96
97
  ```bash
97
- cd C:/code/orchestrator-my-project
98
- agentflow ink
98
+ cd orchestrator-my-project
99
+ agentflow ink --paused
99
100
  ```
100
-
101
- Open another terminal in the same orchestrator workspace:
102
-
101
+ **Controls:**
102
+ - `S`: Start/Resume
103
+ - `P`: Pause
104
+ - `R`: Reload queue
105
+ - `Q`: Quit (stops all agents)
106
+
107
+ ### 4. Launch Claude Code
108
+ Open a second terminal in the **orchestrator workspace** (not the real project):
103
109
  ```bash
104
- cd C:/code/orchestrator-my-project
110
+ cd orchestrator-my-project
105
111
  claude
106
112
  ```
107
-
108
- Tell Claude:
109
-
110
- ```text
113
+ Then run:
114
+ ```
111
115
  Read ORCHESTRATOR.md and start.
112
116
  ```
113
117
 
114
- Claude should read the workspace context and become the orchestrator. It should not implement the first user request directly.
115
-
116
- ## Normal Workflow
118
+ ### 5. Request Work
119
+ Examples:
120
+ - `"Explore this project"` → OpenCode analyzes and reports.
121
+ - `"Add JWT authentication"` → OpenCode analyzes, then Codex/OpenCode implement.
122
+ - `"Refactor the API layer"` → OpenCode explores, then workers implement in parallel.
117
123
 
118
- 1. User asks Claude-Orchestrator for a change.
119
- 2. Claude reads the relevant project context.
120
- 3. Claude creates TASKs in `QUEUE.md`.
121
- 4. User presses `R` in the TUI to reload the queue.
122
- 5. User presses `S` if the TUI is paused.
123
- 6. The TUI launches workers.
124
- 7. Workers report `TASK_REPORT`.
125
- 8. Claude-Orchestrator reviews the output and plans the next batch.
126
-
127
- ## Queue Format
128
-
129
- ```text
130
- TASK-NNN | short title | Agent | P1 | repo | detailed description
131
- ```
124
+ ## 📁 Workspace Structure
132
125
 
133
- Example:
126
+ The generated workspace includes:
134
127
 
135
128
  ```text
136
- TASK-004 | Audit current frontend routing | OpenCode | P1 | frontend | Inspect route structure and report risks
137
- TASK-005 | Add inbox empty-state test | Codex | P1 | frontend | Add a narrow test for the empty inbox state
138
- TASK-006 | Implement inbox layout polish | Frontend | P1 | frontend | Update the main inbox layout after TASK-004 findings > after:TASK-004
129
+ orchestrator-my-project/
130
+ ├── ORCHESTRATOR.md # Core rules for the orchestrator session
131
+ ├── CLAUDE.md # Routing rules for Claude
132
+ ├── QUEUE.md # Active task queue (TASK-NNN | title | agent | ...)
133
+ ├── ENGRAM.md # Persistent memory conventions
134
+ ├── orchestrator.config.json # Repos, agents, models, and profiles
135
+ ├── agents/ # Agent-specific instructions
136
+ │ ├── BACKEND.md
137
+ │ ├── FRONTEND.md
138
+ │ ├── CODEX.md
139
+ │ └── OPENCODE.md
140
+ ├── .claude/ # Local Claude skills and config
141
+ │ └── skills/ # Orchestrator skills (init, explore, etc.)
142
+ ├── .codex/ # Codex config
143
+ ├── .opencode/ # OpenCode config
144
+ ├── openspec/ # SDD artifacts
145
+ │ ├── changes/
146
+ │ └── templates/
147
+ ├── docs/ # Documentation
148
+ ├── logs/ # Execution logs
149
+ ├── handoffs/ # Session handoffs
150
+ └── progress/ # Agent progress reports
139
151
  ```
140
152
 
141
- ## Routing Policy
142
-
143
- - Start executable work with Codex or OpenCode when suitable.
144
- - Use Claude-Worker for fallback, extra capacity, broad implementation, or sensitive tasks.
145
- - For frontend, Codex should handle narrow and verifiable tasks; Frontend/Claude-Worker should own broad UI work.
146
- - OpenCode can audit, explore, and implement scoped tasks.
147
- - Do not send all work to Claude just because Claude is the orchestrator.
148
-
149
- ## Models
150
-
151
- The default config can specify models per agent:
153
+ ## 🎛️ Configuration
152
154
 
155
+ ### Agent Configuration (`orchestrator.config.json`)
153
156
  ```json
154
157
  {
158
+ "projectName": "My Project",
159
+ "workspaceLanguage": "en",
160
+ "maxConcurrent": 5,
161
+ "pollIntervalSeconds": 5, // Fallback polling (realtime uses fs.watch)
162
+ "taskTimeoutMinutes": 30,
163
+ "repos": {
164
+ "backend": "C:/code/my-backend",
165
+ "frontend": "C:/code/my-frontend"
166
+ },
167
+ "agentProfiles": {
168
+ "claude": { "enabled": true, "localConfigDir": ".claude" },
169
+ "codex": { "enabled": true, "localConfigDir": ".codex" },
170
+ "opencode": { "enabled": true, "localConfigDir": ".opencode" }
171
+ },
155
172
  "agents": {
156
- "Backend": { "cli": "claude", "model": "sonnet" },
157
- "Frontend": { "cli": "claude", "model": "sonnet" },
158
- "Codex": { "cli": "codex", "model": "gpt-5.5" },
159
- "OpenCode": { "cli": "opencode", "model": "opencode/glm-5-free" }
173
+ "Backend": { "cli": "claude", "defaultRepo": "backend", "model": "sonnet" },
174
+ "Frontend": { "cli": "claude", "defaultRepo": "frontend", "model": "sonnet" },
175
+ "Codex": { "cli": "codex", "defaultRepo": "backend", "model": "gpt-5.5" },
176
+ "OpenCode": { "cli": "opencode", "defaultRepo": "frontend", "model": "auto" }
160
177
  }
161
178
  }
162
179
  ```
163
180
 
164
- ## TUI Controls
165
-
166
- - `R`: reload `QUEUE.md`
167
- - `S`: start or resume
168
- - `P`: pause
169
- - `Q`: quit and stop agents
170
-
171
- ## Local Files
172
-
173
- - `ORCHESTRATOR.md`: core session rules
174
- - `CLAUDE.md`: Claude routing
175
- - `QUEUE.md`: active queue
176
- - `orchestrator.config.json`: repos, agents, models
177
- - `agents/*.md`: worker instructions
178
- - `.claude/skills/`: local skills
179
- - `openspec/`: durable change artifacts
180
- - `ENGRAM.md`: memory conventions
181
- - `docs/`: reusable documentation
182
-
183
- ## Safety
184
-
185
- - No worker commits or pushes by default.
186
- - No bypass or YOLO mode unless the user starts the TUI with that intent.
187
- - Claude remains the final reviewer before work is accepted.
188
- - Customer/product repos stay clean because the orchestrator workspace is separate.
181
+ ### Model Selection
182
+ - Use `"model": "auto"` to let the agent use your default configured model (e.g., Mistral Medium 3.5 128B for OpenCode).
183
+ - Specify a model explicitly (e.g., `"model": "gpt-5.5"`) to override.
184
+
185
+ ## 🔄 Workflow Example
186
+
187
+ 1. **User Request**: `"Add JWT authentication to the backend."`
188
+ 2. **Claude-Orchestrator**:
189
+ - Creates `TASK-001` (OpenCode): `"Analyze current auth system"`
190
+ - Waits for OpenCode's report in `progress/PROGRESS-OpenCode.md`
191
+ 3. **OpenCode**:
192
+ - Analyzes the codebase.
193
+ - Writes findings to `progress/PROGRESS-OpenCode.md` and `INBOX.md`.
194
+ 4. **Claude-Orchestrator**:
195
+ - Reads OpenCode's report.
196
+ - Creates `TASK-002` (Codex): `"Implement JWT auth"` (depends on TASK-001).
197
+ 5. **Codex/OpenCode**:
198
+ - Implements the feature (Codex first, OpenCode second if using Mistral Medium 3.5 128B).
199
+ - Reports completion in `progress/PROGRESS-*.md`.
200
+ 6. **TUI**:
201
+ - Shows real-time updates (task status, agent activity, costs).
202
+
203
+ ## 📊 Supported Agents & Models
204
+
205
+ | Agent | CLI | Default Model | Implementation? | Notes |
206
+ |-------|-----|----------------|----------------|-------|
207
+ | Backend | `claude` | sonnet | ✅ Yes | Claude-Worker for backend tasks |
208
+ | Frontend | `claude` | sonnet | ✅ Yes | Claude-Worker for frontend tasks |
209
+ | Codex | `codex` | gpt-5.5 | ✅ Yes | Primary implementation |
210
+ | OpenCode | `opencode` | auto | ✅ **Yes** (with Mistral Medium 3.5 128B) | Secondary implementation |
211
+ | Gemini | `gemini` | auto | ❌ No | Audits/reviews only |
212
+ | Cursor | `cursor` | auto | ❌ No | Bulk edits only |
213
+ | Abacus | `abacusai` | auto | ❌ No | Small focused tasks |
214
+
215
+ ## 🛡️ Safety & Best Practices
216
+
217
+ - **No auto-commits**: Agents never run `git commit` or `git push`.
218
+ - **No YOLO by default**: Safe permissions mode is enabled unless `--yolo` is used.
219
+ - **Claude as reviewer**: Claude-Orchestrator validates all work before user approval.
220
+ - **Clean repos**: Project files stay untouched; orchestrator files live in the sibling workspace.
221
+ - **Fallback safety**: Tasks are automatically reassigned if an agent fails.
222
+
223
+ ## 📚 Documentation
224
+
225
+ - **Core Rules**: See `ORCHESTRATOR.md` in the generated workspace.
226
+ - **Agent Routing**: See `CLAUDE.md`.
227
+ - **Architecture**: See `docs/architecture.md`.
228
+ - **OpenSpec**: See `openspec/FLOW.md`.
229
+
230
+ ## 🤝 Acknowledgements
231
+
232
+ Inspired by [Orquestador-AI](https://github.com/ariellontero/Orquestador-AI) by Ariel Lontero (MIT).
233
+ Built from scratch with a modern architecture: **Ink TUI + React, npm package, real-time fs.watch, multi-language templates, and multi-agent coordination**.
@@ -1,42 +1,86 @@
1
- # OpenCode Agent
2
-
3
- ## Role
4
-
5
- OpenCode is an **analysis and exploration only** agent. It reads code, generates structured reports, and delivers findings to `INBOX.md` so the Orchestrator can decide next steps. It does not implement code changes.
6
-
7
- ## Scope
8
-
9
- - Codebase audits
10
- - Flow and architecture exploration
11
- - Context reading before implementation
12
- - Read-only smoke tests (no modifications)
13
- - Structured Markdown reports
14
- - Identifying dead code, missing dependencies, inconsistencies
15
-
16
- ## Out of Scope
17
-
18
- - Modifying project files
19
- - Implementing features or refactors
20
- - Writing new tests
21
- - Creating or deleting files
22
-
23
- ## Rules
24
-
25
- 1. Do not commit or push.
26
- 2. Do not modify real project files.
27
- 3. Always deliver findings in Markdown tables when listing multiple items.
28
- 4. Write the completion report in `progress/PROGRESS-OpenCode.md`.
29
- 5. If the TASK requests implementation, report in TASK_REPORT: `status: blocked`, `issues: "OpenCode is analysis-only — reassign to Codex or Claude-Worker"`
30
-
31
- ## Completion Report (REQUIRED)
32
-
33
- ```
34
- TASK_REPORT
35
- status: completed | failed | blocked
36
- files_modified: none
37
- files_created: none
38
- files_deleted: none
39
- summary: 1-3 sentences describing findings
40
- issues: problems or "none"
41
- TASK_REPORT_END
42
- ```
1
+ # OpenCode Agent
2
+
3
+ ## Role
4
+
5
+ OpenCode is a **multi-purpose agent** that can perform **analysis, exploration AND CODE IMPLEMENTATION**.
6
+ When using powerful models like **Mistral Medium 3.5 128B**, OpenCode is capable of:
7
+ - Analyzing existing code
8
+ - Implementing new features
9
+ - Fixing complex bugs
10
+ - Refactoring code
11
+
12
+ ## Scope
13
+
14
+ ### Analysis (Always available)
15
+ - Codebase audits
16
+ - Flow and architecture exploration
17
+ - Context reading before implementation
18
+ - Read-only smoke tests
19
+ - Structured Markdown reports
20
+ - Identifying dead code, missing dependencies, inconsistencies
21
+
22
+ ### Implementation (With advanced models like Mistral Medium 3.5 128B)
23
+ - Implementing new features
24
+ - Modifying project files
25
+ - Writing new tests
26
+ - Refactoring code
27
+ - Fixing bugs
28
+
29
+ ## General Rules
30
+
31
+ 1. Do not commit or push.
32
+ 2. If the task is **analysis**: deliver findings in Markdown tables and write the report in `progress/PROGRESS-OpenCode.md`
33
+ 3. If the task is **implementation**: modify the necessary files and document the changes
34
+ 4. Always deliver a TASK_REPORT at the end
35
+
36
+ ## Assignment Priority
37
+
38
+ - **First choice for implementation**: Codex (when available)
39
+ - **Second choice for implementation**: OpenCode (with Mistral Medium 3.5 128B or equivalent models)
40
+ - **Third choice**: Claude-Worker (Backend/Frontend)
41
+
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
+ ## Completion Report (REQUIRED)
54
+
55
+ ### For analysis tasks:
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 sentences describing findings
63
+ issues: problems or "none"
64
+ TASK_REPORT_END
65
+ ```
66
+
67
+ ### For implementation tasks:
68
+ ```
69
+ TASK_REPORT
70
+ status: completed | failed | blocked
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 sentences describing the changes made
75
+ issues: problems or "none"
76
+ TASK_REPORT_END
77
+ ```
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
+ ```
@@ -1,20 +1,20 @@
1
- #!/usr/bin/env node
2
- 'use strict';
3
- // Lee NOTIFY.md del workspace y vuelca el contenido a stdout para que
4
- // el hook de Claude Code lo inyecte en la sesión interactiva.
5
- // El archivo se elimina después de leerse para no repetir la notificación.
6
- const fs = require('fs');
7
- const path = require('path');
8
-
9
- const notifyFile = path.join(process.cwd(), 'NOTIFY.md');
10
- if (!fs.existsSync(notifyFile)) process.exit(0);
11
-
12
- const content = fs.readFileSync(notifyFile, 'utf8').trim();
13
- if (!content) {
14
- try { fs.unlinkSync(notifyFile); } catch {}
15
- process.exit(0);
16
- }
17
-
18
- try { fs.unlinkSync(notifyFile); } catch {}
19
-
20
- process.stdout.write('\n' + content + '\n');
1
+ #!/usr/bin/env node
2
+ 'use strict';
3
+ // Lee NOTIFY.md del workspace y vuelca el contenido a stdout para que
4
+ // el hook de Claude Code lo inyecte en la sesión interactiva.
5
+ // El archivo se elimina después de leerse para no repetir la notificación.
6
+ const fs = require('fs');
7
+ const path = require('path');
8
+
9
+ const notifyFile = path.join(process.cwd(), 'NOTIFY.md');
10
+ if (!fs.existsSync(notifyFile)) process.exit(0);
11
+
12
+ const content = fs.readFileSync(notifyFile, 'utf8').trim();
13
+ if (!content) {
14
+ try { fs.unlinkSync(notifyFile); } catch {}
15
+ process.exit(0);
16
+ }
17
+
18
+ try { fs.unlinkSync(notifyFile); } catch {}
19
+
20
+ process.stdout.write('\n' + content + '\n');