Parallel operators, one surface
Each tab is an isolated PTY. Claude Code, Codex, custom agents run side-by-side. No context bleed.
Covenant · Open Source
Run swarms of autonomous operators in parallel sessions.
See every byte they emit. Intervene at any moment.
Ship more, with a contract that makes autonomy survivable.
Install
Copied to clipboard!
macOS · Windows · Linux
The companion
Each tab is an isolated PTY. Claude Code, Codex, custom agents run side-by-side. No context bleed.
The super-agent sees every block in every tab. Tests fail in tab 2 right after you edit in tab 1? It connects the dots.
⌘K to ask 'what's going on?'. Inline suggestions on non-zero exit. Take the wheel back without breaking the session.
Commits, PRs, CI signals stream back. Operators are first-class authors on your graph.
The covenant
rm -rf, sudo, curl | sh, force-pushes to protected branches, writes to ~/.ssh, fork bombs. Removing entries requires code review.
→ safety.rsAPI keys, JWTs, SSH keys, GitHub and AWS tokens — masked before any byte reaches the model.
→ lib.rsPer-minute and per-day token ceilings. Single agent::dispatch(), no bypass.
→ lib.rsWorktrees — isolation without the debris
Claude puts them in .claude/worktrees/. The common
fallback uses .worktrees/. Ad-hoc
git worktree add scatters siblings across your source
folder. None of them is wrong, and that is exactly the problem — five conventions on one repo,
and nobody to clean up after them.
Covenant hands out the worktree and launches the agent inside it, so no agent ever reaches the question. Whichever harness you use today, and whichever one you adopt next.
<repo>/.covenant/worktrees/<agent>
One root, named after nobody's tool. Every worktree left standing has work inside it — the rest retired themselves when their tab closed.
Nobody configures anything. Covenant creates the worktree and launches the agent inside it, so the agent never reaches the question. An executor you adopt next month inherits the same isolation without being added to a list.
Every worktree carries a state — active, stale, spent, orphan — derived from git, never stored. Each state offers exactly one action. You accept a verdict; you never have to know the git command.
A worktree is removed only when it provably holds nothing: merged, clean, and pristine on disk down to the ignored files. Anything else stays, and says why. Deleting is the exception that has to earn itself.
Gravity · Desktop app
Covenant runs your operators in a terminal. Gravity gives them a canvas: you direct from the middle, they work at the edges — and everything they learn stays in the repo, not in an app's database.
Each agent is a JSON file under .iaterminal/, each context a Markdown file next to it. Commit them, review them in a PR, hand them to the next person who clones.
An agent closes its turn by publishing to .iaterminal/results/. The next one picks it up as context. Delegation is capped, so a chain ends instead of spiraling.
Claude Code, Codex, Cursor, Copilot, Gemini, Kimi, Opencode, Pi, Hermes. Gravity drives them as child processes: no API keys of its own, no model of its own.
Latest: v0.95.3 · Debian and Ubuntu: .deb · all releases · source on GitHub
Canon — context is the new code
Patrick Debois calls it the Context Development Lifecycle: generate, evaluate, distribute, observe. Canon is that discipline made concrete inside Covenant — where the lazy path is the rigorous one.
Generate
Context Miner turns your repo into candidate skills, memory, commands and subagents. Souls and Spec Author hand-craft the highest-value context. Detection & Adoption pulls ungoverned files already lying in a repo into the lifecycle.
Evaluate
Eval Runner sandboxes context with claude -p and an LLM-as-a-judge. The phase most teams skip — the one that separates compounding gains from a ceiling.
Distribute
A registry versions and signs every publishable kind; cdlc.toml is the lockfile. Projection writes one source of truth into each executor's native file inside idempotent managed blocks. Org-scoped roster shares it across the team.
Observe
Install and usage events flow through Score and the Pulse dashboard — which skills, memory and souls actually moved the needle. Governance closes the loop back to Generate.
A soul is a decision the principal has already made — context authored, reviewed and committed rather than re-improvised every session. Covenant treated context as code before it had the name.
The receipt
DORA was designed for humans typing. A single orchestrator now ships hundreds of PRs a day. The Covenant Score is the only unit that survives.
Covenant Score
Six dimensions. One number. Compatible with — and an honest replacement for — DORA in the autonomous era.
Deep dive
Run multiple terminal sessions simultaneously with isolated contexts.
Monitor and control AI agents across all your sessions in real-time.
Track safety metrics and compliance scores at a glance.
Every commit and PR is attributed to the responsible operator.
Customization
Four theme modes and 7 wallpaper-backed ones. Five tab styles with nine knobs of their own. Four folded-rail treatments. Terminal typography down to letter-spacing. Every scrim measured, not guessed.