New: Quell now has a Claude connector — ask Claude about your production readiness in plain English.

Proof, not coverage.

Quelltest reads the specs already in your Python code, finds the edge cases nothing tests, and writes pytest tests it has proven catch real bugs — for developers and QA engineers burned by green dashboards.

Start free
rule engine — no API keyruns offlineMIT licensed
✓ 8~ 3⚑ 2· PRS 84
test_payment_rejects_zero.py
def test_payment_rejects_zero():
with pytest.raises(ValueError):
process_payment(amount=0)
gate 5 — violation caught
Watch a runFIG. 00 — LIVE PROOF
quelltest — local runrunning
$
How it works
docstringsPydantic modelstype hints · bug reports13 requirementsextracted · zero config5-GATE PROOFG1G2G3G4G5WRITTENon disk~SCAFFOLDEDstubFLAGGEDreasonG5 injects the violation — the test must catch it

Plugs into the stack you already run

Claude.aiMCPpytestGitHub ActionsPyPIPython 3.11+
0
verification gates
every WRITTEN test passes all five
0
honest buckets
WRITTEN · SCAFFOLDED · FLAGGED
0%
rule engine coverage
deterministic — no network, no tokens
0%
local by default
source code never leaves your machine
The moat

Coverage tools stop at Gate 4.

Gate 5 injects the violation into your source and requires the test to fail. A test that can't catch the bug it claims to catch gets discarded — not shipped.

FIG. 02 — GATE CORRIDOR
13candidatetestsG1AST VALIDparses asreal Python13 passG2ORIGINALnot already inyour tests12 pass1G3SAFEno shell calls,no file writes12 passG4PASSESgreen on yourcurrent code10 pass2G5CATCHESviolation injected— must fail8 pass28PROVEN → disk5 discarded — a test that isn't proven never touches your files
Honest output

Every requirement lands in
exactly one bucket.

FIG. 03 — TRIAGE
WRITTEN

Proven by all 5 gates. Written to disk with libcst — formatting preserved.

pytest file, ready to commit
~SCAFFOLDED

Needs state Quell can't fake — external APIs, DBs. You get a stub with the assertion sketched.

stub + TODO, 5 min to finish
FLAGGED

Can't be safely tested automatically. You get the location and a one-line reason.

src/billing.py:142 — external API
One command

quell find src/ --fix

No test plans, no prompts, no YAML. Point it at a directory.

01
READ

AST-scans docstrings, Pydantic models, and type hints. Zero annotations, zero config.

02
PROVE

Generates a test per gap, then runs all five gates — including injecting the violation.

03
WRITE

libcst injection with backup and restore. Only proven tests reach your files.

The score

One number your whole
team can watch.

FIG. 04 — PRS
060801000/100Production Ready
0
WRITTEN
0
SCAFFOLDED
0
FLAGGED
avg confidence 91%·13 edge cases
80–100Production Ready
60–79Review Needed
0–59Needs Work
PRS across runs+22 in five runs
8062run 168run 271run 379run 484run 5
PRS = (WRITTEN × 1.0 + SCAFFOLDED × 0.5) / requirements × 100
scaffolds decay after 7 days — stubs you ignore cost you points
# fail CI below threshold
$ quell ci src/ --threshold 80
NEW — MCP SERVER + CLAUDE CONNECTOR

Ask your codebase
how ready it is.

Connect Quelltest to Claude.ai and query production readiness in plain English — PRS trends, flagged gaps, scaffold debt. Your source code never makes the trip.

ArchitectureFIG. 05
YOUR MACHINEquell find --syncsource code stays heresanitizer gateblocklists source · bodies · docstringsmetrics only — PRS, counts, namesapi.quelltest.comreport history · PRS trend · project registryMCP · OAuth 2.0 PKCEClaude.ai8 tools — reports, history, badges, reproduce
claude.ai — quelltest connectedconnected
What's blocking us from 80 PRS on payments-service?
Two things. test_refund_idempotency has been scaffolded for 11 days (−5 PRS), and billing.py:142 is flagged — it calls stripe.Charge.create() directly, so Quell can't inject a violation into a live call. Mock that call and Quell writes the test on the next run.
Show the PRS trend for the last 5 runs.
62 → 68 → 71 → 79 → 84. Crossed into Production Ready on Tuesday's run after the boundary tests landed.
Add to Claude.aiBrowse the 8 MCP toolsSettings → Connectors → https://mcp.quelltest.com
The boundary

Your source code is
structurally unable to leave.

Cloud sync is opt-in and passes through one gate: a sanitizer that raises on any blocklisted key. It isn't a policy — it's the only code path out.

FIG. 06 — PRIVACY BOUNDARY
YOUR MACHINEnever transmitted🔒 source code🔒 function bodies🔒 docstrings🔒 test bodies🔒 variable names🔒 file contents$ quell find src/ — runs fully offlinerule engine · no API key · deterministicSANITIZER"source", "body", "docstring" keys →SanitizationError — push blockedQUELLTEST CLOUDpublished schema — quelltest.com/docs/sync-payloadPRS score84bucket counts8 / 3 / 2test namestest_payment_rejects_zeroflag locationsbilling.py:142strings over 500 chars rejected — code can't hide in a field
VERSUS

Most tools run one gate.
We run five.

FeatureQuell
quelltest
GitHub CopilotQodo (CodiumAI)Hypothesis
Reads existing specs (no annotation)
Deterministic rule engine (no LLM needed)
Gate 4: test passes on correct codepartialpartial
Gate 5: test fails on violated code
Offline by default — rule engine needs no API key
Writes verified tests to disk (libcst)
Three-bucket output (WRITTEN / SCAFFOLDED / FLAGGED)
PRS production readiness score
Source code stays on disk — nothing transmitted
Supports Pydantic + PySpark schemaspartial
Claude.ai native connector
MIT licensed, runs in CI

Comparison as of June 2026. Information sourced from public documentation.

PRICING

Free to start.
Scale when you need to.

Hobby
Free

For individuals exploring Quell on personal projects.

  • 500 verifications / month
  • Python docstrings + Pydantic
  • 3-bucket output
  • CLI access
  • Community support
  • MIT licensed
Pro
Most Popular
$19/month

For individual developers shipping production Python.

  • Unlimited verifications
  • All spec sources (Pydantic, PySpark, docstrings)
  • PRS score + CI gate
  • Claude connector (1 project)
  • Cloud sync — quell find --sync
  • GitHub Actions integration
  • Email support
Team
$79/month

For teams that need shared PRS tracking and audit logs.

  • Everything in Pro
  • Claude connector (unlimited projects)
  • Cloud sync — unlimited projects
  • Up to 10 team members
  • Shared PRS dashboard
  • Audit log export
  • Dedicated support

All plans include the offline rule engine. No API key required to start. Claude connector requires Pro or Team. Cancel anytime.

FREQUENTLY ASKED

Questions, answered.

No. The rule engine handles ~75% of cases with zero network calls and no API key. MUST_RAISE, MUST_RETURN, BOUNDARY, ENUM_VALID, NOT_NULL, and TYPE_CHECK are all pure rule-based. The LLM fallback is optional and only activates on complex cases you opt into.

Stop shipping
untested edge cases.

Quell reads your existing specs, finds the edge cases with no tests, and writes verified pytest tests to disk. Every test is proven to fail when the bug is injected. Gap-first. Confidence-first.

$pip install quelltest

MIT licensed · Python 3.11+ · runs offline · rule engine, no API key