Sno Station
Sno Station is your agents' workstation: open-source software that turns the AI agents you already run into one squad on your own machine. Two heads are better than one, and they get better with every
You author the rules. TRON runs the fleet. You hear from it when it matters.
PluginsTypeScript · ShellGitHub @4242labsOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
A Pi extension that drives a fleet of coding-agent seats through build, gates and review — and stops at every merge for its operator.
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
TRON-CLU for Pi — a supervisor extension that
drives a fleet of Pi seats through a build → review → merge pipeline, one block at a time,
and stops at every merge to ask you.
Pre-v1. The driver, the seats, the law and the memory adapter are built and tested, and
one three-block pilot has run end to end on a private sandbox. Seats are not contained yet —
see docs/containerization.md before pointing it at work you care
about.Read the full README ↗TRON-CLU for Pi — a supervisor extension that drives a fleet of Pi seats through a build → review → merge pipeline, one block at a time, and stops at every merge to ask you.
Pre-v1. The driver, the seats, the law and the memory adapter are built and tested, and one three-block pilot has run end to end on a private sandbox. Seats are not contained yet — see docs/containerization.md before pointing it at work you care about.
You give CLU a mandate: an ordered list of blocks. Each block is a task, a branch, and a set of acceptance criteria — where every criterion carries the command that decides it, so "done" is never a judgement call.
For each block, in order:
A rejection sends the block back to the same worker seat with the reviewer's own words as its brief. A wall the driver cannot clear — a retry cap, a spent budget, a block file edited underneath it — parks an escalation with a fixed set of answers, and waits.
A seat never lands work. That is held three ways, in order of strength: the tool allowlist Pi enforces from the parent process, the parked merge that no code path can clear, and a pattern-matching deny extension that is bypassable and documented as such. docs/law.md states exactly where each stops working, and which one is load-bearing (it is you).
pi install npm:@4242labs/pi-tron-clu
Then, in a Pi session at the root of a git repository:
/tron-clu init # gates, branch, merge strategy — written to .pi/tron-clu.json
/tron-clu ./blocks/mandate.json # start a mandate
/tron-clu status # where it is
/tron-clu approve <block> # the merge. TUI only, always
/tron-clu reject <block> <why>
/tron-clu answer <item> <choice>
approve, reject, answer and starting a mandate are TUI-only: there is no
programmatic path to starting a run or approving a merge.
{
"id": "b1-titlecase",
"task": "Add a titleCase function to src/kit.js and export it…",
"reviewerClass": "code",
"acceptance": [
{ "criterion": "titleCase is exported", "verify": "node -e \"…\"" },
{ "criterion": "the whole suite passes", "verify": "npm test" }
]
}
A criterion with no verify command is refused: a criterion no command can check is not a
criterion. So is an unknown field — a typo is a reason not to run.
bash, and bash reaches the network
and the filesystem. See docs/containerization.md — evaluated,
deferred, with the conditions for adopting it named.| docs/law.md | what a seat cannot do, and where that stops being a guarantee |
| docs/drills.md | every failure this design claims to survive, and the test that proves it |
| docs/pi-api.md | the verified Pi contract this is built against |
| docs/memento-adapter.md | what the supervisor remembers, and what it must not |
| docs/containerization.md | seat containment: evaluated and deferred |
| docs/publishing.md | how this reaches npm and Pi's gallery |
gh, for the pr and squash merge strategiesOpen source — Apache-2.0.
If it earned its keep, coffee is appreciated. ☕