QC Pro / Docs

The docs. Mercifully short.

Everything you need to run QC Pro against your app, read a report, and wire the fixes into Claude Code. No filler.

Last updated · April 17, 2026·~8 min read·v2.4
Reading this as an agent? Grab /llms.txt for the canonical index. Every H2 has a stable #anchor.

#Your first scan

The fastest way to see what QC Pro does: paste a URL into the homepage scan box, or run the CLI. Either way, you'll have a scored report in about a minute.

# one-shot, no install
npx qcpro scan https://your-app.com

# with auth, viewport, and a starting route
npx qcpro scan https://your-app.com \
  --login "qa@yourco.com" \
  --viewport mobile \
  --start /signup

QC Pro spins up a real Chromium, profiles it as a first-time user, and runs through all twelve categories. No special selectors, no test scripts to maintain - it uses the page like a person would.

Heads up: scans are real traffic

QC Pro will sign up test accounts, click checkout buttons, and fire webhooks. Point it at staging for production apps, or use --sandbox to stub payment providers.

#Reading a report

Every scan produces a score (out of 100), a list of findings, and a diff of what changed since the last run on that URL.

A finding is always three things: what happened (plain English), how to reproduce it (numbered steps), and a proposed fix (a code diff). If we can't give you all three, it doesn't ship.

How the score is calculated

Each of the 12 categories contributes up to 100/12 points. Inside a category, the score drops based on the highest severity seen:

SeverityDeduction within categoryWhen to ship anyway
critical−100%Never
high−60%If scoped to a minor flow
medium−25%Often - file a ticket
low−10%Usually - polish later

Severity definitions

  • critical - a named promise is broken. A core flow can't complete. Example: signup 404s; checkout silently fails for a whole region.
  • high - the experience is meaningfully degraded for many users. Example: hero wraps into an unreadable soup on iPhone SE.
  • medium - noticeable but has a workaround. Example: Google sign-in button has an 800ms flash of missing UI.
  • low - cosmetic or edge-case browser issue. Example: button ripple drops frames on Safari 15.

#CLI

The CLI is the most direct way to run scans locally or in CI. Install globally or one-shot with npx.

# install
npm i -g @qcpro/cli

# auth once
qcpro login

# run a scan, pretty-print findings
qcpro scan https://staging.yourco.com --format pretty

# save fix diffs to apply locally
qcpro findings --last --format patch > changes.patch

# or pipe straight to the clipboard (macOS)
qcpro findings --last --format patch | pbcopy

#Claude Code (MCP)

Wire QC Pro into Claude Code via MCP and findings arrive in your session as structured tool calls. Claude can run scans, fetch diffs, and apply them - in place - without copy-paste.

claude mcp add qcpro https://mcp.qcpro.ai
# then, in Claude:
> run qcpro against staging and apply criticals

Pro tip: checkpoint before applying

Ask Claude to commit a checkpoint before it applies QC Pro fixes. We also ship a Vercel integration that creates a checkpoint per preview deploy automatically.

#GitHub Action

Scan every preview deploy and comment the findings on the PR.

# .github/workflows/qcpro.yml
name: qcpro
on: deployment_status
jobs:
  scan:
    runs-on: ubuntu-latest
    steps:
      - uses: qcpro/scan@v1
        with:
          url: ${{ github.event.deployment_status.target_url }}
          token: ${{ secrets.QCPRO_TOKEN }}
          comment_on_pr: true

#HTTP API

For anything not covered above, the JSON API is the escape hatch.

POST https://api.qcpro.ai/v1/scans
Authorization: Bearer $QCPRO_TOKEN

{
  "url": "https://staging.yourco.com",
  "viewports": ["mobile", "desktop"],
  "webhook": "https://yourco.com/hooks/qcpro"
}

#Policies

Policies let you set hard rules across every scan - "no eval() in shipped JS", "all forms must have labels", "Stripe must use automatic_tax". Violations always surface as critical regardless of category.

#Glossary

  • Run - a single scan against one URL at a point in time.
  • Finding - one reproducible issue with steps and a proposed fix.
  • Category - one of 12 dimensions QC Pro checks. See Methodology.
  • Baseline - the last scored run on a URL, used to compute regressions.
  • Policy - a hard rule that applies across every scan in a workspace.

#Changelog

  • v2.4 - Claude Code MCP integration, Vercel checkpoints, 3x faster scans.
  • v2.3 - Policies, promise-vs-reality category, severity thresholds per category.
  • v2.2 - Mobile Safari / iOS scan profile, flaky-run detection.