A CI runner you attach to. odu (Tamil ஓடு — run) runs your
just recipe DAG across machines, posts GitHub commit
statuses, and holds the run as live typed state — for a terminal dashboard
and for coding agents over MCP.
Website · Docs · Announcement
nix run github:juspay/odu -- run --host x86_64-linux=localhostodu attach # live matrix + logs from another terminal
odu mcp # same run, agent face (MCP over stdio)Batch CI leaves log files. odu keeps the pipeline alive: attach late and replay
from the top, fail-fast when a node goes red, rerun only that node and its
dependants. Tag one recipe with [metadata("ci")] — that dependency closure
is the pipeline. Hosts are always explicit (localhost or ssh); nothing is
guessed.
AGPL-3.0-or-later