conductor-oss-native-linux-x64 0.6.3 → 0.7.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/README.md +156 -248
- package/bin/conductor +0 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -2,73 +2,139 @@
|
|
|
2
2
|
|
|
3
3
|
# Conductor OSS
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
### AI agents that write code while you sleep.
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
**One command. Local-first. No cloud relay.**
|
|
8
8
|
|
|
9
9
|
[](https://www.npmjs.com/package/conductor-oss)
|
|
10
10
|
[](https://github.com/charannyk06/conductor-oss/actions/workflows/ci.yml)
|
|
11
11
|
[](LICENSE)
|
|
12
|
-
[](https://www.rust-lang.org)
|
|
12
|
+
[](https://www.rust-lang.org)
|
|
14
13
|
[](https://github.com/charannyk06/conductor-oss/stargazers)
|
|
15
14
|
|
|
16
15
|
</div>
|
|
17
16
|
|
|
18
|
-
Conductor
|
|
17
|
+
Conductor turns your repo into a local agent control plane.
|
|
19
18
|
|
|
20
|
-
|
|
19
|
+
Run one command, open a dashboard, drag work into a ready lane, and let your installed coding agents pick it up in parallel. Conductor keeps the state on your machine, runs a local Rust backend, stores data in local SQLite, and streams updates into the dashboard over SSE.
|
|
21
20
|
|
|
22
|
-
|
|
23
|
-
- a markdown-backed kanban board stored in `CONDUCTOR.md`
|
|
24
|
-
- tmux-backed session execution with restore/retry/archive flows
|
|
25
|
-
- worktree or in-place repo execution
|
|
26
|
-
- a Rust API/backend with a Next.js dashboard frontend
|
|
21
|
+
If you like Claude Code, Codex, Gemini, Qwen, Amp, Cursor Agent, or Copilot but want orchestration instead of a single terminal session, this is the missing layer.
|
|
27
22
|
|
|
28
|
-
##
|
|
23
|
+
## Why Conductor
|
|
29
24
|
|
|
30
|
-
-
|
|
31
|
-
-
|
|
32
|
-
-
|
|
33
|
-
-
|
|
34
|
-
-
|
|
35
|
-
-
|
|
36
|
-
-
|
|
37
|
-
- Integrate with GitHub repositories and GitHub Projects v2 through `gh`, plus receive signed GitHub webhooks on `/api/github/webhook`.
|
|
38
|
-
- Apply dashboard access controls with viewer/operator/admin roles, trusted-header auth, optional Clerk wiring, and Tailscale-managed private remote access.
|
|
25
|
+
- One command to a working dashboard.
|
|
26
|
+
- Local-first architecture with no hosted relay in the middle.
|
|
27
|
+
- Bring your own agent CLI and auth; Conductor does not proxy provider credentials.
|
|
28
|
+
- Markdown-backed Kanban board in `CONDUCTOR.md`.
|
|
29
|
+
- Multi-session orchestration with retries, restore, archive, and diff review.
|
|
30
|
+
- Worktree-aware repo isolation so multiple agents can work on the same codebase safely.
|
|
31
|
+
- GitHub-aware flows for repos, PRs, checks, and project sync.
|
|
39
32
|
|
|
40
|
-
##
|
|
33
|
+
## Quick Start
|
|
41
34
|
|
|
42
|
-
###
|
|
35
|
+
### 1. Make sure the machine has the basics
|
|
43
36
|
|
|
44
|
-
-
|
|
45
|
-
-
|
|
46
|
-
-
|
|
37
|
+
- Node.js `>= 18`
|
|
38
|
+
- `git`
|
|
39
|
+
- `tmux`
|
|
40
|
+
- at least one supported coding-agent CLI installed and already authenticated
|
|
47
41
|
|
|
48
|
-
###
|
|
42
|
+
### 2. Launch Conductor
|
|
49
43
|
|
|
50
|
-
|
|
44
|
+
```bash
|
|
45
|
+
npx conductor-oss@latest
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
What that does today:
|
|
49
|
+
|
|
50
|
+
- starts the local Conductor dashboard
|
|
51
|
+
- launches the local Rust backend
|
|
52
|
+
- opens the app in your browser
|
|
53
|
+
- keeps your project state local
|
|
54
|
+
|
|
55
|
+
The published npm package includes platform-native backend packages for:
|
|
56
|
+
|
|
57
|
+
- macOS (`arm64` and `x64`)
|
|
58
|
+
- Linux (`x64`)
|
|
59
|
+
- Windows (`x64`)
|
|
60
|
+
|
|
61
|
+
### 3. Add a repo and dispatch work
|
|
62
|
+
|
|
63
|
+
From the dashboard you can:
|
|
64
|
+
|
|
65
|
+
- add an existing local repo
|
|
66
|
+
- clone a Git repo into a managed workspace
|
|
67
|
+
- create tasks in the board
|
|
68
|
+
- drag a task into `Ready to Dispatch`
|
|
69
|
+
|
|
70
|
+
Conductor will spin up a session, stream output live, track the diff, and keep the attempt history attached to the task.
|
|
51
71
|
|
|
52
|
-
|
|
53
|
-
- `conductor-server`: Axum server and API routes
|
|
54
|
-
- `conductor-db`: SQLite persistence and migrations
|
|
55
|
-
- `conductor-executors`: runtime/session execution plumbing
|
|
56
|
-
- `conductor-git`: Git and worktree operations
|
|
57
|
-
- `conductor-watcher`: watcher support
|
|
58
|
-
- `conductor-core`: shared types and config model
|
|
72
|
+
## Inside An Existing Repo
|
|
59
73
|
|
|
60
|
-
|
|
74
|
+
If you want to bootstrap Conductor files inside the repo you are already in:
|
|
61
75
|
|
|
62
|
-
|
|
76
|
+
```bash
|
|
77
|
+
npx conductor-oss@latest init
|
|
78
|
+
npx conductor-oss@latest start --workspace .
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
That scaffolds:
|
|
82
|
+
|
|
83
|
+
- `conductor.yaml`
|
|
84
|
+
- `CONDUCTOR.md`
|
|
85
|
+
- `.conductor/conductor.db`
|
|
86
|
+
|
|
87
|
+
If you prefer a global install:
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
npm install -g conductor-oss
|
|
91
|
+
co
|
|
92
|
+
```
|
|
63
93
|
|
|
64
|
-
- `conductor
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
94
|
+
The CLI exposes `conductor-oss`, `conductor`, and `co`.
|
|
95
|
+
|
|
96
|
+
## What You Get
|
|
97
|
+
|
|
98
|
+
- Workspace dashboard for repositories, projects, sessions, and agents
|
|
99
|
+
- Markdown-native Kanban board stored in `CONDUCTOR.md`
|
|
100
|
+
- Local Rust backend for orchestration, persistence, and API routes
|
|
101
|
+
- SQLite persistence in `.conductor/conductor.db`
|
|
102
|
+
- Live session chat/output streaming
|
|
103
|
+
- Session diff inspection and preview tooling
|
|
104
|
+
- Retry, restore, archive, kill, and feedback flows
|
|
105
|
+
- Worktree or in-place execution modes
|
|
106
|
+
- GitHub repo discovery, webhook handling, and project sync
|
|
107
|
+
- Access controls for shared/private dashboard setups
|
|
108
|
+
|
|
109
|
+
## Why This Exists
|
|
110
|
+
|
|
111
|
+
Raw coding-agent CLIs are good at one task in one terminal.
|
|
112
|
+
|
|
113
|
+
Conductor adds the missing operating system around them:
|
|
114
|
+
|
|
115
|
+
- queueing
|
|
116
|
+
- board automation
|
|
117
|
+
- task history
|
|
118
|
+
- worktree isolation
|
|
119
|
+
- session recovery
|
|
120
|
+
- browser visibility
|
|
121
|
+
- multi-agent coordination
|
|
122
|
+
|
|
123
|
+
## Local-First, Explicitly
|
|
124
|
+
|
|
125
|
+
Conductor is opinionated about where your code and session state live:
|
|
126
|
+
|
|
127
|
+
- your repositories stay on your machine
|
|
128
|
+
- the main backend runs locally
|
|
129
|
+
- state is stored in local files plus local SQLite
|
|
130
|
+
- the dashboard talks to the local backend
|
|
131
|
+
- upstream agent auth and billing stay with the agent vendor you already use
|
|
132
|
+
|
|
133
|
+
Conductor is not a hosted agent SaaS and not a relay that forwards your repo through a third-party service.
|
|
68
134
|
|
|
69
135
|
## Supported Agents
|
|
70
136
|
|
|
71
|
-
|
|
137
|
+
Built-in adapters currently exist for:
|
|
72
138
|
|
|
73
139
|
- Claude Code
|
|
74
140
|
- Codex
|
|
@@ -81,34 +147,44 @@ The repo currently ships built-in adapters and UI metadata for:
|
|
|
81
147
|
- GitHub Copilot
|
|
82
148
|
- CCR
|
|
83
149
|
|
|
84
|
-
|
|
150
|
+
Availability still depends on what is installed and authenticated on your machine.
|
|
85
151
|
|
|
86
|
-
##
|
|
152
|
+
## Current Reality
|
|
87
153
|
|
|
88
|
-
|
|
154
|
+
Conductor is already usable, but strangers should know the current edges:
|
|
89
155
|
|
|
90
|
-
-
|
|
91
|
-
-
|
|
92
|
-
-
|
|
93
|
-
- Preview
|
|
156
|
+
- The runtime is still `tmux`-first, so `tmux` is effectively required.
|
|
157
|
+
- Agent behavior depends on the upstream CLI you install.
|
|
158
|
+
- GitHub-heavy flows are best with `gh` installed and authenticated.
|
|
159
|
+
- Preview tooling is strongest when a repo has an explicit local dev server configured.
|
|
160
|
+
- The product is currently a hybrid stack: Rust backend plus Next.js dashboard/launcher.
|
|
94
161
|
|
|
95
|
-
##
|
|
162
|
+
## Important Commands
|
|
163
|
+
|
|
164
|
+
- `co start` - start the dashboard and local backend
|
|
165
|
+
- `co init` - scaffold `conductor.yaml` and `CONDUCTOR.md`
|
|
166
|
+
- `co setup` - guided environment setup
|
|
167
|
+
- `co spawn` - start a new session for a project
|
|
168
|
+
- `co list` - list sessions
|
|
169
|
+
- `co status` - summarize active sessions
|
|
170
|
+
- `co send` - send a follow-up to a session
|
|
171
|
+
- `co restore` - relaunch a dead session
|
|
172
|
+
- `co retry` - create a new attempt from a prior task/session
|
|
173
|
+
- `co kill` - terminate a session
|
|
174
|
+
- `co cleanup` - reclaim resources from completed sessions
|
|
175
|
+
- `co mcp-server` - run Conductor as an MCP server
|
|
176
|
+
|
|
177
|
+
## Developer Setup
|
|
178
|
+
|
|
179
|
+
If you are hacking on Conductor itself:
|
|
96
180
|
|
|
97
181
|
### Requirements
|
|
98
182
|
|
|
99
183
|
- Bun `>= 1.2`
|
|
100
|
-
- Node.js `>= 18` if you want to install the published npm CLI
|
|
101
184
|
- Rust toolchain
|
|
102
|
-
-
|
|
103
|
-
- tmux
|
|
104
|
-
- one or more supported coding-agent CLIs
|
|
105
|
-
|
|
106
|
-
Useful optional tools:
|
|
107
|
-
|
|
108
|
-
- GitHub CLI `gh` for repo discovery and GitHub Projects sync
|
|
109
|
-
- Tailscale for managed private remote access
|
|
185
|
+
- Node.js `>= 18`
|
|
110
186
|
|
|
111
|
-
###
|
|
187
|
+
### Run from source
|
|
112
188
|
|
|
113
189
|
```bash
|
|
114
190
|
bun install
|
|
@@ -120,7 +196,7 @@ Default dev ports:
|
|
|
120
196
|
- dashboard: `http://localhost:3000`
|
|
121
197
|
- Rust backend: `http://127.0.0.1:4749`
|
|
122
198
|
|
|
123
|
-
|
|
199
|
+
Useful scripts:
|
|
124
200
|
|
|
125
201
|
```bash
|
|
126
202
|
bun run dev
|
|
@@ -133,205 +209,37 @@ bun run build:frontend
|
|
|
133
209
|
bun run clean
|
|
134
210
|
```
|
|
135
211
|
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
```bash
|
|
139
|
-
bun run prod:prepare
|
|
140
|
-
bun run prod:full
|
|
141
|
-
```
|
|
142
|
-
|
|
143
|
-
Default prod-like local ports:
|
|
144
|
-
|
|
145
|
-
- dashboard: `http://127.0.0.1:4747`
|
|
146
|
-
- Rust backend: `http://127.0.0.1:4748`
|
|
147
|
-
|
|
148
|
-
Notes:
|
|
149
|
-
|
|
150
|
-
- Root scripts automatically source `./.env.local` when present.
|
|
151
|
-
- Set `CONDUCTOR_GITHUB_WEBHOOK_SECRET` if you want webhook signature verification.
|
|
152
|
-
- GitHub Projects v2 sync requires a `gh` login with project scopes:
|
|
153
|
-
|
|
154
|
-
```bash
|
|
155
|
-
gh auth refresh --scopes read:project,project
|
|
156
|
-
```
|
|
157
|
-
|
|
158
|
-
## Getting A Workspace Into Conductor
|
|
159
|
-
|
|
160
|
-
You can do this from the dashboard or from the CLI.
|
|
161
|
-
|
|
162
|
-
### Dashboard flow
|
|
163
|
-
|
|
164
|
-
From the workspace overview, add either:
|
|
212
|
+
## Architecture
|
|
165
213
|
|
|
166
|
-
-
|
|
167
|
-
- a Git repository to clone into a managed location
|
|
214
|
+
### User-facing stack
|
|
168
215
|
|
|
169
|
-
|
|
216
|
+
- npm CLI for install and launch
|
|
217
|
+
- Next.js dashboard for the browser UI
|
|
218
|
+
- Rust backend for orchestration, API routes, session state, Git integration, and persistence
|
|
170
219
|
|
|
171
|
-
###
|
|
172
|
-
|
|
173
|
-
Inside a repo:
|
|
174
|
-
|
|
175
|
-
```bash
|
|
176
|
-
co init
|
|
177
|
-
co start --workspace .
|
|
178
|
-
```
|
|
179
|
-
|
|
180
|
-
Or, after installing the npm package:
|
|
181
|
-
|
|
182
|
-
```bash
|
|
183
|
-
npm install -g conductor-oss
|
|
184
|
-
co
|
|
185
|
-
```
|
|
186
|
-
|
|
187
|
-
Or without a global install:
|
|
188
|
-
|
|
189
|
-
```bash
|
|
190
|
-
npx conductor-oss@latest
|
|
191
|
-
```
|
|
192
|
-
|
|
193
|
-
The CLI package exposes `conductor`, `conductor-oss`, and `co`.
|
|
194
|
-
|
|
195
|
-
## CLI Surface
|
|
196
|
-
|
|
197
|
-
The current CLI commands include:
|
|
198
|
-
|
|
199
|
-
- `co start`: launch the dashboard and backend
|
|
200
|
-
- `co dashboard`: open the dashboard in a browser
|
|
201
|
-
- `co setup`: guided environment/bootstrap flow
|
|
202
|
-
- `co init`: scaffold `conductor.yaml` and `CONDUCTOR.md`
|
|
203
|
-
- `co spawn`: create a new session for a project
|
|
204
|
-
- `co list`: list sessions
|
|
205
|
-
- `co status`: group active sessions by attention level
|
|
206
|
-
- `co send`: send a follow-up message to a session
|
|
207
|
-
- `co attach`: attach to the tmux session
|
|
208
|
-
- `co restore`: relaunch a dead/exited session
|
|
209
|
-
- `co retry`: create a fresh attempt from a prior session or task
|
|
210
|
-
- `co feedback`: send reviewer feedback and requeue work
|
|
211
|
-
- `co kill`: terminate a session
|
|
212
|
-
- `co cleanup`: reclaim completed session resources
|
|
213
|
-
- `co doctor`: diagnose config, board, and watcher issues
|
|
214
|
-
- `co task show`: inspect task graph and attempts
|
|
215
|
-
- `co mcp-server`: start the MCP server command path
|
|
216
|
-
|
|
217
|
-
## Configuration
|
|
218
|
-
|
|
219
|
-
The app's main configuration file is `conductor.yaml`.
|
|
220
|
-
|
|
221
|
-
Representative shape:
|
|
222
|
-
|
|
223
|
-
```yaml
|
|
224
|
-
workspace: /absolute/path/to/control-workspace
|
|
225
|
-
server:
|
|
226
|
-
host: 127.0.0.1
|
|
227
|
-
port: 4749
|
|
228
|
-
projects:
|
|
229
|
-
my-app:
|
|
230
|
-
name: My App
|
|
231
|
-
repo: https://github.com/acme/my-app.git
|
|
232
|
-
path: /absolute/path/to/my-app
|
|
233
|
-
defaultBranch: main
|
|
234
|
-
runtime: tmux
|
|
235
|
-
workspace: worktree
|
|
236
|
-
boardDir: my-app
|
|
237
|
-
agent: codex
|
|
238
|
-
agentConfig:
|
|
239
|
-
permissions: default
|
|
240
|
-
model: o4-mini
|
|
241
|
-
reasoningEffort: medium
|
|
242
|
-
devServer:
|
|
243
|
-
command: bun dev
|
|
244
|
-
cwd: packages/web
|
|
245
|
-
port: 3001
|
|
246
|
-
preferences:
|
|
247
|
-
codingAgent: codex
|
|
248
|
-
access:
|
|
249
|
-
requireAuth: false
|
|
250
|
-
```
|
|
251
|
-
|
|
252
|
-
Useful project-level fields supported by the current code:
|
|
253
|
-
|
|
254
|
-
- `defaultWorkingDirectory`
|
|
255
|
-
- `setupScript`
|
|
256
|
-
- `cleanupScript`
|
|
257
|
-
- `archiveScript`
|
|
258
|
-
- `copyFiles`
|
|
259
|
-
- `devServer.command`
|
|
260
|
-
- `devServer.cwd`
|
|
261
|
-
- `devServer.url`
|
|
262
|
-
- `devServer.port`
|
|
263
|
-
- `devServer.host`
|
|
264
|
-
- `devServer.path`
|
|
265
|
-
- `devServer.https`
|
|
266
|
-
|
|
267
|
-
## GitHub Integration
|
|
268
|
-
|
|
269
|
-
The current GitHub integration is deeper than simple repo linking:
|
|
270
|
-
|
|
271
|
-
- discover accessible repositories via `gh`
|
|
272
|
-
- link a Conductor project to GitHub Projects v2
|
|
273
|
-
- sync board state with a linked GitHub Project
|
|
274
|
-
- accept signed webhook deliveries at `/api/github/webhook`
|
|
275
|
-
|
|
276
|
-
This path assumes normal `gh` authentication and GitHub permissions on the local machine.
|
|
277
|
-
|
|
278
|
-
## Access Control And Remote Use
|
|
279
|
-
|
|
280
|
-
The safest way to run Conductor is on loopback only. The Rust backend explicitly refuses non-loopback binding unless you opt into:
|
|
281
|
-
|
|
282
|
-
```bash
|
|
283
|
-
CONDUCTOR_UNSAFE_ALLOW_REMOTE_BACKEND=true
|
|
284
|
-
```
|
|
285
|
-
|
|
286
|
-
The current repo also includes support for:
|
|
287
|
-
|
|
288
|
-
- viewer/operator/admin roles in config
|
|
289
|
-
- trusted auth headers
|
|
290
|
-
- Cloudflare Access-style trusted-header validation
|
|
291
|
-
- optional Clerk-backed sign-in wiring in the web app
|
|
292
|
-
- Tailscale-managed private remote access from the dashboard
|
|
293
|
-
|
|
294
|
-
Relevant env examples live in:
|
|
295
|
-
|
|
296
|
-
- [`.env.example`](.env.example)
|
|
297
|
-
- [`packages/web/.env.example`](packages/web/.env.example)
|
|
298
|
-
|
|
299
|
-
## Repository Layout
|
|
300
|
-
|
|
301
|
-
```text
|
|
302
|
-
crates/
|
|
303
|
-
conductor-cli/
|
|
304
|
-
conductor-core/
|
|
305
|
-
conductor-db/
|
|
306
|
-
conductor-executors/
|
|
307
|
-
conductor-git/
|
|
308
|
-
conductor-server/
|
|
309
|
-
conductor-watcher/
|
|
310
|
-
packages/
|
|
311
|
-
cli/
|
|
312
|
-
core/
|
|
313
|
-
plugins/
|
|
314
|
-
web/
|
|
315
|
-
scripts/
|
|
316
|
-
docs/
|
|
317
|
-
```
|
|
220
|
+
### Rust crates
|
|
318
221
|
|
|
319
|
-
|
|
222
|
+
- `crates/conductor-cli`
|
|
223
|
+
- `crates/conductor-core`
|
|
224
|
+
- `crates/conductor-db`
|
|
225
|
+
- `crates/conductor-executors`
|
|
226
|
+
- `crates/conductor-git`
|
|
227
|
+
- `crates/conductor-server`
|
|
228
|
+
- `crates/conductor-watcher`
|
|
320
229
|
|
|
321
|
-
|
|
230
|
+
### Local data
|
|
322
231
|
|
|
323
|
-
-
|
|
324
|
-
-
|
|
325
|
-
-
|
|
326
|
-
-
|
|
327
|
-
- Conductor is local-first orchestration software, not a hosted agent platform.
|
|
232
|
+
- `conductor.yaml` for workspace and project config
|
|
233
|
+
- `CONDUCTOR.md` for the board
|
|
234
|
+
- `.conductor/conductor.db` for local state
|
|
235
|
+
- `attachments/<project>/...` for uploaded files
|
|
328
236
|
|
|
329
237
|
## Links
|
|
330
238
|
|
|
331
239
|
- GitHub: <https://github.com/charannyk06/conductor-oss>
|
|
240
|
+
- npm: <https://www.npmjs.com/package/conductor-oss>
|
|
332
241
|
- Issues: <https://github.com/charannyk06/conductor-oss/issues>
|
|
333
242
|
- Pull requests: <https://github.com/charannyk06/conductor-oss/pulls>
|
|
334
|
-
- npm package: <https://www.npmjs.com/package/conductor-oss>
|
|
335
243
|
|
|
336
244
|
## Star History
|
|
337
245
|
|
package/bin/conductor
CHANGED
|
Binary file
|