local-first Β· no telemetry Β· MIT Β· beta

Let your coding agentoff the leash.Not off the rails. compass is a config layer for Claude Code, Codex & Gemini that stops your agent from burning your budget, running unsafe commands, or merging unverified code β€” scored 100/100 in CI, not asserted.

eval-gated 100/100 a budget cap that halts you always merge
β–Έ/plugin marketplace add dshakes/compass
β–Έ/plugin install core@compass
$brew install dshakes/tap/compass
$compass quickstart
$gemini extensions install https://github.com/dshakes/compass
$git clone https://github.com/dshakes/compass ~/compass && cd ~/compass && ./quickstart.sh
native package managers Β· no curl | sh Β· fully reversible Β· asks first
100/100guardrail P/R
100%red-team Β· 99
~62%cheaper
the three footguns

It stops the three things
an agent shouldn't do.

Everyone ships the same models. The edge is configuration you can trust β€” and compass hands you the number a skeptic can reproduce in 30 seconds.

HALTED
πŸ’Έ

Burning your budget

Usage trackers report spend. compass enforces it β€” COMPASS_MAX_USD=5 hard-stops the session before the next tool call. No $40 surprise while you're away.

BLOCKED
πŸ›‘οΈ

Running unsafe commands

Catastrophic commands and secret writes are denied before they run β€” and the policy is eval-gated in CI against a labeled corpus, not asserted. rm -rf / β†’ denied; rm -rf ./build β†’ allowed.

YOU MERGE
πŸ”

Merging unverified code

It reviews, security-checks, tests, cross-audits with a second model, and pushes its own fixes until green. The one thing it never does: press merge. That gate is yours, permanently.

measured, not vibes

Every claim is a number.

100/100
Guardrail precision/recall
61-case corpus, in CI
100%
Red-team P/R Β· 99 cases
100% obfuscation-robust
96.9%
Router accuracy
86-case eval set
62%
Cheaper than all-Opus
96.9% routing accuracy
SLSA
Verified supply chain
keyless provenance
reproduce it in 30 seconds

Five claims. Five commands.

No login, no tokens. Clone the repo and run any of these β€” the number prints on your own machine.

πŸ›‘

Guardrails with a score

$ compass bench
β†’ guardrail 100% precision/recall (61-case corpus)
β†’ router 96.9% Β· scored in CI, not asserted

Then ask the agent to rm -rf / or write a .env β†’ denied. rm -rf ./build β†’ allowed.

πŸ§ͺ

Red-team resistance

$ compass redteam
β†’ injection corpus 100% P/R (99 cases) + 90% on a public corpus
β†’ adversarial robustness 100% (273/273)
β†’ scans THIS repo's config Β· MCP Β· settings

A poisoned repo or web page can't quietly turn your agent against you β€” and you can measure how well that holds.

πŸ’Έ

A ceiling that actually stops it

$ export COMPASS_MAX_USD=5
# session cost climbs… $4.90 β†’ HALTED
Budget ceiling reached β€” stopping
before it spends more.

Blocked, not warned β€” before the next tool call. A per-day cap covers unattended fleet runs.

🧭

Cost routing, measured

$ compass route "redesign the auth model"
β†’ opus
$ compass route "fix a typo"
β†’ haiku

Cheap work goes to cheap models β€” ~62% cheaper than all-Opus at 96.9% routing accuracy. Run compass bench to reproduce it.

compass in action

Watch the guardrails fire.

The budget cap really halts before the next tool call; the loop really pushes its own fixes until tests pass. Don't take the animation's word for it β€” reproduce both on your machine with export COMPASS_MAX_USD=5 and /review.

~/payments-api β€” session budget

The $ ceiling that stops itHALTED

Cost climbs to the cap β†’ the next tool call is blocked, not warned. Your $5 stays $5.

~/payments-api β€” /review loop

Generate β†’ test β†’ fix β†’ repeatGREEN

It drives a change to passing tests on its own β€” then stops at your merge.

⭐ the part people screenshot

It fixes its own PRs.

A one-shot agent stops at its first wrong answer. compass loops β€” generate β†’ test β†’ critique β†’ fix β†’ repeat against a gate β€” so quality comes from iteration, not one lucky prompt.

generate✎ testβœ“ critiqueπŸ” fixπŸ”§ GATE tests + review pass β†’ then it stops at you. That gate never moves.

The same closed loop runs at four scales β€” each until a gate says done, then it stops at a human:

πŸ”

The task loop

generate β†’ test β†’ critique β†’ fix β€” one change driven to green.stops when tests + review pass

πŸ”Ž

The review loop

review β†’ auto-fix the Blocking findings β†’ re-review, round-capped Γ—3.hands to a human if still red

πŸ›°οΈ

The fleet loop

the whole pipeline, scheduled across every repo you own, overnight, test-gated.a PR per repo β€” approve from your phone

πŸ‘₯

The workflow loops

parallel agents that fan out, fact-check each other, and converge.one synthesized answer

what's in the box

On after one install.

The whole toolkit β€” guardrails, the crew, the router, the CLI β€” is live the moment you install. The autonomous loops sit on top, opt-in.

πŸ”

Autonomous SDLC

The review β†’ security β†’ tests β†’ cross-audit β†’ auto-fix β†’ re-review loop on every PR. Parallel reviewers, round-capped fixes, a second-model audit β€” then it stops at your merge.

09-sdlc β†’
πŸ›°οΈ

The fleet

The loop, scheduled across all your repos through a test gate β€” overnight. Wake up to a PR per repo you can approve from your phone.

14-fleet β†’
πŸ›‘

Guardrails & scanning

A hook layer that blocks disasters, catches secrets, auto-formats, and keeps a JSONL audit log.

16-hardening β†’
πŸ§ͺ

Red-team hardening

Eval-gated defense vs prompt-injection, config poisoning, safety-override, MCP tool-poisoning, malware & insecure code.

17-red-team β†’
🧭

Cost-tier router

Standalone, reusable: a deterministic keyword tier-picker (eval-gated 96.9%), with an opt-in 9-stage cost-aware engine. Measured, not vibes.

router/ β†’
πŸ‘₯

The crew + workflows

Cost-tiered expert subagents, slash-commands, and dynamic workflows that fact-check each other.

roster β†’
🚦

Cross-agent enforcement

compass gate β€” a localhost proxy that hard-caps spend for Codex, Gemini, and any SDK, not just Claude Code. The budget wall for every agent.

02-cost β†’
πŸ”

Plugin-security scanner

compass audit-plugin β€” vet a third-party plugin or marketplace (injection Β· tool-poisoning Β· unpinned MCP Β· fetch-and-execute hooks) before you install it.

17-red-team β†’
🧰

The compass CLI

onboard Β· impact Β· drift Β· scan Β· redteam Β· audit-plugin Β· gate Β· sandbox Β· verify Β· spend Β· dashboard

11-using β†’
πŸ”Œ

MCP + LSP

Curated, version-pinned MCP servers plus opt-in language-server intelligence.

04-mcp β†’
πŸͺͺ

Every agent, one source

Claude Code Β· Codex Β· Gemini β€” plus Cursor/Windsurf/Copilot via the AGENTS.md standard.

12-every-agent β†’
the trust boundary

Untrusted input in.
A human merge out.

Every source outside the boundary β€” a pasted prompt, a fetched page, an MCP tool result, a cloned repo's CLAUDE.md β€” is decoded, normalized, and scored before it can steer the agent.

The cardinal rule holds underneath it all: external content is data, not instructions β€” and the human gate is what actually protects you.

One config. Every agent.

CLAUDE.md Β· AGENTS.md Β· GEMINI.md are one file. A git pull updates them all at once.

πŸ€–

Claude Code

plugin + marketplace

⚑

Codex

plugin Β· AGENTS.md

✦

Gemini CLI

extension Β· GEMINI.md

🧩

Cursor Β· Copilot
Windsurf Β· OpenCode

AGENTS.md standard

one-click install

Pick the door that fits.

All reversible, version-pinnable, no curl | sh. You need an AI assistant + git. No API keys for the guardrails, crew & CLI.

Own & edit your config β€” recommended. Previews every change, asks first, fully reversible.

$git clone https://github.com/dshakes/compass ~/compass && cd ~/compass
$./quickstart.sh

Managed & versioned via Homebrew.

$brew install dshakes/tap/compass
$compass quickstart
$compass quickstart

No terminal β€” ideal for a team. Run these inside Claude Code.

β–Έ/plugin marketplace add dshakes/compass
β–Έ/plugin install core@compass

Full control β€” preview, install, validate.

$make dry-run
$make install && make doctor
What install actually does: it symlinks compass into your global ~/.claude config, so git pull / brew upgrade updates everything. Anything it replaces is backed up first; --copy copies instead of linking; make uninstall removes only what it added. Then verify: compass doctor β†’ expect β€œ0 error.”
trusted before it's run

Honest about its limits.

πŸ”’

You own the irreversible

Agents prepare; humans push, merge, deploy. Required checks + code-owner approval enforce it.

↩️

Readable & reversible

No curl | sh. The installer backs up what it replaces; make uninstall removes only what it added. Pin a tag, not main.

πŸ›‘οΈ

Guardrails β‰  a security boundary

They reduce footguns. Keep least-privilege creds and review diffs. For untrusted code, compass sandbox is a real boundary.

🌐

Phones home to nothing

No telemetry. Pinned MCP servers reach only the endpoints you'd expect; hooks are short, commented shell scripts you can disable.

Opus 4.8 Β· myrepo Β· main* Β· 45k ctx Β· $1.23 Β· 🧭 πŸ›‘1 🧹2 πŸ’‘1 πŸ“‰~$1.65
session spend, then today's compass activity: πŸ›‘ footguns blocked Β· 🧹 files formatted Β· πŸ’‘ policy nudges Β· πŸ“‰~$ estimated saved vs all-Opus. Nothing leaves your machine.
status: beta Β· dogfooded daily

Give your agent a leash
you can measure.

Install once. Feel it in a minute β€” ask for a dangerous command (blocked), run /review on your diff, or route a task. No tokens, no signup.

$git clone https://github.com/dshakes/compass ~/compass && cd ~/compass && ./quickstart.sh