← Selected work

RTIDE

Rich Terminal IDE — keep the speed of the terminal, get the expressive range of the web.

Stack: Shell · Neovim · tweb (terminal web renderer) · agent harness Status: Public, in daily use Links: github.com/achagani/rtide · achagani.github.io/rtide
RTIDE workspace with Neovim, rich tweb output, and the agent prompt — screenshot from the project's GitHub repo.
RTIDE workspace with Neovim, rich tweb output, and the agent prompt — screenshot from the project's GitHub repo.

01The problem

Agent-driven development lives in two unhappy worlds. In the terminal, everything — diffs, charts, plans, tables — collapses into a wall of Markdown, and the interesting output gets skimmed or lost. In the browser, output is beautiful but you've left the place where the work happens: files, shells, git, editors. Every switch costs context. The terminal's speed and composability are worth keeping; the web's expressiveness is worth having. Nobody had wired them together.

02The approach

RTIDE is a blended single-tool workspace. Neovim and a tweb renderer pane sit side by side; a thin agent strip at the bottom is exactly as tall as its content — a one-line status (● idle, ● working 12s · Edit src/app.py, ● done) and a prompt. The terminal stays the input surface; every substantive output from the agent is channeled through tweb and rendered as graphically rich HTML in its own pane. Type a request, keep working in the editor, read the result like a web page without leaving the terminal.

03Trade-offs

Keyboard-first, always — zoom the agent strip with prefix+a, steer a running turn with /steer, stop with /interrupt, replay with /resend, inspect pending work with /queue. Nothing requires reaching for the mouse; follow-ups queue while a turn runs instead of clobbering it.
Harness-agnostic by design — the agent runs non-interactively behind the strip. Swap the model or the harness; the workspace contract (input strip, status line, tweb output) doesn't change. The IDE owns the interaction, not the vendor.
One window, opinionated layout — the split ratios (editor ~40%, tweb ~60%, agent ~30% strip) are config, not debate. RTIDE is deliberately not a general window manager; it's a fixed shape optimized for one workflow: edit, delegate, read.

04Under the hood

Workspaces are managed as terminal sessions with a layout contract; the agent harness is invoked per turn with its transcript rendered into tweb, so rich output — tables, diffs, highlighted code, links — arrives as HTML while the shell stays raw and fast. New workspaces start with focus in the agent prompt, because the first thing you do is delegate. The whole stack is shell, config, and a renderer — no Electron, no daemon zoo — which is why it stays out of the way.

← DatumaraSteward →