
Runs quality gates on your codebase through MCP, exposing 26 tools that let AI agents check for hardcoded secrets, structural issues, and AI-specific drift like hallucinated imports. Gates fire automatically when agents write code and return Fix Packets with exact line numbers and remediation steps agents can consume directly. The Brain learns your codebase patterns over time, promoting recurring violations to hard rules. Works with TypeScript, JavaScript, Python, Go, Ruby, and more through AST analysis. Includes a live dashboard in Claude Desktop and VS Code that shows real-time pass/fail scores as agents iterate. Add it with npx and point your MCP config at @rigour-labs/mcp to get instant governance without leaving the agent loop.
Public tool metadata for what this MCP can expose to an agent.
rigour_checkRun quality gate checks on the project. Matches the CLI 'check' command.1 paramsRun quality gate checks on the project. Matches the CLI 'check' command.
cwdstringrigour_explainExplain the last quality gate failures with actionable bullets. Matches the CLI 'explain' command.1 paramsExplain the last quality gate failures with actionable bullets. Matches the CLI 'explain' command.
cwdstringrigour_statusQuick PASS/FAIL check with JSON-friendly output for polling current project state.1 paramsQuick PASS/FAIL check with JSON-friendly output for polling current project state.
cwdstringrigour_get_fix_packetRetrieves a prioritized 'Fix Packet' (v2 schema) containing detailed machine-readable diagnostic data.1 paramsRetrieves a prioritized 'Fix Packet' (v2 schema) containing detailed machine-readable diagnostic data.
cwdstringrigour_record_failureRecord an operation failure to track retry loops and prompt for documentation consult.3 paramsRecord an operation failure to track retry loops and prompt for documentation consult.
categorystringcwdstringerrorMessagestringrigour_clear_failureClear failure history for a category after a successful operation or manual fix.2 paramsClear failure history for a category after a successful operation or manual fix.
categorystringcwdstringrigour_rememberStore a persistent instruction or context that the AI should remember across sessions. Use this to persist user preferences, project conventions, or critical instructions that the agent should always follow.3 paramsStore a persistent instruction or context that the AI should remember across sessions. Use this to persist user preferences, project conventions, or critical instructions that the agent should always follow.
cwdstringkeystringvaluestringrigour_recallRetrieve stored instructions or context. Call this at the start of each session to restore memory. Returns all stored memories if no key specified.2 paramsRetrieve stored instructions or context. Call this at the start of each session to restore memory. Returns all stored memories if no key specified.
cwdstringkeystringrigour_forgetRemove a stored memory by key.2 paramsRemove a stored memory by key.
cwdstringkeystringA reviewer that knows how your team works, whichever agent writes the code.
Whichever agent your engineers use, its work arrives already shaped by how your team builds software, and it gets closer to your standards every week.
Teams used to carry their judgment through people: the senior who briefed you before you started, the reviewer who caught what you missed, the engineer who remembered why the last attempt failed. Coding agents write faster than any person can brief, review or remember. The knowledge is still in your team; Rigour is how it reaches every agent, at the speed agents work.
Works with Claude Code, Cursor, Codex, Cline and Windsurf. Free, open source, and runs on your machine.
rigour setup (--no-brief to leave it out), or rigour_brief for any agent with MCP. See The briefing.git push, where your formatter, linter, type check and the tests that touch the change run too. Opt-in, the change is also checked against the goal its pull request declares: files outside its scope, "done when" items it never did. See The goal check.One piece of work is one task, whatever agents and people touch it, and rigour thread shows everything that happened to it: what was caught while the code was written and fixed before the push, what blocked, what each review found. See The task thread.
| Default | Cost | |
|---|---|---|
| Checks on every edit, before "done", before push | On after rigour setup | Local; the after-edit check starts the CLI once per edit |
| Your team's tools before push | On | Your own formatter, linter, type check and tests |
| The reviewer | Off until enabled in Studio or rigour.yml | Your agent's own model and login, one long read per review; the record of each review shows its cost |
| A panel of judges | Off; mode: full or panel: on | One judge's cost per judge, plus a short cross-examination of what they disagree on |
| A judge through any OpenAI-compatible API | Off; reviewers: [api] | The provider's price for your key |
| The briefing | On with rigour setup (--no-brief, brief.enabled: false or RIGOUR_BRIEF=0 turns it off) | No model; with the credential scan on, +22 ms per edit and +121 ms on a file's first edit (measured on Rigour's own repository) |
| The task thread | On wherever the hooks run | A line per event in your git folder |
| When | What Rigour does | If something's wrong |
|---|---|---|
| Every edit | Fast checks on the file: secrets, imports that don't exist, proven bugs | The agent sees it at once |
| Before "done" | The whole branch against main: findings to fix, code nothing uses, risky patterns, a merge conflict | The agent keeps working (at most three times) |
Before git push | The same, plus your formatter, linter, type check and related tests, and the reviewer that remembers | The push is blocked, one line per problem |
| On the pull request | A quiet safety net: at most two comments, only on what wasn't already checked | — |
With the briefing on, a line comes before all of these: before each file's first edit, what your team asks of that file.
See what it finds first, changing nothing (on a branch with work on it):
npx @rigour-labs/cli review --base origin/main
Worth it? Set it up:
brew install rigour-labs/tap/rigour # or: npm install -g @rigour-labs/cli
rigour setup # in your repository
rigour setup connects Rigour to your agents, installs the three moments, and checks that everything works. By default it is personal: nothing in your working tree. The agent hooks are installed once per machine and stay silent in any repository you have not switched on, and switching this one on writes only inside .git/. When your team wants it for everyone who clones, rigour setup --team commits it to the repository instead. Either way it merges into the agent configs you already have rather than replacing them. Changed your mind? rigour uninstall takes out exactly what it put in. Get started walks through it.
Rigour is about 70 MB per version. Semantic search (about 250 MB on Linux, 280 MB on macOS) is installed once per machine by rigour setup and shared by every version; skip it with --no-semantic.
Using Claude Code? The plugin does all of it:
/plugin marketplace add rigour-labs/rigour-plugin
/plugin install rigour@rigour-labs
Want the reviewer too? It is off until someone turns it on, and you choose how far to take it: for yourself in Studio's Setup page, or for the whole team in rigour.yml:
review:
reviewer:
enabled: true
mode: full # one judge per vendor, up to `judges`; single (the default) is one judge
panel: on # only what most judges confirm blocks; required: no one may turn it off
judges: 3 # 2 or 3, one per vendor installed
escalate: risk # add judges only for risky changes; measure it with rigour backtest first
The push goes through as soon as the checks pass; the reviewer then reads the pushed commit in the background (only when it has an open, non-draft pull request, so you pay for a model only when someone will read the push). rigour review --status shows its verdict and what ran; rigour review --reviewer --full is the hard stop before you ask a person to review. Your own choice wins for your runs, except where the team set a floor, and Rigour always says which judges actually ran and why.
Then open Studio to watch it work:
rigour studio
| Command | What it does |
|---|---|
rigour setup | Gets your repository ready and checks it works |
rigour brief | What your team would tell an agent before this task: rules, lessons and settled points, each cited |
rigour thread | What happened to a task, across agents, checks, pushes and reviews |
rigour review | Reviews your current change, or a branch before you open a PR (--reviewer adds the reviewer that remembers; --scope lists what a fix round changed that the review never asked for) |
rigour studio | Shows what Rigour stopped, learned and gave your agents |
rigour doctor | Tells you what's working, what isn't, and how to fix it |
rigour uninstall | Takes out exactly what Rigour put in; your own settings and edited files stay |
Everything else is in rigour help --all.
rigour backtest replays the review on commits your team reviewed, with the review hidden, and scores it: which of the reviewer's points it would have caught first, and whether it would have blocked anything they called good. See Backtest.Rigour is free. With an agent you need nothing else: the checks run locally, and the reviewer and the review of risky changes use your agent's own model and login. A model key is only for reviewing code written without an agent, and for the pull request bot.
Pull requests. Add one workflow file and Rigour reviews every PR, quietly. Make it a required check, and a PR can't dismiss its own findings or loosen its own settings. See Pull requests and CI.
One setup for everyone. rigour setup --team commits the configuration, and each teammate runs rigour setup once after cloning. See Team setup.
Shared knowledge. Point Rigour at a PostgreSQL database and lessons one person's agent learns can be shared with the whole team, after someone approves them. Only lessons from the team's own repositories are ever sent. See Team database.
Joining a team that already shares lessons? Ask your team's Rigour administrator for your own login first: by design, nobody can add themselves. Then it is one command per machine and three per clone. See Join an existing team.
How the benefit reaches each person. One review comment, followed from the pull request where a senior wrote it to every teammate's agent on the next change: A team's knowledge, from one review to every agent.
Working for more than one company? Profiles keep each one's memory, lessons and team apart, chosen by the repository you're in. See Profiles.
| If you want to… | Read |
|---|---|
| Install and run Rigour step by step | Get started |
| See what changed in this release, and how to upgrade | Release notes |
| Know what to do with a finding while you work | During development |
| Set it up for a whole team | Team setup |
| Review every pull request in CI | Pull requests and CI |
| See which agents it supports, and its MCP tools | Coding agents and MCP |
| Run the reviewer, from one judge to a panel | The reviewer |
| Use your own model key, or a local model | Model review |
| Tune what Rigour checks | Configuration · every setting |
| See every check, and how accuracy is kept honest | What Rigour checks |
| Approve it for your organization | Security and network use · Telemetry: opt-in, anonymous, never code |
| Work across several companies on one machine | Profiles |
| Everything | Documentation index |
pnpm install
pnpm build
pnpm test
See Contributing.
Documentation · Discussions · Issues
MIT © Rigour Labs · Built by Ashutosh