Ymir is the agent operating system these courses are written from. It is a hobby project, open and free — install it, fork it, use it.
Launch a supported harness in the repo and you take the high seat: context is injected before your first turn, the model bridge is raised, the scheduled jobs start. OpenCode, Pi, Claude Code, Cursor and Codex are all first-class.
It installs into a prefix you own, writes the PATH into your shell, runs the first setup, and then proves it. Or run it with nothing installed at all — no PATH, no prefix, nothing to configure.
Ymir owns three things — the UI, the runtime, and A2A collaboration. Everything else wears a Norse name over a validated engine, because rebuilding a subsystem that already works is how you spend a year and learn nothing.
curl -fsSL https://raw.githubusercontent.com/zerwiz/ymir/main/install.sh | bash # or, with nothing installed: npx @zerwiz/ymir
ymir first setup: the plan, then your word ymir raise | lower lift the hall, or lay it down ymir hlidskjalf the high seat's window ymir smidja the smithy's board (:8437) ymir heimdall · invite the way in, and letting someone else in ymir eir · groa what stands and mending · take the latest and mend forward
Complex work runs in a Yggdrasil worktree sealed by an Utgard sandbox. A failed run never touches main.
Runes is an append-only, checksum-chained ledger. What happened, and when, is not a matter of memory.
Mimirsbrunn is drunk from before a dispatch and watered after. A dry well warns — it never blocks.
Mjollnir opens pull requests and nothing force-merges. The merge is a human's word, every time.
The distro depends on all four surfaces, so installing one brings everything. Each can be installed alone if you want only that hall.
@zerwiz/ymirthe distro — the runtime, the doors, the installer, the plan
@zerwiz/hlidskjalfthe high seat — the control plane, the gate, the landing
@zerwiz/odrerirthe live hall — the board on :4322
@zerwiz/smidja-factorythe smithy — the agent factory, its skills, the visualizer on :8437
@zerwiz/sessrumnirthe seat-hall — the desktop where you speak with Brokk
sourceApache-2.0, public, and a hobby project made for the love of the craft. Read it, fork it, enjoy it.
github.com/zerwiz/ymir →Every subsystem is named for the figure whose role matches the work it does — so a name tells you what a thing is for before you read a line of it. That is also why these courses are written the way they are: when something breaks, you can name the part that broke.
the primary agent — the bellows at the forge
the workers, sealed in their own sandboxes
the tree — one worktree per job, zero collision
the wall — untrusted code runs there, never in the halls
the well — memory that grounds the next dispatch
the ledger — append-only, checksum-chained, never rewritten
the hammer — opens the pull request; nothing force-merges
the high seat — the control plane
Every course in the academy was written and verified on a machine running Ymir. Course 1 sets up the machine those lessons assume. Course 3 is the desk. Course 4 is directing an agent — and the isolation, the audit trail and the human-in-the-loop gate are exactly the laws you learned here, first as practice and then as words.
So this is not a sponsor's logo on a page. It is the machine the material was forged on, and it is free and public — install it yourself and check.
One cookie. We set exactly one, agf_session, and it is your sign-in — without it you are not signed in. No analytics, no advertising, no trackers. What we hold, in full.