What is an Agentic Development Environment?
An Agentic Development Environment is a workspace designed specifically for managing AI coding agents. Unlike traditional IDEs that are built for human developers, an ADE provides the infrastructure to run multiple autonomous coding agents simultaneously while preventing conflicts and maintaining code integrity. Emdash bridges the gap between powerful CLI coding agents (like Claude Code, Codex, Qwen Code) and practical software development workflows. It gives you:- Full terminal access to each agent with streaming output
- Visual diff review before committing changes
- Seamless GitHub integration for PR creation and CI tracking
- Issue management with Linear, Jira, and GitHub Issues
- Remote development over SSH to leverage cloud compute
Why Emdash exists
Coding agents have become incredibly powerful, but they come with challenges:The conflict problem
Running multiple agents in the same directory causes file conflicts and git chaos. Agents overwrite each other’s changes.
The speed problem
Agents work best when they can run in parallel on different tasks. Serial execution wastes time and compute.
The isolation problem
Testing agent changes in your main codebase is risky. You need safe sandboxes that mirror production.
The visibility problem
CLI agents run in black boxes. You can’t see what they’re doing until they finish, and reviewing changes is painful.
- Isolating each agent in its own git worktree on a dedicated branch
- Enabling parallel execution so multiple agents work simultaneously
- Providing real-time visibility into agent actions with full terminal streaming
- Making review easy with built-in diff visualization and PR workflows
Key benefits
Parallel execution at scale
Run as many agents as your system can handle. Each task gets its own worktree at../worktrees/{task-name}-{hash} on branch emdash/{task-name}-{hash}. The worktree pool eliminates the typical 3-7 second worktree creation delay — pre-created worktrees are claimed instantly when you start a new task.
Provider agnostic
Emdash supports 22 CLI coding agents and counting. All providers are defined in a unified registry atsrc/shared/providers/registry.ts, making it easy to add new agents. Switch providers per task, or run different agents in parallel on the same codebase.
Supported providers
Supported providers
Claude Code, Codex, Qwen Code, Amp, Cursor, GitHub Copilot, Gemini, Droid, OpenCode, Charm, Auggie, Goose, Kimi, Kilocode, Kiro, Rovo Dev, Cline, Continue, Codebuff, Mistral Vibe, Pi, Autohand CodeSee the full provider matrix with install commands at Features → Providers.
Multi-provider support
Each provider requires different CLI flags and invocation patterns. Emdash handles this complexity:- Auto-approve flags for hands-free operation (e.g.,
--dangerously-skip-permissionsfor Claude) - Initial prompt delivery via CLI flags (
-ifor Gemini) or keystroke injection (Amp, OpenCode) - Session isolation for providers like Claude that support
--session-id - Resume support to continue previous conversations (e.g.,
-c -rfor Claude)
Worktree isolation
Git worktrees are the secret sauce. Each task runs in a separate worktree but shares the same.git directory, so they all see the same commit history. Changes stay isolated until you’re ready to merge.
Emdash automatically preserves gitignored files like .env and .envrc from your main repo to each worktree, so agents have the configuration they need. Configure custom patterns in .emdash.json:
.emdash.json
Remote development over SSH
Connect to remote machines and run agents there instead of locally. This is perfect for:- Leveraging powerful cloud servers with more CPU/RAM
- Working with large codebases that don’t fit on your laptop
- Running resource-intensive agents without slowing down your local machine
keytar.
Remote worktrees are created at
<project>/.emdash/worktrees/<task-slug>/ on the server. File diffs, branch push, and GitHub features are currently local-only.Cross-agent skills
Emdash implements the Agent Skills standard for reusable, cross-agent skill packages. Install skills once to~/.agentskills/, and Emdash automatically syncs them to each agent’s native directory:
- Claude Code:
~/.claude/commands/ - Codex:
~/.codex/skills/ - Qwen Code:
~/.qwen/skills/
How it works
Here’s the basic workflow:Open a project
Point Emdash at any git repository on your local machine or a remote server via SSH. Emdash stores project metadata in a local SQLite database.
Create a task
Click New Task, select a provider, and enter a prompt. You can also attach a Linear, Jira, or GitHub issue. Emdash creates (or claims from the pool) a worktree and spawns the agent in a PTY (pseudo-terminal).
Watch the agent work
The agent’s terminal streams to your UI in real-time using
xterm.js and node-pty. See exactly what the agent is doing, and interact with the terminal if needed.Review changes
View file diffs in the built-in Monaco editor. Emdash shows exactly what changed, with syntax highlighting and side-by-side comparison.
Create a PR
Push the branch and create a pull request using GitHub CLI (
gh). Emdash shows PR details, CI checks, and lets you merge from the UI.Architecture at a glance
Emdash is built with Electron, TypeScript, and React:- Main process (Node.js): Manages git operations, spawns PTYs, handles IPC, and stores data in SQLite
- Renderer process (React + Vite): Provides the UI with Monaco editor, xterm terminals, and real-time updates
- PTY manager (
src/main/services/ptyManager.ts): Spawns agents in pseudo-terminals with isolated environments - Worktree services: Create, manage, and pool git worktrees for instant task starts
- Database service (Drizzle ORM + SQLite): Stores projects, tasks, conversations, and settings
{ success: boolean, data?: any, error?: string } pattern for type safety.
What you’ll learn next
Installation
Install Emdash on macOS, Windows, or Linux and set up your first coding agent.
Quickstart
Go from zero to running your first agent task in under 5 minutes.
Core Concepts
Deep dive into git worktrees, agent providers, and parallel execution.
Features
Explore all 22+ supported providers, SSH remote development, and more.
Community and support
Emdash is open source and backed by Y Combinator (W26). Join the community:- GitHub: generalaction/emdash — Star, open issues, contribute
- Discord: discord.gg/f2fv7YxuR2 — Ask questions, share projects
- Twitter: @emdashsh — Updates and announcements