agent-orchestration 0.5.0 → 0.6.0
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/.cursor/rules/orchestrator-auto.mdc +2 -0
- package/.cursor/rules/orchestrator-main.mdc +37 -7
- package/.cursor/rules/orchestrator-sub.mdc +89 -27
- package/README.md +278 -66
- package/dist/bin/cli.d.ts +1 -0
- package/dist/bin/cli.d.ts.map +1 -1
- package/dist/bin/cli.js +54 -157
- package/dist/bin/cli.js.map +1 -1
- package/dist/bin/cursorCommands.d.ts +3 -0
- package/dist/bin/cursorCommands.d.ts.map +1 -0
- package/dist/bin/cursorCommands.js +330 -0
- package/dist/bin/cursorCommands.js.map +1 -0
- package/dist/database.d.ts +32 -1
- package/dist/database.d.ts.map +1 -1
- package/dist/database.js +105 -5
- package/dist/database.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -2
- package/dist/index.js.map +1 -1
- package/dist/models.d.ts +59 -0
- package/dist/models.d.ts.map +1 -1
- package/dist/models.js +69 -0
- package/dist/models.js.map +1 -1
- package/dist/providers/cursor.d.ts +14 -0
- package/dist/providers/cursor.d.ts.map +1 -0
- package/dist/providers/cursor.js +203 -0
- package/dist/providers/cursor.js.map +1 -0
- package/dist/providers/types.d.ts +60 -0
- package/dist/providers/types.d.ts.map +1 -0
- package/dist/providers/types.js +2 -0
- package/dist/providers/types.js.map +1 -0
- package/dist/tools/agent.d.ts.map +1 -1
- package/dist/tools/agent.js +5 -0
- package/dist/tools/agent.js.map +1 -1
- package/dist/tools/coordination.d.ts.map +1 -1
- package/dist/tools/coordination.js +47 -0
- package/dist/tools/coordination.js.map +1 -1
- package/dist/tools/index.d.ts +3 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +3 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/memory.d.ts.map +1 -1
- package/dist/tools/memory.js +6 -1
- package/dist/tools/memory.js.map +1 -1
- package/dist/tools/provider.d.ts +3 -0
- package/dist/tools/provider.d.ts.map +1 -0
- package/dist/tools/provider.js +403 -0
- package/dist/tools/provider.js.map +1 -0
- package/dist/tools/proxy.d.ts +6 -0
- package/dist/tools/proxy.d.ts.map +1 -0
- package/dist/tools/proxy.js +107 -0
- package/dist/tools/proxy.js.map +1 -0
- package/dist/tools/research.d.ts +9 -0
- package/dist/tools/research.d.ts.map +1 -0
- package/dist/tools/research.js +182 -0
- package/dist/tools/research.js.map +1 -0
- package/dist/tools/task.d.ts.map +1 -1
- package/dist/tools/task.js +98 -9
- package/dist/tools/task.js.map +1 -1
- package/dist/tools/utility.d.ts.map +1 -1
- package/dist/tools/utility.js +85 -16
- package/dist/tools/utility.js.map +1 -1
- package/dist/utils/autoDocumentation.d.ts +8 -0
- package/dist/utils/autoDocumentation.d.ts.map +1 -0
- package/dist/utils/autoDocumentation.js +140 -0
- package/dist/utils/autoDocumentation.js.map +1 -0
- package/dist/utils/autoDocumentation.test.d.ts +2 -0
- package/dist/utils/autoDocumentation.test.d.ts.map +1 -0
- package/dist/utils/autoDocumentation.test.js +47 -0
- package/dist/utils/autoDocumentation.test.js.map +1 -0
- package/dist/utils/contextSync.d.ts.map +1 -1
- package/dist/utils/contextSync.js +21 -1
- package/dist/utils/contextSync.js.map +1 -1
- package/dist/utils/cursorCli.d.ts +46 -0
- package/dist/utils/cursorCli.d.ts.map +1 -0
- package/dist/utils/cursorCli.js +176 -0
- package/dist/utils/cursorCli.js.map +1 -0
- package/dist/utils/cursorCli.test.d.ts +2 -0
- package/dist/utils/cursorCli.test.d.ts.map +1 -0
- package/dist/utils/cursorCli.test.js +134 -0
- package/dist/utils/cursorCli.test.js.map +1 -0
- package/dist/utils/delegatedTaskRuntime.d.ts +45 -0
- package/dist/utils/delegatedTaskRuntime.d.ts.map +1 -0
- package/dist/utils/delegatedTaskRuntime.js +147 -0
- package/dist/utils/delegatedTaskRuntime.js.map +1 -0
- package/dist/utils/delegationKnowledge.d.ts +51 -0
- package/dist/utils/delegationKnowledge.d.ts.map +1 -0
- package/dist/utils/delegationKnowledge.js +197 -0
- package/dist/utils/delegationKnowledge.js.map +1 -0
- package/dist/utils/delegationRecovery.d.ts +17 -0
- package/dist/utils/delegationRecovery.d.ts.map +1 -0
- package/dist/utils/delegationRecovery.js +63 -0
- package/dist/utils/delegationRecovery.js.map +1 -0
- package/dist/utils/delegationRecovery.test.d.ts +2 -0
- package/dist/utils/delegationRecovery.test.d.ts.map +1 -0
- package/dist/utils/delegationRecovery.test.js +42 -0
- package/dist/utils/delegationRecovery.test.js.map +1 -0
- package/dist/utils/orchestratorConfig.d.ts +19 -0
- package/dist/utils/orchestratorConfig.d.ts.map +1 -0
- package/dist/utils/orchestratorConfig.js +38 -0
- package/dist/utils/orchestratorConfig.js.map +1 -0
- package/dist/utils/subprocess.d.ts +27 -0
- package/dist/utils/subprocess.d.ts.map +1 -0
- package/dist/utils/subprocess.js +84 -0
- package/dist/utils/subprocess.js.map +1 -0
- package/package.json +17 -5
- package/templates/AGENTS.md +164 -0
- package/activeContext.md +0 -37
- package/src/bin/cli.ts +0 -430
- package/src/database.ts +0 -764
- package/src/index.ts +0 -71
- package/src/models.ts +0 -226
- package/src/tools/agent.ts +0 -241
- package/src/tools/coordination.ts +0 -152
- package/src/tools/index.ts +0 -9
- package/src/tools/memory.ts +0 -150
- package/src/tools/task.ts +0 -334
- package/src/tools/utility.ts +0 -202
- package/src/utils/contextSync.ts +0 -144
- package/tsconfig.json +0 -20
package/README.md
CHANGED
|
@@ -24,6 +24,7 @@ This MCP server provides:
|
|
|
24
24
|
- **Task Queue** - Turn-based task execution with dependencies
|
|
25
25
|
- **Agent Discovery** - Agents can see who else is working on the project
|
|
26
26
|
- **Resource Locking** - Prevent concurrent access to files or resources
|
|
27
|
+
- **Research-First Workflow** - Ensures agents understand context before coding
|
|
27
28
|
- **Coordination Status** - Real-time visibility into the orchestration state
|
|
28
29
|
- **Auto Context Sync** - Automatically updates `activeContext.md` for easy reference
|
|
29
30
|
|
|
@@ -41,28 +42,10 @@ Works with any AI coding agent that supports MCP or [AGENTS.md](https://agents.m
|
|
|
41
42
|
- **Devin**
|
|
42
43
|
- And many more!
|
|
43
44
|
|
|
44
|
-
## Installation
|
|
45
|
-
|
|
46
|
-
### Prerequisites
|
|
47
|
-
|
|
48
|
-
- Node.js 18 or higher
|
|
49
|
-
- npm
|
|
50
|
-
|
|
51
|
-
### Install
|
|
52
|
-
|
|
53
|
-
```bash
|
|
54
|
-
# Clone or navigate to the project
|
|
55
|
-
cd agent-orchestration
|
|
56
|
-
|
|
57
|
-
# Install dependencies
|
|
58
|
-
npm install
|
|
59
|
-
|
|
60
|
-
# Build the project
|
|
61
|
-
npm run build
|
|
62
|
-
```
|
|
63
|
-
|
|
64
45
|
## Quick Start
|
|
65
46
|
|
|
47
|
+
No installation required! Just use `npx`:
|
|
48
|
+
|
|
66
49
|
### For Any IDE/CLI (AGENTS.md)
|
|
67
50
|
|
|
68
51
|
```bash
|
|
@@ -93,12 +76,19 @@ This copies `.cursor/rules/` with Cursor-specific rules.
|
|
|
93
76
|
npx agent-orchestration init # Create AGENTS.md (works with any AI agent)
|
|
94
77
|
npx agent-orchestration init-cursor # Setup for Cursor IDE (.cursor/rules/)
|
|
95
78
|
npx agent-orchestration serve # Run the MCP server
|
|
79
|
+
npx agent-orchestration doc --task <task-id>
|
|
80
|
+
npx agent-orchestration cursor check # Verify Cursor CLI support
|
|
81
|
+
npx agent-orchestration cursor delegate --task <task-id>
|
|
82
|
+
npx agent-orchestration cursor status --task <task-id>
|
|
83
|
+
npx agent-orchestration cursor resume --task <task-id>
|
|
84
|
+
npx agent-orchestration cursor sync --task <task-id>
|
|
85
|
+
npx agent-orchestration cursor recover --task <task-id>
|
|
86
|
+
npx agent-orchestration cursor handoff --task <task-id> --summary "..."
|
|
87
|
+
npx agent-orchestration cursor list # Show delegated Cursor tasks
|
|
96
88
|
npx agent-orchestration help # Show help
|
|
97
89
|
```
|
|
98
90
|
|
|
99
|
-
##
|
|
100
|
-
|
|
101
|
-
### 1. Configure Your IDE
|
|
91
|
+
## MCP Server Setup
|
|
102
92
|
|
|
103
93
|
Add to your MCP configuration (e.g., `~/.cursor/mcp.json` for Cursor):
|
|
104
94
|
|
|
@@ -118,7 +108,7 @@ Add to your MCP configuration (e.g., `~/.cursor/mcp.json` for Cursor):
|
|
|
118
108
|
|
|
119
109
|
The server automatically uses the current working directory as the project root.
|
|
120
110
|
|
|
121
|
-
###
|
|
111
|
+
### Start Your Session
|
|
122
112
|
|
|
123
113
|
Use the `bootstrap` tool to start:
|
|
124
114
|
|
|
@@ -126,6 +116,8 @@ Use the `bootstrap` tool to start:
|
|
|
126
116
|
bootstrap
|
|
127
117
|
```
|
|
128
118
|
|
|
119
|
+
**Note**: `bootstrap` is an MCP tool invocation inside your agent/IDE, not a terminal command.
|
|
120
|
+
|
|
129
121
|
This registers you, shows current focus, pending tasks, and recent decisions.
|
|
130
122
|
|
|
131
123
|
## Available Tools
|
|
@@ -160,13 +152,22 @@ This registers you, shows current focus, pending tasks, and recent decisions.
|
|
|
160
152
|
|
|
161
153
|
| Tool | Description |
|
|
162
154
|
|------|-------------|
|
|
163
|
-
| `task_create` | Create a new task
|
|
164
|
-
| `task_claim` | Claim a task to work on |
|
|
155
|
+
| `task_create` | Create a new task (auto-detects complexity) |
|
|
156
|
+
| `task_claim` | Claim a task to work on (requires research for non-trivial) |
|
|
165
157
|
| `task_update` | Update task status or progress |
|
|
166
158
|
| `task_complete` | Mark a task as completed |
|
|
167
159
|
| `task_list` | List tasks with filters |
|
|
168
160
|
| `is_my_turn` | Check if work is available for you |
|
|
169
161
|
|
|
162
|
+
### Research Workflow
|
|
163
|
+
|
|
164
|
+
| Tool | Description |
|
|
165
|
+
|------|-------------|
|
|
166
|
+
| `research_ready` | Mark research complete for a task |
|
|
167
|
+
| `research_status` | Check research progress for a task |
|
|
168
|
+
| `research_query` | Search past research findings |
|
|
169
|
+
| `research_checklist` | View research requirements by complexity |
|
|
170
|
+
|
|
170
171
|
### Coordination
|
|
171
172
|
|
|
172
173
|
| Tool | Description |
|
|
@@ -176,35 +177,166 @@ This registers you, shows current focus, pending tasks, and recent decisions.
|
|
|
176
177
|
| `lock_check` | Check if a resource is locked |
|
|
177
178
|
| `coordination_status` | Get overall system status |
|
|
178
179
|
|
|
179
|
-
|
|
180
|
+
### Cursor Provider
|
|
181
|
+
|
|
182
|
+
| Tool | Description |
|
|
183
|
+
|------|-------------|
|
|
184
|
+
| `cursor_check` | Verify Cursor CLI availability and supported features |
|
|
185
|
+
| `cursor_delegate_task` | Launch a Cursor CLI run for a task and persist session metadata |
|
|
186
|
+
| `cursor_task_status` | Inspect delegated task health, recovery state, and retryability |
|
|
187
|
+
| `cursor_resume_task` | Return the resume command for a delegated task |
|
|
188
|
+
| `cursor_sync_task` | Refresh delegated task state and sync findings back into shared memory |
|
|
189
|
+
| `cursor_recover_task` | Relaunch a failed or stale delegated task with current shared context |
|
|
190
|
+
| `cursor_handoff_task` | Record a structured handoff for the next agent |
|
|
191
|
+
| `cursor_list_delegations` | Show delegated Cursor tasks and their last known status |
|
|
192
|
+
| `task_generate_doc` | Generate Markdown documentation for a task from current orchestration state |
|
|
193
|
+
|
|
194
|
+
## Cursor-Native Delegation
|
|
195
|
+
|
|
196
|
+
You can now delegate orchestrator tasks directly to Cursor CLI instead of manually creating a plan, opening a new tab, and pasting context yourself.
|
|
197
|
+
|
|
198
|
+
### CLI Workflow
|
|
199
|
+
|
|
200
|
+
```bash
|
|
201
|
+
# Verify Cursor CLI is available
|
|
202
|
+
npx agent-orchestration cursor check
|
|
203
|
+
|
|
204
|
+
# Delegate a task to Cursor
|
|
205
|
+
npx agent-orchestration cursor delegate --task <task-id> --mode agent
|
|
206
|
+
|
|
207
|
+
# Inspect health and recovery hints
|
|
208
|
+
npx agent-orchestration cursor status --task <task-id>
|
|
209
|
+
|
|
210
|
+
# Resume the delegated session later
|
|
211
|
+
npx agent-orchestration cursor resume --task <task-id>
|
|
212
|
+
|
|
213
|
+
# Sync the latest delegated knowledge back into shared memory
|
|
214
|
+
npx agent-orchestration cursor sync --task <task-id>
|
|
215
|
+
|
|
216
|
+
# Recover a stale or failed delegated run
|
|
217
|
+
npx agent-orchestration cursor recover --task <task-id>
|
|
218
|
+
|
|
219
|
+
# Record a structured handoff for another agent
|
|
220
|
+
npx agent-orchestration cursor handoff --task <task-id> --summary "Current implementation is complete; QA and docs remain."
|
|
180
221
|
|
|
222
|
+
# Generate task documentation on demand
|
|
223
|
+
npx agent-orchestration doc --task <task-id>
|
|
224
|
+
|
|
225
|
+
# Or launch the resume session immediately
|
|
226
|
+
npx agent-orchestration cursor resume --task <task-id> --exec
|
|
181
227
|
```
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
228
|
+
|
|
229
|
+
### MCP Workflow
|
|
230
|
+
|
|
231
|
+
```text
|
|
232
|
+
cursor_delegate_task:
|
|
233
|
+
task_id: "<task-id>"
|
|
234
|
+
mode: "agent"
|
|
235
|
+
use_worktree: true
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
Delegations store provider metadata directly on the task, including:
|
|
239
|
+
|
|
240
|
+
- Cursor chat/session ID
|
|
241
|
+
- provider status
|
|
242
|
+
- worktree usage
|
|
243
|
+
- launch command
|
|
244
|
+
- run log path
|
|
245
|
+
|
|
246
|
+
Moderate and complex tasks default to Cursor worktrees for safer parallel execution.
|
|
247
|
+
|
|
248
|
+
### Delegation Knowledge Loop
|
|
249
|
+
|
|
250
|
+
Delegated Cursor tasks now write structured shared memory so the next agent can resume with live context instead of only the original launch prompt.
|
|
251
|
+
|
|
252
|
+
Namespaces:
|
|
253
|
+
|
|
254
|
+
- `delegation:<task_id>:brief`
|
|
255
|
+
- `delegation:<task_id>:updates`
|
|
256
|
+
- `delegation:<task_id>:findings`
|
|
257
|
+
- `delegation:<task_id>:decisions`
|
|
258
|
+
- `delegation:<task_id>:handoff`
|
|
259
|
+
|
|
260
|
+
Recommended flow:
|
|
261
|
+
|
|
262
|
+
1. `cursor_delegate_task` or `agent-orchestration cursor delegate`
|
|
263
|
+
2. `cursor_task_status` to inspect health and recovery hints
|
|
264
|
+
3. `cursor_sync_task` or `agent-orchestration cursor sync`
|
|
265
|
+
4. `cursor_recover_task` when the delegated process is stale or failed
|
|
266
|
+
5. `cursor_handoff_task` when a human or another agent needs to pick up the work
|
|
267
|
+
6. `cursor_resume_task` to rebuild a resume prompt from the latest shared knowledge
|
|
268
|
+
|
|
269
|
+
### Graceful Recovery
|
|
270
|
+
|
|
271
|
+
Delegated Cursor runs now track recovery metadata directly on the task:
|
|
272
|
+
|
|
273
|
+
- recovery state (`healthy`, `stale`, `failed`, `completed`, `unknown`)
|
|
274
|
+
- recoverability
|
|
275
|
+
- last error / exit code
|
|
276
|
+
- retry count
|
|
277
|
+
- recovery hints
|
|
278
|
+
|
|
279
|
+
This enables:
|
|
280
|
+
|
|
281
|
+
- stale process detection when no clean exit is captured
|
|
282
|
+
- structured recovery hints in MCP and CLI
|
|
283
|
+
- safe relaunch via `cursor_recover_task`
|
|
284
|
+
- preservation of knowledge and handoff state across retries
|
|
285
|
+
|
|
286
|
+
### Auto Documentation
|
|
287
|
+
|
|
288
|
+
Task documentation is now generated automatically into `.agent-orchestration/docs/` from:
|
|
289
|
+
|
|
290
|
+
- task metadata and output
|
|
291
|
+
- research namespaces
|
|
292
|
+
- delegation knowledge namespaces
|
|
293
|
+
- provider health and recovery state
|
|
294
|
+
- recent task-specific orchestration events
|
|
295
|
+
|
|
296
|
+
Generated files:
|
|
297
|
+
|
|
298
|
+
- `.agent-orchestration/docs/tasks/<task-id>.md`
|
|
299
|
+
- `.agent-orchestration/docs/README.md`
|
|
300
|
+
|
|
301
|
+
Documentation refreshes automatically during:
|
|
302
|
+
|
|
303
|
+
- delegated task launch
|
|
304
|
+
- delegated sync
|
|
305
|
+
- delegated handoff
|
|
306
|
+
- delegated recovery
|
|
307
|
+
- task completion
|
|
308
|
+
|
|
309
|
+
You can also regenerate docs manually with:
|
|
310
|
+
|
|
311
|
+
```bash
|
|
312
|
+
npx agent-orchestration doc --task <task-id>
|
|
313
|
+
```
|
|
314
|
+
|
|
315
|
+
## Research-First Workflow
|
|
316
|
+
|
|
317
|
+
Tasks are automatically assigned a complexity level that determines research requirements:
|
|
318
|
+
|
|
319
|
+
| Complexity | Examples | Research Required |
|
|
320
|
+
|------------|----------|-------------------|
|
|
321
|
+
| `trivial` | Typo fix, config change | None |
|
|
322
|
+
| `simple` | Bug fix, small refactor | context, files |
|
|
323
|
+
| `moderate` | New endpoint, component | + requirements |
|
|
324
|
+
| `complex` | New feature, migration | + design |
|
|
325
|
+
|
|
326
|
+
### How It Works
|
|
327
|
+
|
|
328
|
+
1. **Task Creation** - Complexity is auto-detected from keywords (or manually set)
|
|
329
|
+
2. **Research Phase** - Agent documents findings in structured namespaces
|
|
330
|
+
3. **Research Gate** - `task_claim` is blocked until research is complete
|
|
331
|
+
4. **Implementation** - Agent proceeds with full context
|
|
332
|
+
|
|
333
|
+
### Research Namespaces
|
|
334
|
+
|
|
335
|
+
```
|
|
336
|
+
research:<task_id>:context # Understanding of codebase
|
|
337
|
+
research:<task_id>:files # Affected files identified
|
|
338
|
+
research:<task_id>:requirements # Specs and edge cases
|
|
339
|
+
research:<task_id>:design # Architecture decisions
|
|
208
340
|
```
|
|
209
341
|
|
|
210
342
|
## Recommended Workflow
|
|
@@ -214,7 +346,7 @@ This registers you, shows current focus, pending tasks, and recent decisions.
|
|
|
214
346
|
```
|
|
215
347
|
1. bootstrap # Start session
|
|
216
348
|
2. memory_set current_focus "..." # Set project focus
|
|
217
|
-
3. task_create "Feature X" # Create tasks
|
|
349
|
+
3. task_create "Feature X" # Create tasks (complexity auto-detected)
|
|
218
350
|
4. task_create "Feature Y"
|
|
219
351
|
5. coordination_status # Monitor progress
|
|
220
352
|
```
|
|
@@ -222,11 +354,28 @@ This registers you, shows current focus, pending tasks, and recent decisions.
|
|
|
222
354
|
### Sub-Agents (Spawned for Specific Work)
|
|
223
355
|
|
|
224
356
|
```
|
|
225
|
-
1. claim_todo "Feature X" # Register +
|
|
226
|
-
|
|
357
|
+
1. claim_todo "Feature X" # Register + see research checklist
|
|
358
|
+
|
|
359
|
+
# Research Phase (for non-trivial tasks)
|
|
360
|
+
2. memory_set key="understanding" namespace="research:<task_id>:context" value="..."
|
|
361
|
+
3. memory_set key="files" namespace="research:<task_id>:files" value="..."
|
|
362
|
+
4. research_ready task_id="<task_id>" # Validate research complete
|
|
363
|
+
|
|
364
|
+
# Implementation Phase
|
|
365
|
+
5. task_claim task_id="<task_id>" # Now allowed to start
|
|
366
|
+
6. lock_acquire "src/feature.ts" # Lock files before editing
|
|
367
|
+
7. [do the work]
|
|
368
|
+
8. task_complete <task_id> "Done" # Complete the task
|
|
369
|
+
9. agent_unregister # Clean up
|
|
370
|
+
```
|
|
371
|
+
|
|
372
|
+
### Trivial Tasks (No Research)
|
|
373
|
+
|
|
374
|
+
```
|
|
375
|
+
1. claim_todo "Fix typo in README" # Complexity: trivial
|
|
376
|
+
2. task_claim task_id="<task_id>" # Immediately allowed
|
|
227
377
|
3. [do the work]
|
|
228
|
-
4. task_complete <task_id> "Done"
|
|
229
|
-
5. agent_unregister # Clean up
|
|
378
|
+
4. task_complete <task_id> "Done"
|
|
230
379
|
```
|
|
231
380
|
|
|
232
381
|
## Memory Namespaces
|
|
@@ -252,11 +401,62 @@ Use these namespaces for organization:
|
|
|
252
401
|
| `MCP_ORCH_AGENT_ROLE` | Default agent role | `sub` |
|
|
253
402
|
| `MCP_ORCH_CAPABILITIES` | Comma-separated capabilities | `code` |
|
|
254
403
|
|
|
404
|
+
### `agent-orchestration.config.json`
|
|
405
|
+
|
|
406
|
+
Optional project-level config for Cursor orchestration:
|
|
407
|
+
|
|
408
|
+
```json
|
|
409
|
+
{
|
|
410
|
+
"cursor": {
|
|
411
|
+
"binary": "agent",
|
|
412
|
+
"defaultMode": "agent",
|
|
413
|
+
"defaultForce": true,
|
|
414
|
+
"autoApproveMcps": true,
|
|
415
|
+
"trustWorkspace": true,
|
|
416
|
+
"useCreateChat": true,
|
|
417
|
+
"logDir": ".agent-orchestration/providers/cursor",
|
|
418
|
+
"preferWorktreeFor": ["moderate", "complex"],
|
|
419
|
+
"recoveryStaleAfterMs": 600000
|
|
420
|
+
}
|
|
421
|
+
}
|
|
422
|
+
```
|
|
423
|
+
|
|
424
|
+
## Architecture
|
|
425
|
+
|
|
426
|
+
```
|
|
427
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
428
|
+
│ IDE / CLI Tool │
|
|
429
|
+
├─────────────┬─────────────┬─────────────┬─────────────┬─────┤
|
|
430
|
+
│ Main Agent │ Sub-Agent 1 │ Sub-Agent 2 │ Sub-Agent 3 │ ... │
|
|
431
|
+
└──────┬──────┴──────┬──────┴──────┬──────┴──────┬──────┴─────┘
|
|
432
|
+
│ │ │ │
|
|
433
|
+
└─────────────┴──────┬──────┴─────────────┘
|
|
434
|
+
│
|
|
435
|
+
┌───────▼───────┐
|
|
436
|
+
│ MCP Server │
|
|
437
|
+
│ (TypeScript) │
|
|
438
|
+
└───────┬───────┘
|
|
439
|
+
│
|
|
440
|
+
┌─────────────┼─────────────┐
|
|
441
|
+
│ │ │
|
|
442
|
+
┌───────▼───┐ ┌───────▼───┐ ┌───────▼───┐
|
|
443
|
+
│ Agents │ │ Tasks │ │ Memory │
|
|
444
|
+
│ Registry │ │ Queue │ │ Store │
|
|
445
|
+
└───────────┘ └───────────┘ └───────────┘
|
|
446
|
+
│ │ │
|
|
447
|
+
└─────────────┼─────────────┘
|
|
448
|
+
│
|
|
449
|
+
┌───────▼───────┐
|
|
450
|
+
│ SQLite │
|
|
451
|
+
│ (per-project)│
|
|
452
|
+
└───────────────┘
|
|
453
|
+
```
|
|
454
|
+
|
|
255
455
|
## AGENTS.md
|
|
256
456
|
|
|
257
457
|
This project follows the [AGENTS.md](https://agents.md/) format - a simple, open format for guiding AI coding agents used by over 60k open-source projects.
|
|
258
458
|
|
|
259
|
-
When you run `agent-orchestration init`, it creates an `AGENTS.md` file that works with:
|
|
459
|
+
When you run `npx agent-orchestration init`, it creates an `AGENTS.md` file that works with:
|
|
260
460
|
- OpenAI Codex
|
|
261
461
|
- Google Jules
|
|
262
462
|
- Cursor
|
|
@@ -270,8 +470,7 @@ When you run `agent-orchestration init`, it creates an `AGENTS.md` file that wor
|
|
|
270
470
|
### Server won't start
|
|
271
471
|
|
|
272
472
|
1. Make sure Node.js 18+ is installed: `node --version`
|
|
273
|
-
2.
|
|
274
|
-
3. Check the path in your MCP config is correct
|
|
473
|
+
2. Check the path in your MCP config is correct
|
|
275
474
|
|
|
276
475
|
### Database errors
|
|
277
476
|
|
|
@@ -291,11 +490,24 @@ It will be recreated on next server start.
|
|
|
291
490
|
|
|
292
491
|
## Development
|
|
293
492
|
|
|
493
|
+
For contributors and local development:
|
|
494
|
+
|
|
495
|
+
### Prerequisites
|
|
496
|
+
|
|
497
|
+
- Node.js 18 or higher
|
|
498
|
+
- npm
|
|
499
|
+
|
|
500
|
+
### Setup
|
|
501
|
+
|
|
294
502
|
```bash
|
|
503
|
+
# Clone the repository
|
|
504
|
+
git clone https://github.com/madebyaris/agent-orchestration.git
|
|
505
|
+
cd agent-orchestration
|
|
506
|
+
|
|
295
507
|
# Install dependencies
|
|
296
508
|
npm install
|
|
297
509
|
|
|
298
|
-
# Build
|
|
510
|
+
# Build the project
|
|
299
511
|
npm run build
|
|
300
512
|
|
|
301
513
|
# Watch mode (rebuild on changes)
|
|
@@ -309,11 +521,11 @@ npm run clean && npm run build
|
|
|
309
521
|
|
|
310
522
|
We're actively developing new features. Here's what's coming:
|
|
311
523
|
|
|
524
|
+
- [x] **Research-First Workflow** - Agents research and prepare before coding (DONE in v0.5.2, carried forward in v0.6.0)
|
|
312
525
|
- [ ] **External Memory Integration** - Integration with external memory providers like [Mem0](https://mem0.ai/), [Byteover](https://www.byterover.dev/), and our own memory solution
|
|
313
|
-
- [
|
|
314
|
-
- [
|
|
315
|
-
- [
|
|
316
|
-
- [ ] **Auto Documentation** - Automatically generate documentation from and for each sub-agent + main agent interactions
|
|
526
|
+
- [x] **Enhanced Sub-Agent Knowledge** - Delegated Cursor tasks now persist structured briefs, updates, findings, decisions, and handoff state in shared memory
|
|
527
|
+
- [x] **Graceful Error Handling** - Delegated Cursor tasks now track health, stale/failed recovery state, retry counts, and structured recovery hints
|
|
528
|
+
- [x] **Auto Documentation** - Task docs are now generated automatically from orchestration state, delegation memory, provider recovery metadata, and task events
|
|
317
529
|
|
|
318
530
|
Have a feature request? [Open an issue](https://github.com/madebyaris/agent-orchestration/issues)!
|
|
319
531
|
|
package/dist/bin/cli.d.ts
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
* init - Creates AGENTS.md for cross-IDE/CLI compatibility
|
|
7
7
|
* init-cursor - Copies .cursor/rules/ for Cursor IDE
|
|
8
8
|
* serve - Run the MCP server (used by IDEs via npx)
|
|
9
|
+
* cursor - Cursor-native orchestration helpers
|
|
9
10
|
*/
|
|
10
11
|
export {};
|
|
11
12
|
//# sourceMappingURL=cli.d.ts.map
|
package/dist/bin/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/bin/cli.ts"],"names":[],"mappings":";AACA
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/bin/cli.ts"],"names":[],"mappings":";AACA;;;;;;;;GAQG"}
|