Deterministic project rules for your coding agent. They kick in when it touches a file or runs a command, and hold until met: files only where you allow, right skills loaded first, work proven by diff or logs. Not a suggestion in CLAUDE.md or AGENTS.md.
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
Your agents slop. Take control. Deterministic project rules for your coding agent. They kick in when it touches a file or runs a command, and hold until met: files only where you allow, right skills loaded first, work proven by diff or logs. Not a suggestion in CLAUDE.md or AGENTS.md. One Claude Code session, one prompt: make every capability in harness-mocks, our fakes of Claude Code, Codex and Cursor, real for every harness, proven by recordings of the real thing. It split the work across parallel agents, and sloprail checked every step. [README 설치·사용 부분 발췌] Install檢視完整 README ↗
Your agents slop. Take control.
Deterministic project rules for your coding agent. They kick in when it touches a file or runs a command, and hold until met: files only where you allow, right skills loaded first, work proven by diff or logs. Not a suggestion in CLAUDE.md or AGENTS.md.
| Website → | Docs → |
|---|
| Watch the 2-min video → | Claude Code session replay → |
|---|
One Claude Code session, one prompt: make every capability in harness-mocks, our fakes of Claude Code, Codex and Cursor, real for every harness, proven by recordings of the real thing. It split the work across parallel agents, and sloprail checked every step.
Hooks, CLAUDE.md, skills, AI reviewers | sloprail | |
|---|---|---|
| When rules appear | after a mistake, if you add them | first: the agent sets them up before any change that will repeat, and they stay |
| The rule | text the model reads, or a hook script you write | a check that verifies the work, run by code |
| Shell changes | the hook sees the command, not which files it changed | checks every file the change touched |
| What gets judged | one tool call at a time | sliced the way each rule needs: one file, a module, or the whole commit |
| Push and merge | blocked only if your hook pattern matches | blocked until the checks pass |
| Review | an AI reviewer re-reads it every time; what it checked is opaque | every verdict saved with its rule and reason, reused until the code changes |
sloprail is installed per project: run these from the project's root.
Claude Code:
claude plugin marketplace add sloprail/sloprail --scope project
claude plugin install sloprail@sloprail-marketplace --scope project
Codex (then enable the plugin in the project's .codex/config.toml, and trust its hooks with sr-session codex-trust):
codex plugin marketplace add sloprail/sloprail
codex plugin add sloprail@sloprail-marketplace
Cursor (plugins are per user; this also installs the binaries):
curl -fsSL https://raw.githubusercontent.com/sloprail/sloprail/main/install.sh | sh -s -- --harness cursor
The first session after that installs the sr*
binaries the hooks call, once: the release matching the plugin's version,
checksum-verified, into ~/.local/bin, and says so. From then on every tool
call and turn-end runs through sloprail — you don't run anything by hand.
Install has each
harness's verification step and what differs between them.
Set SLOPRAIL_NO_AUTO_INSTALL=1 and run
curl -fsSL https://raw.githubusercontent.com/sloprail/sloprail/main/install.sh | sh
(or go install ./services/... from a checkout).
Rules live under .sloprail/, one folder per rule:
gate/ checks an action before it happensfile-guard/ checks what a file holds, on every commitcontext/ is a mode other rules depend onfile-guard/structure.yaml lists where files may go at allYour harness calls sloprail on every tool call and turn end, and sloprail runs the rules that apply.
To make verdicts block merges, run sr-checks verify in CI: see the Quickstart.