local infra for
code review agents.
Precision-first review for the coding agent you already run — Claude, Codex or OpenCode. You don’t need to pay for another agent.

Install
One line, then ask your agent to review.
Installs the engine and a local MCP server into ~/.splus, then wires up every coding agent it finds. No account, no key.
$ curl -fsSL https://splus.sh/install.sh | sh$ claude mcp add --scope user splus -- ~/.splus/bin/splus-mcp# Codex — ~/.codex/config.toml
[mcp_servers.splus]
command = "~/.splus/bin/splus-mcp"
# OpenCode — ~/.config/opencode/opencode.json
{ "mcp": { "splus": { "type": "local",
"command": ["~/.splus/bin/splus-mcp"], "enabled": true } } }The engine
Deterministic checks. Every finding has an anchor.
A Rust engine reads the tree-sitter AST of your diff. No inference, fully repeatable — the agent only judges what’s left.
- 01 diff-scoped
Only the lines you added
Generated, vendored, and lockfile paths are skipped. Large diffs are capped at 600 files, not crawled.
- 02 secrets
Keys, tokens, credentials
gitleaks-style rules with an entropy check, in pure Rust. No external tools, and the entropy gate drops placeholder matches.
- 03 complexity
The delta, not the size
Cognitive complexity measured before and after your change. It flags functions you made harder to read, not ones that were always big.
- 04 blast radius
What a change can break
Every caller of what you changed, across files. Compiler-grade with a SCIP index (~97%), name-and-import heuristics without. Each result shows its confidence.
- 05 adapters
More tools when present
If semgrep, ast-grep, or osv-scanner are on your PATH, splus runs them too. What’s missing is reported, not hidden.
How it runs
Your agent calls it. Locally.
- 01 mcp
Five tools over a local server
A local stdio server with five tools —
review,dismiss,mute,learnings,index. No network. Your agent stays the reviewer. - 02 it learns
Dismiss once, it stays quiet
Dismiss a finding and it stops coming back — by exact match, by rule, or by similarity. Learned per repo, in
.splus-cache. - 03 byo llm
Optional, off by default
Add a key to turn on triage (Haiku) and a deeper discovery pass (Opus) for logic bugs. Off by default; the engine needs no model.
- 04 local · MIT
Nothing leaves your machine
Runs on your checkout. No account, no telemetry, no uploads. MIT-licensed — read it, fork it, self-host it.