- orka - LLM coding agents in isolated containers
- pi extensions and skills - client additions and agent behaviour for pi
- recall - shell history in SQLite
- xorc - LLM-generated text adventure
- Other tools - Linear client, tmux attach, markdown navigation
getorka.dev - run LLM coding agents in isolated containers. Mount what they need; nothing else is reachable.
A session sees the paths you mount and nothing else: not $HOME, no credentials
from the environment, no shell history, no write access to /. Files inside a
mounted project can be shadowed with empty read-only stubs, so mounting a
repository does not have to mean handing over its .env.
Toolchain paths and environment variables are reused through named presets.
orka --preset rust mounts the Rust paths; presets stack when a project needs
more than one, and always-on presets live in config.yaml.
| Supported | |
|---|---|
| Agents | pi, claude-code, codex |
| Engines | Docker, Podman, Apple container (alpha), bubblewrap (alpha) |
| Platforms | Linux (alpha), macOS (alpha) |
Alpha, and predominantly vibe-coded. The source is currently closed;
kzsh/orka carries the docs and release binaries,
and orka.nvim runs orka -f <current-buffer> in a Neovim terminal split.
Additions to the pi coding agent, in two kinds.
Extensions change the client. pi-burn tracks
cost per request as context grows: a status-bar breakdown by token type, a
braille sparkline of the session's history, a /burn report, and a
--burn-budget that colours the graph as spend approaches the limit.
pi-vi puts vim modal editing in the input
editor, with normal and insert modes, counts, operators, and motions.
pi-alt adds Alt+Enter as a newline shortcut.
Skills change the agent's behaviour. Each is a single SKILL.md, loaded when the
task matches its description:
git,
markdown,
python,
rust,
typescript, and
partial-stage, which stages
selected changes within a file when git add -p cannot split a hunk finely
enough.
github.com/kzsh/recall - record shell commands into SQLite for later recall. I wanted part of atuin without all the rest.
recall log runs from PROMPT_COMMAND and stores each command line with its
timestamp, working directory, session, host, exit code, and wall-clock duration
measured in PS0. recall search filters on any of those - --cwd .,
--since 7d, --failed, --unique - and --null output feeds fzf --read0
for a picker over the current directory's successful commands. recall sql
streams arbitrary statements against the schema when the filters are not enough.
Rust, with a bundled SQLite trimmed to what the tool calls.
github.com/kzsh/xorc - a text adventure whose world is generated by an LLM.
The map is a graph in SQLite, built as it is walked. Leave a room in a direction
that has no exit yet and the model decides whether the path opens somewhere new
or loops back to a room you have already seen, reasoning from the nearby graph,
the distance travelled, and the time of day. Rooms remember what happened in
them; actions can change one permanently, create items, or reveal a passage.
Compass directions and verbs like take and inspect are parsed directly;
anything else is either mapped onto an existing action or interpreted freeform.
- linear-cli - client for the
Linear GraphQL API.
linear graphqlis the primitive; a few subcommands (issue,team,project,viewer) sit on top of it. - ta - attach to a tmux session. One session attaches directly, several open an fzf picker, and a number, name, or substring argument skips the list when it resolves to one session.
- markdown-navigation - follow
markdown links in Neovim with
<C-]>, including heading and line anchors. Remote.mdURLs are fetched to a cache and opened in a buffer; GitHub blob URLs are rewritten to raw first.


