acp-runtime
The ACP runtime is the domain service that serves the ACP API contract. It owns the host-scoped dependencies needed to run provider ACP sessions, but it should…
- `packages/core/src/runtimes/workspace-registry/` (creation pipeline, lifecycle steps, activation) - `packages/core/src/runtimes/scripts/` (lifecycle script execution) - `packages/core/src/runtimes/host-settings/` (per-host defaults) - `src/core/features/workspaces/` (desktop
How it fires
How this agent gets triggered: by you, by Claude, or both.
Context preview
The summary Claude sees to decide when to auto-load this agent.
- `packages/core/src/runtimes/workspace-registry/` (creation pipeline, lifecycle steps, activation) - `packages/core/src/runtimes/scripts/` (lifecycle script execution) - `packages/core/src/runtimes/host-settings/` (per-host defaults) - `src/core/features/workspaces/` (desktop
the base ref is fetched only when it is not locally resolvable
starting point, not the branch's upstream
worktree as a durable background step, using copy-on-write (`cp -c` on APFS, `--reflink=auto` on Linux) with a plain-copy fallback; nothing is copied without configured patterns
automatically — projects that relied on it must add `preservePatterns` (behavior change in workspace-lifecycle-v2; `excludePatterns` was removed at the same time and stale keys are silently ignored)
a successful push establishes that remote's same-named branch as upstream
as a "branch not pushed" task state with a manual retry
`.emdash.json` stores optional shareable project settings. Supported runtime keys:
field was retired)
Base project settings are DB-backed Project Settings, not runtime `.emdash.json` keys:
Host-local project settings are stored by the workspace registry and are not written to `.emdash.json`:
processes; Emdash-owned `EMDASH_*` task metadata takes precedence)
Host-level defaults (`shellSetup`, `worktreeRoot`, `tmux`) live in the host-settings runtime (`packages/core/src/runtimes/host-settings/`), stored as a JSON file in the host's emdash data directory and editable from the machines/system settings UI. Precedence is per-project DB override, then host settings, then app defaults.
conversations, setup scripts, or run scripts start; keep it idempotent
settle before running, since they may consume preserved files
not block task readiness
(`packages/core/src/runtimes/scripts/`) on the host: PTY-backed, one run per (workspace, script), with provenance (`activation`/`manual`/`retry`), per-run timeouts, and a stop verb; the workspace registry observes runs and mirrors them into durable lifecycle steps for the Activity timeline
every launch path; exports performed by one lifecycle shell do not mutate sibling or later processes
`.emdash.json` value overrides the host-settings default. Lifecycle commands and `shellSetup` are opaque strings run together in the default shell selected by the host-owned runtime at execution time; repository authors own their portability.
and affects PTY lifecycle behavior. It is always disabled for local Windows sessions without deleting the stored preference.
Emdash is the Open-Source Agentic Development Environment (🧡 YC W26). Run multiple coding agents in parallel. Use any provider.
Repo: generalaction/emdash
The ACP runtime is the domain service that serves the ACP API contract. It owns the host-scoped dependencies needed to run provider ACP sessions, but it should…
This page defines the target organization of `packages/core/src/`. Core is organized by module type so that shared domain APIs and their platform…
Git is split into a transport contract and a host-scoped runtime. Renderer, desktop, and workspace-server code share the Wire vocabulary without importing Git…
The main process is organized into domain modules under `src/main/core/`. Each domain typically has a `controller.ts` (RPC handlers) and service/implementation…
`@emdash/core/primitives/path/api` is the source of truth for portable file identity and lexical path operations. The detailed package docs live in…