Skip to content

baptistelaget/conductorcli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

conductorcli

Unofficial community tool — not affiliated with, endorsed by, or supported by Conductor.

A CLI for Conductor — query workspaces, sessions, and launch deep links from your terminal.

Reads directly from Conductor's local SQLite database and triggers actions via conductor:// deep links.

Install

Requires Bun (uses bun:sqlite for zero-dependency SQLite access).

# run directly
bunx condcli status

# or install globally
bun install -g condcli

Commands

Query

# overview + recent activity
conductorcli status

# list repositories
conductorcli repos

# list workspaces (active by default)
conductorcli ws
conductorcli ws -f all
conductorcli ws -f archived

# workspace detail (supports partial IDs)
conductorcli workspace 7d4e

# list sessions
conductorcli ss
conductorcli ss -w 7d4e          # filter by workspace

# session detail + message history
conductorcli session f969
conductorcli session f969 -m 10  # show last 10 messages

# search by branch, title, PR, or repo name
conductorcli search auth

Create

# new workspace with a prompt
conductorcli prompt "Fix the login bug"

# target a specific repo
conductorcli prompt -r my-repo "Add dark mode"
conductorcli prompt -d /path/to/repo "Add dark mode"

# new workspace from a Linear issue
conductorcli linear ENG-123
conductorcli linear ENG-123 "Implement with full test coverage"
conductorcli linear -r my-repo ENG-123

# new workspace from a plan file
conductorcli plan my-repo plan.md
echo "Fix all the bugs" | conductorcli plan my-repo -

Server

Expose everything as a REST API:

# start on default port 3141
conductorcli serve

# custom port
conductorcli serve -p 8080

Query endpoints:

curl localhost:3141/status
curl localhost:3141/repos
curl localhost:3141/workspaces?filter=all&limit=10
curl localhost:3141/workspaces/7d4e
curl localhost:3141/sessions?workspace=7d4e&limit=5
curl localhost:3141/sessions/f969
curl localhost:3141/sessions/f969/messages?limit=10
curl localhost:3141/search?q=auth

Action endpoints:

# new workspace with prompt
curl -X POST localhost:3141/prompt \
  -H 'Content-Type: application/json' \
  -d '{"message": "Fix the login bug", "repo": "my-repo"}'

# new workspace from Linear issue
curl -X POST localhost:3141/linear \
  -H 'Content-Type: application/json' \
  -d '{"issueId": "ENG-123", "prompt": "Implement with tests", "repo": "my-repo"}'

# new workspace from plan
curl -X POST localhost:3141/plan \
  -H 'Content-Type: application/json' \
  -d '{"repo": "my-repo", "plan": "## Plan\n\n- Fix all the bugs"}'

How it works

Read operations query Conductor's SQLite database at:

~/Library/Application Support/com.conductor.app/conductor.db

Create operations trigger conductor:// deep links via open, which Conductor.app handles natively:

Deep link Action
conductor://prompt=...&path=... New workspace with prompt
conductor://linear_id=... New workspace from Linear issue
conductor://async?repo=...&plan=... New workspace from base64 plan

Requirements

  • macOS (Conductor.app is macOS-only)
  • Bun >= 1.0
  • Conductor.app installed and signed in

Roadmap

These features aren't currently possible because Conductor doesn't expose public APIs or deep links for them. If Conductor adds official support (or if someone finds a clean way to do it), we'd love to add them:

  • Send follow-up messages — send a prompt to an existing workspace/session without creating a new one
  • Create PR — trigger the "Create PR" workflow on a workspace from the CLI
  • Approve/reject plans — respond to pending plan reviews programmatically
  • Workspace management — archive, pin, rename branches, or change session config from outside the app

Today, Conductor's sidecar communicates over an internal Unix socket using an undocumented JSON-RPC protocol. Until there's a stable way to interact with running sessions, these will remain on the wishlist.

Contributing

Feel free to open issues and PRs — contributions are welcome.

If you found a new deep link, found a way to talk to the sidecar, or just want to improve the CLI, go for it.

Disclaimer

This is an unofficial, community-built tool. It is not created, maintained, endorsed, or supported by the Conductor team or any of its affiliates.

  • No warranty. This software is provided "as is", without warranty of any kind, express or implied. Use at your own risk.
  • May break at any time. This tool relies on Conductor's internal SQLite schema and undocumented conductor:// deep link protocol, both of which may change without notice in any Conductor update.
  • Read-only database access. The CLI opens the database in read-only mode and never writes to it. Create operations work exclusively through deep links handled by Conductor.app itself.
  • "Conductor" might be a trademark of its respective owner. This project uses the name solely to describe compatibility.

License

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors