Sirius Forester
siriusthe foreman
Claims the task, locks the code, gates the tests, files the receipt.
Sothis · RA 06h 45m 08.9s · DEC −16° 42′ 58″ · MAG −1.46
Sothis is six local-first tools that give a fleet of Claude Code agents a shared brain — a foreman, a live code graph, a board, living documentation, a bell, and a referee. Every one of them runs on your machine.
Or open Claude Code and saylet's Sothis this up
01/07
Ametrite hands out the work: one atomic claim, so two agents can never take the same issue.
Sirius asks which symbols the issue touches, locks them, and briefs the agent.
Your agent writes the code. It is the only part of the loop that needs a model.
Hayvenhurst reads the real diff and names the tests it can actually reach.
Sirius runs those tests and refuses to mark anything done until they pass, then files a two-way receipt.
Catryna updates the docs that describe the changed code, and flags the ones that drifted.
PingMyBell speaks up the moment the loop needs a human decision — or the run is done.
The problem
Run two or three coding agents on one repo and the same failures show up fast: two agents grab the same task, edits collide silently, an agent calls it done without running the tests its change actually broke, and a week later nobody can say why a function changed. Sothis is six tools that fix that — and every one of them runs on your machine.
Double claim
Two agents pick up the same task. You pay twice for one feature, then merge it against itself.
Silent collision
Both edit the same symbol. Nothing warns either of them until the merge, and by then the context that would explain it is gone.
Ungated done
An agent marks its own work complete without ever running the tests its change actually reached.
Lost why
A week later the function is different, the docs still describe the old one, and no record connects either to a decision.
The loop
Sothis is a loop, not a framework. Each tool owns exactly one store and talks to the others only through their CLIs and an MCP server where an agent needs structured access — which is what lets you swap one, skip one, or run one entirely on its own.
Five of the six tools are on that loop. Guignet is not: it stands outside and keeps score, benchmarking whichever model and agent you put in the middle against your own git history.
amt/claims
Ametrite hands out the work: one atomic claim, so two agents can never take the same issue.
sirius/locks
Sirius asks which symbols the issue touches, locks them, and briefs the agent.
your agent/writes
Your agent writes the code. It is the only part of the loop that needs a model.
hayven/selects
Hayvenhurst reads the real diff and names the tests it can actually reach.
sirius/gates
Sirius runs those tests and refuses to mark anything done until they pass, then files a two-way receipt.
catryna/documents
Catryna updates the docs that describe the changed code, and flags the ones that drifted.
pingmybell/rings
PingMyBell speaks up the moment the loop needs a human decision — or the run is done.
The suite
Install all six and you get the loop, plus a way to prove it is working. Install one and you get one good tool with no dependencies on the rest — that is the contract, and it is why each of these has its own repository and its own release cadence.
siriusthe foreman
Claims the task, locks the code, gates the tests, files the receipt.
hayventhe live code graph
Which tests can this change break, and which slice of code do you actually need.
catrynathe living documentation
Docs your agent searches before it builds and updates after it changes things.
pingmybellthe bell
Your fleet speaks the moment it finishes or needs you.
amtthe board
Issues, notes and decisions in one SQLite file — with race-free claims.
guignetthe referee
Benchmarks any model, agent or config against your own git history — locally.
All six, in order
The plugins first, then the CLIs — with the Windows path spelled out and the three failures that actually happen.
Install guide →
Why local-first
01
Claims, locks, receipts, issues and the code graph live in SQLite files inside the repo you are working on. Inspect any of them with the CLI or with sqlite3.
02
No sign-up, no API key, no seat. The tools make no LLM calls of their own — your agent brings its own model. Nothing is uploaded, and nothing is telemetered.
03
Each tool owns exactly one store and talks to the others only through their CLIs and MCP servers. Any one of them can be swapped, skipped or run entirely alone.
04
MIT throughout. Ledgers are SQLite, docs are MDX in your own git history. Remove every tool tomorrow and your work is still there in plain files.
Install
The plugin half is the one that gets dropped, and a fleet with the CLIs but no pluginslooks installed while none of the slash commands, skills or MCP wiring exist. So: plugins first.
The one-shot script then installs every missing CLI through each tool's own verified installer — checksums always, and a Sigstore signature for sirius — and ends with sirius doctor, so a half-done install says so loudly instead of looking finished.
1 · Plugins
$claude plugin marketplace add Davidb3l/Sirius-Forester
$claude plugin install sirius@sirius-forester
$claude plugin install hayvenhurst@sirius-forester
$claude plugin install catryna@sirius-forester2 · CLIs (macOS, Linux, Git Bash on Windows)
$"${CLAUDE_PLUGIN_ROOT}/scripts/install-sothis.sh"PowerShell users run install-sothis.ps1 — same artifacts, same checksum verification.
Sothis is the ancient Egyptian name for Sirius. Its heliacal rising — the first dawn it reappears after seventy days below the horizon — set the start of the year and predicted the Nile flood. A fixed point you could plan the year around. That is the job here.