Vercel Doctor

Scoring

How Vercel Doctor calculates your project's health score.

Every scan produces a score from 0 to 100. The score reflects how many unique rules your project triggers, weighted by severity.

Calculation

score = max(0, round(100 - penalties))

Where penalties are:

SeverityPenalty per unique rule
Error1.5 points
Warning0.75 points

The score is based on unique rules triggered, not the total count of diagnostics. If the same rule fires on 10 files, it only counts once.

Labels

ScoreLabel
75–100Great
50–74Needs work
0–49Critical

Example

A project with 2 error rules and 8 warning rules:

penalty = (2 × 1.5) + (8 × 0.75) = 3 + 6 = 9
score = max(0, round(100 - 9)) = 91 → Great

Share your score

After running Vercel Doctor, your score is available on a shareable page with social sharing buttons and an embeddable badge.

Badge

Add a badge to your README.md:

[![Vercel Doctor](https://www.vercel-doctor.com/share/badge?s=91)](https://www.vercel-doctor.com/share?s=91)

API

You can also calculate scores programmatically:

curl -X POST https://www.vercel-doctor.com/api/score \
  -H "Content-Type: application/json" \
  -d '{"diagnostics": [...]}'

Returns:

{
  "score": 91,
  "label": "Great"
}

The /api/estimate-score endpoint estimates what your score would be after fixing issues, using estimated fix rates of 85% for errors and 80% for warnings.

Edit on GitHub

Last updated on

On this page