Skip to content
/ emdash Public
forked from generalaction/emdash

Emdash is an orchestration layer for running multiple coding agents in parallel in isolated Git worktrees

License

Notifications You must be signed in to change notification settings

Afur/emdash

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gh_banner

Run multiple coding agents in parallel—provider-agnostic, worktree-isolated, and local-first.

Emdash lets you develop and test multiple features with multiple agents in parallel. It’s provider-agnostic (we support 10+ CLIs, such as Claude Code and Codex) and runs each agent in its own Git worktree to keep changes clean; when the environment matters, you can run a PR in its own Docker container. Hand off Linear, GitHub, or Jira tickets to an agent, review diffs side-by-side, and keep everything local.

Installation

Latest Release (macOS • Windows • Linux)

Direct links

macOS

Homebrew

macOS users can also: brew install --cask emdash

Windows

Linux

Providers

integration_banner

Supported CLI Providers

Emdash currently supports fifteen CLI providers and we are adding new providers regularly. If you miss one, let us know or create a PR.

CLI Provider Status Install
Codex ✅ Supported npm install -g @openai/codex
Amp ✅ Supported npm install -g @sourcegraph/amp@latest
Auggie ✅ Supported npm install -g @augmentcode/auggie
Charm ✅ Supported npm install -g @charmland/crush
Claude Code ✅ Supported npm install -g @anthropic-ai/claude-code
Cursor ✅ Supported `curl https://cursor.com/install -fsS
Droid ✅ Supported `curl -fsSL https://app.factory.ai/cli
Gemini ✅ Supported npm install -g @google/gemini-cli
GitHub Copilot ✅ Supported npm install -g @github/copilot
Goose ✅ Supported `curl -fsSL https://github.com/block/goose/releases/download/stable/download_cli.sh
OpenCode ✅ Supported npm install -g opencode-ai
Qwen Code ✅ Supported npm install -g @qwen-code/qwen-code
Kimi ✅ Supported uv tool install --python 3.13 kimi-cli
Kiro ✅ Supported `curl -fsSL https://cli.kiro.dev/install
Rovo Dev ✅ Supported acli rovodev auth login

Issues

Emdash allows you to pass engineering tickets straight from your issue tracker to your coding agent at workspace creation.

Tool Status Authentication
Linear ✅ Supported Connect with a Linear API key.
Jira ✅ Supported Provide your site URL, email, and Atlassian API token.
GitHub Issues ✅ Supported Authenticate via GitHub CLI (gh auth login).

Demo

Add an agents.md file

Agents.md

Run multiple agents in parallel

Parallel agents

Passing a Linear ticket

Passing Linear

Contributing

Contributions welcome! See the Contributing Guide to get started, and join our Discord to discuss.

FAQ

What telemetry do you collect and can I disable it?

We send anonymous, allow‑listed events (app start/close, feature usage names, app/platform versions) to PostHog.
We do not send code, file paths, repo names, prompts, or PII.

Disable telemetry:

  • In the app: Settings → General → Privacy & Telemetry (toggle off)
  • Or via env var before launch:
TELEMETRY_ENABLED=false

Full details: see docs/telemetry.md.

Where is my data stored?

Everything is local‑first. We store app state in a local SQLite database:

macOS:  ~/Library/Application Support/emdash/emdash.db
Windows: %APPDATA%/emdash/emdash.db
Linux:  ~/.config/emdash/emdash.db

You can reset by deleting the DB (quit the app first). The file is recreated on next launch.

Do I need GitHub CLI?

Only if you want GitHub features (open PRs from Emdash, fetch repo info, GitHub Issues integration).
Install & sign in:

gh auth login

If you don’t use GitHub features, you can skip installing gh.

How do I add a new provider?

Emdash is provider‑agnostic and built to add CLIs quickly.

  • Open a PR following the Contributing Guide (CONTRIBUTING.md).
  • Include: provider name, how it’s invoked (CLI command), auth notes, and minimal setup steps.
  • We’ll add it to the Integrations matrix and wire up provider selection in the UI.

If you’re unsure where to start, open an issue with the CLI’s link and typical commands.

I hit a native‑module crash (sqlite3 / node‑pty / keytar). What’s the fast fix?

This usually happens after switching Node/Electron versions.

  1. Rebuild native modules:
npm run rebuild
  1. If that fails, clean and reinstall:
npm run reset

(Resets node_modules, reinstalls, and re‑builds Electron native deps.)

What permissions does Emdash need?
  • Filesystem/Git: to read/write your repo and create Git worktrees for isolation.
  • Network: only for provider CLIs you choose to use (e.g., Codex, Claude) and optional GitHub actions.
  • Local DB: to store your app state in SQLite on your machine.

Emdash itself does not send your code or chats to our servers. Third‑party CLIs may transmit data per their policies.

About

Emdash is an orchestration layer for running multiple coding agents in parallel in isolated Git worktrees

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 99.0%
  • Other 1.0%