✨ From vibe coding to vibe deployment. UBOS MCP turns ideas into infra with one message.

Learn more
Andrii Bidochko
  • Updated: February 24, 2026
  • 9 min read

Introducing emdash: An Open‑Source Agentic Development Environment

Skip to content You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert generalaction / emdash Public Notifications You must be signed in to change notification settings Fork 147 Star 1.6k Emdash is the Open-Source Agentic Development Environment (🧡 YC W26). Run multiple coding agents in parallel.Use any provider. emdash.sh License MIT license 1.6k stars 147 forks Branches Tags Activity Star Notifications You must be signed in to change notification settings Code Issues 79 Pull requests 14 Discussions Actions Projects 0 Security 0 Insights Additional navigation options Code Issues Pull requests Discussions Actions Projects Security Insights generalaction/emdash mainBranchesTagsGo to fileCodeOpen more actions menuFolders and filesNameNameLast commit messageLast commit dateLatest commit History2,699 Commits2,699 Commits.claude.claude .github.github buildbuild docsdocs drizzledrizzle scriptsscripts srcsrc .emdash.json.emdash.json .eslintrc.json.eslintrc.json .gitignore.gitignore .node-version.node-version .npmrc.npmrc .nvmrc.nvmrc .prettierignore.prettierignore .prettierrc.prettierrc AGENTS.mdAGENTS.md CLAUDE.mdCLAUDE.md CONTRIBUTING.mdCONTRIBUTING.md LICENSE.mdLICENSE.md PLANNING.mdPLANNING.md README.mdREADME.md components.jsoncomponents.json drizzle.config.tsdrizzle.config.ts flake.lockflake.lock flake.nixflake.nix package-lock.jsonpackage-lock.json package.jsonpackage.json pnpm-lock.yamlpnpm-lock.yaml pnpm-workspace.yamlpnpm-workspace.yaml postcss.config.jspostcss.config.js tailwind.config.jstailwind.config.js tsconfig.jsontsconfig.json tsconfig.main.jsontsconfig.main.json vite.config.tsvite.config.ts View all filesRepository files navigationREADMEContributingMIT license Run multiple coding agents in parallel Emdash lets you develop and test multiple features with multiple agents in parallel.It’s provider-agnostic (supports 15+ CLI agents, such as Claude Code, Qwen Code, Amp, and Codex) and runs each agent in its own Git worktree to keep changes clean; Hand off Linear, GitHub, or Jira tickets to an agent and review diffs side-by-side. Develop on remote servers via SSH Connect to remote machines via SSH/SFTP to work with remote codebases. Emdash supports SSH agent and key authentication, with secure credential storage in your OS keychain.Run agents on remote projects using the same parallel workflow as local development. Learn more Installation • Providers • Contributing • FAQ Installation macOS Apple Silicon: https://github.com/generalaction/emdash/releases/latest/download/emdash-arm64.dmg Intel x64: https://github.com/generalaction/emdash/releases/latest/download/emdash-x64.dmg macOS users can also: brew install –cask emdash Windows Installer (x64): https://github.com/generalaction/emdash/releases/latest/download/emdash-x64.msi Portable (x64): https://github.com/generalaction/emdash/releases/latest/download/emdash-x64.exe Linux AppImage (x64): https://github.com/generalaction/emdash/releases/latest/download/emdash-x64.AppImage Debian package (x64): https://github.com/generalaction/emdash/releases/latest/download/emdash-x64.deb Release Overview Latest Releases (macOS • Windows • Linux) Providers Supported CLI Providers Emdash currently supports twenty-one CLI providers and we are adding new providers regularly.If you miss one, let us know or create a PR. CLI Provider Status Install 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 curl -fsSL https://claude.ai/install.sh | bash Cline ✅ Supported npm install -g cline Codebuff ✅ Supported npm install -g codebuff Codex ✅ Supported npm install -g @openai/codex Continue ✅ Supported npm i -g @continuedev/cli Cursor ✅ Supported curl https://cursor.com/install -fsS | bash Droid ✅ Supported curl -fsSL https://app.factory.ai/cli | sh 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 | bash Kilocode ✅ Supported npm install -g @kilocode/cli Kimi ✅ Supported uv tool install –python 3.13 kimi-cli Kiro ✅ Supported curl -fsSL https://cli.kiro.dev/install | bash Mistral Vibe ✅ Supported curl -LsSf https://mistral.ai/vibe/install.sh | bash OpenCode ✅ Supported npm install -g opencode-ai Pi ✅ Supported npm install -g @mariozechner/pi-coding-agent Qwen Code ✅ Supported npm install -g @qwen-code/qwen-code Rovo Dev ✅ Supported acli rovodev auth login Issues Emdash allows you to pass tickets straight from Linear, GitHub, or Jira to your coding agent. 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). 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? App data 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 Privacy Note: While Emdash itself stores data locally, when you use any coding agent (Claude Code, Codex, Qwen, etc.), your code and prompts are sent to that provider’s cloud API servers for processing. Each provider has their own data handling and retention policies. You can reset the local DB by deleting it (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. Rebuild native modules: npm run rebuild 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 any servers. Third‑party CLIs may transmit data per their policies. Can I work with remote projects over SSH? Yes! Emdash supports remote development via SSH.Setup: Go to Settings → SSH Connections and add your server details Choose authentication: SSH agent (recommended), private key, or password Add a remote project and specify the path on the server Requirements: SSH access to the remote server Git installed on the remote server For agent auth: SSH agent running with your key loaded (ssh-add -l) See docs/ssh-setup.md for detailed setup instructions and docs/ssh-architecture.md for technical details.About Emdash is the Open-Source Agentic Development Environment (🧡 YC W26). Run multiple coding agents in parallel. Use any provider. emdash.sh Topics docker cli jira opensource terminal ai orchestration openai linear containerization parallelexecution llm coding-agents claude-code parallel-agents codingagents gitworktrees Resources Readme License MIT license Contributing Contributing Uh oh! There was an error while loading. Please reload this page. Activity Custom properties Stars 1.6k stars Watchers 8 watching Forks 147 forks Report repository Releases 72 v0.4.16 Latest Feb 23, 2026 + 71 releases Packages 0 No packages published Contributors 48 Uh oh! There was an error while loading. Please reload this page. + 34 contributors Languages TypeScript 99.0% Other 1.0% You can’t perform that action at this time. [{“Name”:”.claude”,”Last commit message”:””,”Last commit date”:””},{“Name”:”.github”,”Last commit message”:””,”Last commit date”:””},{“Name”:”build”,”Last commit message”:””,”Last commit date”:””},{“Name”:”docs”,”Last commit message”:””,”Last commit date”:””},{“Name”:”drizzle”,”Last commit message”:””,”Last commit date”:””},{“Name”:”scripts”,”Last commit message”:””,”Last commit date”:””},{“Name”:”src”,”Last commit message”:””,”Last commit date”:””},{“Name”:”.emdash.json”,”Last commit message”:””,”Last commit date”:””},{“Name”:”.eslintrc.json”,”Last commit message”:””,”Last commit date”:””},{“Name”:”.gitignore”,”Last commit message”:””,”Last commit date”:””},{“Name”:”.node-version”,”Last commit message”:””,”Last commit date”:””},{“Name”:”.npmrc”,”Last commit message”:””,”Last commit date”:””},{“Name”:”.nvmrc”,”Last commit message”:””,”Last commit date”:””},{“Name”:”.prettierignore”,”Last commit message”:””,”Last commit date”:””},{“Name”:”.prettierrc”,”Last commit message”:””,”Last commit date”:””},{“Name”:”AGENTS.md”,”Last commit message”:””,”Last commit date”:””},{“Name”:”CLAUDE.md”,”Last commit message”:””,”Last commit date”:””},{“Name”:”CONTRIBUTING.md”,”Last commit message”:””,”Last commit date”:””},{“Name”:”LICENSE.md”,”Last commit message”:””,”Last commit date”:””},{“Name”:”PLANNING.md”,”Last commit message”:””,”Last commit date”:””},{“Name”:”README.md”,”Last commit message”:””,”Last commit date”:””},{“Name”:”components.json”,”Last commit message”:””,”Last commit date”:””},{“Name”:”drizzle.config.ts”,”Last commit message”:””,”Last commit date”:””},{“Name”:”flake.lock”,”Last commit message”:””,”Last commit date”:””},{“Name”:”flake.nix”,”Last commit message”:””,”Last commit date”:””},{“Name”:”package-lock.json”,”Last commit message”:””,”Last commit date”:””},{“Name”:”package.json”,”Last commit message”:””,”Last commit date”:””},{“Name”:”pnpm-lock.yaml”,”Last commit message”:””,”Last commit date”:””},{“Name”:”pnpm-workspace.yaml”,”Last commit message”:””,”Last commit date”:””},{“Name”:”postcss.config.js”,”Last commit message”:””,”Last commit date”:””},{“Name”:”tailwind.config.js”,”Last commit message”:””,”Last commit date”:””},{“Name”:”tsconfig.json”,”Last commit message”:””,”Last commit date”:””},{“Name”:”tsconfig.main.json”,”Last commit message”:””,”Last commit date”:””},{“Name”:”vite.config.ts”,”Last commit message”:””,”Last commit date”:””},{}]

Read the original repository on GitHub: https://github.com/generalaction/emdash


Andrii Bidochko

CTO UBOS

Andrii Bidochko is an AI entrepreneur and researcher focused on AI agents, reinforcement learning, and autonomous systems. He writes about the technologies shaping the future of machine intelligence, from frontier models and agent architectures to real-world AI applications.

Sign up for our newsletter

Stay up to date with the roadmap progress, announcements and exclusive discounts feel free to sign up with your email.

Sign In

Register

Reset Password

Please enter your username or email address, you will receive a link to create a new password via email.