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.
Files changed (3) hide show
  1. package/README.md +156 -248
  2. package/bin/conductor +0 -0
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -2,73 +2,139 @@
2
2
 
3
3
  # Conductor OSS
4
4
 
5
- **Local-first orchestration for terminal coding agents, with a browser dashboard, markdown board, tmux runtime, and worktree-aware repo management.**
5
+ ### AI agents that write code while you sleep.
6
6
 
7
- <br>
7
+ **One command. Local-first. No cloud relay.**
8
8
 
9
9
  [![npm version](https://img.shields.io/npm/v/conductor-oss?style=flat-square&color=0ea5e9)](https://www.npmjs.com/package/conductor-oss)
10
10
  [![CI](https://img.shields.io/github/actions/workflow/status/charannyk06/conductor-oss/ci.yml?branch=main&style=flat-square&label=CI)](https://github.com/charannyk06/conductor-oss/actions/workflows/ci.yml)
11
11
  [![License: MIT](https://img.shields.io/badge/license-MIT-22c55e?style=flat-square)](LICENSE)
12
- [![Bun](https://img.shields.io/badge/bun-1.2+-f59e0b?style=flat-square)](https://bun.sh)
13
- [![Rust](https://img.shields.io/badge/rust-backend-ce422b?style=flat-square)](https://www.rust-lang.org)
12
+ [![Rust Backend](https://img.shields.io/badge/rust-local_backend-ce422b?style=flat-square)](https://www.rust-lang.org)
14
13
  [![GitHub Stars](https://img.shields.io/github/stars/charannyk06/conductor-oss?style=flat-square&color=facc15)](https://github.com/charannyk06/conductor-oss/stargazers)
15
14
 
16
15
  </div>
17
16
 
18
- Conductor OSS is a local-first control plane for coding-agent CLIs. It runs on your machine, talks to the agent tools you already have installed, and keeps project state in local files plus a local SQLite database.
17
+ Conductor turns your repo into a local agent control plane.
19
18
 
20
- The current app combines:
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
- - a workspace dashboard for projects, sessions, and agents
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
- ## What The App Does Today
23
+ ## Why Conductor
29
24
 
30
- - Add a workspace from an existing local repo or clone one from a Git URL.
31
- - Persist project settings in `conductor.yaml`, including default agent/model choices and preview-server settings.
32
- - Create and manage board tasks from the UI, with human-readable task refs, comments, attachments, and linked session attempts.
33
- - Spawn multiple agent sessions against the same repo, either on the main checkout or in isolated worktrees.
34
- - Stream session chat and terminal output into the dashboard with interrupt, send, kill, archive, restore, and retry actions.
35
- - Inspect a session's diff and a live preview tab. The preview surface can capture page context and send screenshots, DOM data, console logs, or network logs back to the active session as attachments.
36
- - Discover installed agent CLIs, surface model selection where supported, and keep session history resumable instead of treating runs as disposable.
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
- ## Current Architecture
33
+ ## Quick Start
41
34
 
42
- ### Frontend
35
+ ### 1. Make sure the machine has the basics
43
36
 
44
- - `packages/web`: Next.js 16, React 19, Tailwind CSS 4 dashboard
45
- - Main surfaces: workspace overview, workspace board, session detail, session diff, session preview, repository/settings panels
46
- - API routes in the Next app proxy or coordinate with the Rust backend and the local preview/remote-access helpers
37
+ - Node.js `>= 18`
38
+ - `git`
39
+ - `tmux`
40
+ - at least one supported coding-agent CLI installed and already authenticated
47
41
 
48
- ### Backend
42
+ ### 2. Launch Conductor
49
43
 
50
- Rust crates under `crates/`:
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
- - `conductor-cli`: Rust backend entrypoint
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
- ### Persistence
74
+ If you want to bootstrap Conductor files inside the repo you are already in:
61
75
 
62
- Conductor is local-first, but not stateless. Current data lives in:
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.yaml`: workspace and repository configuration
65
- - `.conductor/conductor.db`: local SQLite state
66
- - `CONDUCTOR.md`: project-local markdown board
67
- - `attachments/<project>/...`: uploaded files used in board tasks and session replies
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
- The repo currently ships built-in adapters and UI metadata for:
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
- Actual availability depends on what is installed and authenticated on your machine. Conductor does not bypass upstream auth, billing, or provider-side limits.
150
+ Availability still depends on what is installed and authenticated on your machine.
85
151
 
86
- ## Runtime Model
152
+ ## Current Reality
87
153
 
88
- The current runtime path is tmux-centric.
154
+ Conductor is already usable, but strangers should know the current edges:
89
155
 
90
- - Sessions are launched under tmux.
91
- - Session recovery and `co attach` assume tmux is available.
92
- - Workspaces can run in `worktree` mode or `local` mode.
93
- - Preview support depends on either a configured local dev server or a preview URL already associated with the session/PR.
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
- ## Quick Start From Source
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
- - Git
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
- ### Install and run
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
- Other useful scripts:
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
- ### Prod-like local stack
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
- - an existing local repository
167
- - a Git repository to clone into a managed location
214
+ ### User-facing stack
168
215
 
169
- When a workspace is added, Conductor persists it into `conductor.yaml`, ensures a board file exists, and syncs project support files.
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
- ### CLI flow
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
- ## Operational Realities
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
- Important current constraints from the codebase:
230
+ ### Local data
322
231
 
323
- - The runtime is tmux-first, so tmux is effectively required for the core session workflow.
324
- - Agent behavior depends heavily on the upstream CLI you install and how that CLI handles auth, rate limits, prompts, and output formatting.
325
- - GitHub repo discovery and GitHub Projects sync depend on `gh` being installed and authenticated.
326
- - Preview tooling is strongest when the repo has an explicit dev-server mapping in config.
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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "conductor-oss-native-linux-x64",
3
- "version": "0.6.3",
3
+ "version": "0.7.0",
4
4
  "license": "MIT",
5
5
  "private": false,
6
6
  "os": [