In the workshop · coming soon
Karn builds the containers your coding agents work in. Describe one in a short recipe, and Karn turns it into a ready-to-run image with Claude Code or Codex inside, set up the way you work. Then put it to work: let it run on its own as an Automaton, or step inside it as a Bastion.
Sheet 01 / 04
Write a short recipe
Extend a stock base and write only what’s different. Everything else is inherited.
Sheet 02 / 04
Check the settings
Instructions and settings come from Git. Settings pass a closed allowlist, so none can name a command, a script, or an endpoint.
Sheet 03 / 04
Build it, with a receipt
karn buildstacks your recipe on the stock base and stamps the image with the Git commit it came from.Sheet 04 / 04
Put it to work
Let it run on its own as an Automaton, or step inside it as a Bastion.
Illustrative example: the recipe, settings and commit are made up. The stock bases are Karn’s own.
Automatons: workflows on autopilot
A whole workflow that runs itself. A trigger starts it — any trigger a controller plugin can watch for, like a pull request picking up a label — and it works unattended to an exit code and its outputs.
Bastions: a workbench that stays up
The same kind of image as a long-running workspace with you attached. Its persistent folders survive restarts, and it picks up new knowledge between sessions.
Only write what’s different
Every recipe extends a stock base. Yours says what’s new and inherits the rest.
Your playbook, in Git
Instructions and settings live in one repo. Karn compiles them into the layout each tool expects — in the image or on your own machine.
Settings with a seatbelt
Agent settings are checked against a closed allowlist, so they can’t sneak in a command, a script, or a new endpoint.
Every image has a receipt
Each build is stamped with the Git commit it came from, so you always know what’s running.