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, one 0 to 100 score across 18 engineering categories. 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 rubric and per-check weights live server-side. The CLI ships only a finder: it emits coded findings, never the logic behind them. No competitor keeps the standard out of the repo, so no competitor's gate is un-gameable.
Code, docs, delivery, git hygiene, containers, CI, security, testing, observability, and LLM/agent practice, scored into one number a script can compare. Own the health number the way Lighthouse owns web performance.
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.
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 meets your standard? Nothing else answers this.
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 htmlReal scores
Real offline scores under the strict 18-category standard. Large codebases accumulate advisory candidates, so a 46 does not mean Express is broken. It means there are 54 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 | · | · |
| 18-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.
Your standard. Their code. Your gate.
In one command you'll block every agent, on every PR, from making it worse.