Surfaces
One engine, three surfaces — the interactive terminal UI, the native desktop app, and the headless CLI. The same Genome, tools, and sessions under each.
Empryo is one engine with three faces. The agent loop, the Genome, the tool belt, sessions, and your config are identical no matter how you launch it — only the interface changes.
The default. Run empryo in a repo for a full keyboard-driven workspace: chat, tabs, panels, an embedded Neovim, and a live status bar.
A native window with the living Genome map, a Monaco file preview, visual diffs, embedded terminals, and every setting behind a drawer.
No UI. Pipe a prompt, stream JSON or JSONL events, and gate on exit codes — built for scripts and CI.
One engine underneath
Whatever surface you pick, the same things are true:
- The repository is parsed into a live dependency graph and edits go through the AST and language servers, not find-and-replace.
- Sessions and checkpoints persist to
.empryo/in the project, so you can resume — or rewind — across surfaces. - Configuration, keys, themes, and memory are shared. Set a key once; use it everywhere.
- Cross-tab coordination keeps parallel lanes from clobbering each other in both the TUI and the desktop app.
Pick by task
| You want to… | Use |
|---|---|
| Pair on a codebase, interactively | Terminal UI |
| See the codebase and diffs visually | Desktop app |
| Automate in CI or a script | Headless CLI |
| Look up a flag or command | CLI reference · Commands |