A desktop workspace for coding agents, edits and terminals
An Electron workspace that keeps coding agents, the editor, file changes and terminals in one window.
The whole coding workflow in one window
Running coding agents usually means juggling a terminal, an editor and a diff view. Vela puts them in a single desktop window: the agent’s streamed work on one side, the code it touches and the terminals it runs on the other. I built it end to end as a solo project — the Electron main process, the runtime adapters that talk to the agent, the React renderer, and the packaging.
What it does
- Streamed agent work. Follow reasoning summaries, tool calls, subagents, todos and permission requests in one timeline.
- Parallel sessions. Resizable agent panels each keep their own project context, composer and model controls.
- Code review beside the agent. A Changes list opens edits and diffs in Monaco.
- An everyday editor. Autosave, Emmet and HTML/CSS validation support the editing workflow.
- Native process access. Electron manages agent runtimes, the filesystem and PTY terminals through a narrow preload API.
Electron owns the parts that need native access — agent runtimes, the filesystem and PTY terminals — and exposes them to the renderer through a narrow preload API rather than handing over Node directly. The React renderer consumes that boundary and presents the agent’s streamed output, Monaco-powered edits and diffs, and live terminals side by side.
The timeline is the core of it: reasoning summaries, tool calls, subagents, todos and permission requests all stream into one view, so the agent’s work can be followed as it happens. A Changes list opens each edit in Monaco for review, while autosave, Emmet and HTML/CSS validation keep the editing side usable. It targets macOS first, with Linux and Windows coverage, and needs Node 22 plus a reachable opencode service.