Skip to content
Agent Workspaces
Agent

overview

All paths are relative to `apps/emdash-desktop/`.

From plugin
emdash
6.2k33 skills33 agents

Agent definition

overview.md

Architecture Overview

All paths are relative to `apps/emdash-desktop/`.

Process Model

  • `src/main/`: Electron main process — app lifecycle, RPC controllers, domain services, database, PTY orchestration, updater, SSH
  • `src/entry/preload.ts`: minimal Electron bridge for the Wire port and file-path lookup
  • `src/renderer/`: React composition shell and shared browser infrastructure
  • `src/core/`: vertical slices with portable APIs, Node implementations, browser UI, contributions,

and manifests

Boot Sequence

`src/main/index.ts` → app lifecycle → IPC/RPC registration → window creation → renderer

  • `index.ts` — Loads `.env`, normalizes PATH, initializes database, registers all RPC controllers via `src/main/rpc.ts`, creates the main window.
  • `src/main/rpc.ts` — Assembles the typed RPC router from domain controllers (`src/main/core/*/controller.ts`).
  • `src/preload/index.ts` — Exposes `window.electronAPI` (`invoke`, `eventSend`, `eventOn`) via `contextBridge`.
  • `src/renderer/lib/ipc.ts` — Creates the typed RPC client and event emitter used throughout the renderer.

Build Tooling

  • `electron.vite.config.ts` — electron-vite config for main, preload, and renderer builds.
  • `vitest.config.ts` — Vitest config with five test projects: `node`, `main-db`, `fixtures`, `migrations`, and `browser` (Playwright-backed renderer tests).
  • Single `tsconfig.json` (in `apps/emdash-desktop/`) for all app targets.

Read Next

  • Main process details: `main-process.md`
  • Renderer details: `renderer.md`
  • Shared modules and provider registry: `shared.md`
Read more
@generalaction
Ships withemdash

Emdash is the Open-Source Agentic Development Environment (🧡 YC W26). Run multiple coding agents in parallel. Use any provider.

Stars on GitHub

Momentum

stars in total
6.2k
Star history of generalaction/emdash on GitHub, a chart by star-history.com

Other agents on emdash.

acp-runtime

acp-runtime

Agent

The ACP runtime is the domain service that serves the ACP API contract. It owns the host-scoped dependencies needed to run…

core-modules

core-modules

Agent

This page defines the target organization of `packages/core/src/`. Core is organized by module type so that shared domain APIs…

git-runtime

git-runtime

Agent

Git is split into a transport contract and a host-scoped runtime. Renderer, desktop, and workspace-server code share the Wire…

main-process

main-process

Agent

The main process is organized into domain modules under `src/main/core/`. Each domain typically has a `controller.ts` (RPC…

path-system

path-system

Agent

`@emdash/core/primitives/path/api` is the source of truth for portable file identity and lexical path operations. The detailed…

More agents from other plugins.

api-builder

api-builder

Agent

Deprecated placeholder. Do not use; follow root AGENTS.md and package instructions instead.

happier1d2.2k
@happier-dev@happier-devInstall Agent

Questions about overview.

Which coding agents can use overview?
overview installs in Claude Code and Cursor: each loads subagents from .claude/agents, so copy the file there. Flowy's auto-invocation runs in Claude Code only.