The quality gate for the agent era
Everyone has an AGENTS.md now. Almost no one has a gate that checks the agent actually followed it. One npx gives a deterministic 0 to 100 score across 29 engineering categories and 413 checks. Your rubric lives in a private oracle, so your agents can't game what they can't read.
Why now
PR size. After a 90% jump in AI-coding adoption: review time up 91%, bug rate up 9%. The volume went up. The quality did not.
of AI PRs merge with zero human review. Review time is up 441%. Someone has to be the last line of defence.
more issues in AI-written code than human code. Readability 3×, performance 8×. The gap is not closing on its own.
The shift
"Telling an agent to follow our standards is probabilistic compliance. Wiring a gate that blocks the PR when standards are violated is deterministic enforcement."Augment Code
developer-doctor is the deterministic gate.
The moat
The weights and 109 semantic checks are judged against private rubrics your agents never see. The open client ships the finder; it emits coded findings, never the logic behind them. The standard stays out of the repo, so the gate can't be gamed by reading the source.
29 categories, from code craft and type systems to security, observability, accessibility, and LLM practice, into one number a script can compare. The same repo always scores the same, so you can gate CI on it. An LLM can't.
The gate blocks the PR when the score drops below your team's prior best, not a fixed number teams quietly lower. It runs where agents already live: MCP, Claude Code hooks, GitHub Action, AGENTS.md.
The standard
We publish what we check. We keep private how much each counts and how the hard ones are judged. Every rule in the handbook maps to a shipped check — verified twice, independently.
Pattern and config detection — runs locally and offline in the free client. The same repo always scores the same.
Semantic calls — single responsibility, dependency inversion, event immutability — resolved against private rubrics tuned for low false-positives.
Needs a runtime or git state to settle. Reported honestly as not verified, never guessed.
Because you can't gate CI on a number that changes every run. developer-doctor is deterministic: the same repo scores the same every time. The 109 semantic checks are judged against rubrics tuned for low false-positives across thousands of real files, and the score ratchets so no agent can quietly lower the bar. A prompt gives you a vibe. This gives you a gate.
SWE-bench measures whether an agent can fix a bug. developer-doctor measures whether the codebase it builds is production-grade across 29 dimensions.
How it works
Zero install, no config. A 0 to 100 score and tiered findings in seconds. Works offline.
init scaffolds a CI workflow, a README score badge, and a committed baseline. From then on, --gate fails the build on any regression.
install injects the gate skill into AGENTS.md, CLAUDE.md, and .cursorrules, and registers a Claude Code Stop hook. Every agent runs the audit before it opens a PR, then blocks itself on a regression.
The toolkit
Teach Claude Code, Cursor, Copilot, and Windsurf to run the gate before every PR.
developer-doctor install --hooksA humor-tinged reading, plus an SVG scorecard you can drop in a PR or a tweet.
developer-doctor roast --card card.svgWhich agent (Claude Code, Cursor, Codex, Copilot) actually writes code that meets your standard? Nothing else answers this — a public agent leaderboard is on the way.
developer-doctor agentsEncode your team's rules as checks in dd.standard.json, enforced on every run.
developer-doctor standard initAny coding agent in your stack can call the audit directly and fix before committing.
developer-doctor mcpSelf-contained HTML or Markdown reports, plus a live shields.io score badge.
developer-doctor . --report htmlPer-agent scorecard
Attribute every run to the agent that produced it. developer-doctor shows which one clears your bar, and by how much — from your team's own runs. Nothing else answers this.
| Agent | Score | Δ vs baseline | Verdict |
|---|---|---|---|
| claude-code | 66 | +2 | meets |
| codex | 61 | −3 | below |
| copilot | 69 | +5 | meets |
| cursor | 58 | −6 | below |
Illustrative. Your scorecard is built entirely from your own attributed runs.
Real scores
Real offline scores under the strict 29-category standard. Large codebases accumulate advisory candidates, so a 50 does not mean Express is broken. It means there are 50 points of room before your agents ship on top of it. A breadth-of-standard story, not a quality verdict.
Median about 30 out of 100. CodeScene found codebases below 9.5/10 health make AI agents introduce 60% more defects and burn 50% more tokens. Your agents start from a low baseline, and the ratchet stops them from making it worse.
Where it fits
| Capability | developer-doctor | Linters | SonarQube | AI reviewers | OSSF Scorecard |
|---|---|---|---|---|---|
| One 0 to 100 health score | ● | · | partial | · | · |
| 29-category span | ● | one language | · | · | security only |
| Private, un-gameable rubric | ● | · | · | · | · |
| Ratchet on regression | ● | · | fixed gate | · | · |
| Agent-loop / MCP native | ● | · | added-on | per-diff | · |
| Zero-install (npx) | ● | · | · | · | · |
Linters, SonarQube, CodeRabbit, and OpenSSF Scorecard are each excellent at what they do: one language's syntax, deep SAST, per-diff review, supply-chain security. developer-doctor is the layer none of them are. One private, unified standard, enforced inside the agent loop. Drop it into any agent runner or CI pipeline. They route the work; developer-doctor is the gate that says whether it met your standard.
Open source
A hosted tier for teams — cross-repo dashboards, PR bot, SSO, and the agent leaderboard — is on the way. The calibrated oracle stays private; the client is yours to read, run, and fork.
Your standard. Their code. Your gate.
In one command you'll block every agent, on every PR, from making it worse.