Terminal-native coding agent. Race Claude vs GPT vs Gemini across parallel worktrees and keep what passes. Ghost-text completion, a headless daemon, hash-anchored patching and sessions that never run out of context. Pure Python, one dependency.
Everything your IDE agent can't do.
Spawn multiple reasoning paths simultaneously. Evaluate outputs. Merge the best result instantly.
Define multi-step pipelines. Let the agent orchestrate its own tools and verification steps.
Anthropic, OpenAI, Google Antigravity, Groq, Ollama. Switch instantly or race them head-to-head.
No JS runtime. No heavy browser engines. Just clean, raw Python and a brutally fast terminal UI.
A real LSP client. Follows imports, re-exports and shadowing, so it finds the callsites grep misses and renames without breaking them.
Breakpoints, stepping, live variables over DAP. The agent reads actual program state instead of adding print statements and guessing.
Drives real headless Chromium. Reads the accessibility tree, clicks, and reports console errors — so front-end work is verified, not assumed.
BM25 over an incremental symbol index. Ask for getUserAuth and it finds get_user_authentication, then tells you what imports it.
/pr writes and opens it. /fix-ci finds the failing check and excerpts the actual error out of megabytes of log. /review prints before it posts.
Background agents outlive the window. Tasks resume mid-pipeline after a restart. Sessions reopen where you left them. It updates itself.
Dim completions ahead of the cursor, from commands, paths and your own history. A 40 ms deadline: a slow suggestion is absent, never a stutter.
Edits anchored to the hash of a region and its surroundings. If the file moved, the patch is refused — never applied to the wrong place.
One model plans a dependency graph, others build it in parallel waves. Two units touching one file are serialised before anything runs.
History is summarised automatically before a turn would overflow the window. 60,566 tokens to 8,351 — with every original still on disk.
The stream is watched as it arrives. A generation that loops, or claims to have edited a file that isn't there, is stopped with its evidence named.
Copy-on-write workspace isolation via btrfs, zfs or APFS — probed by trying it, not guessing. Falls back to a real copy and says so.
Code the agent runs can call the agent's own tools — over an authenticated socket, with the permission system still in force.
/collab shares one session with other humans. One driver at a time, and the second is told who has it rather than silently queued.
Find, install and remove MCP servers. Installing records a server — it never executes one — and anything unofficial is untrusted until you say so.
/spec now scores security too. A branch that passes every test and adds an eval loses to a clean one with a bigger diff. One high-severity finding zeroes the criterion — it is never averaged away.
Twelve runs, a discarded warmup, median and spread. If the samples overlap the verdict is indistinguishable and it is dropped from the ranking. Inventing a 3% winner is worse than no benchmark at all.
/cost by model, day or session. /trace for the last turn's span tree. An unknown price reports as unknown, never as zero — a confident zero is an answer nobody re-checks.
Issues, merge requests, pipelines and job logs. Self-hosted via GITLAB_HOST. The token goes in a header — never argv, never a query parameter.
/issue 42 reads it, restates it, plans, branches, implements, tests and opens the PR. Checkpointed at every stage, so /issue resume survives a closed laptop.
/monitor start serves one self-contained page: current turn, jobs, spend. Loopback by default, bearer token on every route, compared with compare_digest — and no static file route at all.
/remote run executes on a registered box's daemon over SSH. The heavy work happens where the cores are; the transcript arrives here.
Every feature here is defended by tests that fail on a plausible bug, not on a typo. One dependency, three Python versions, ARM64 included.
Adjust concurrent model runners and race them.
offset daemon runs it headless, so an editor talks to it whether or not a terminal is open — and --listen host:port reaches it across an SSH hop. There is a VS Code extension and a zero-dependency TypeScript client for writing your own./tree.Get notified about new models, features, and releases. No spam. Ever.