Vue 3 · Nuxt 4 · CI-native

Your agent writes Vue.
The doctorreads it back.

A deterministic health score, real diagnostics, and safe auto-fixes for Vue 3 & Nuxt 4.

$npx -y @geoql/vue-doctor
Report · 4ms · 38 files scannedPASSED
./app·main·1.4s
0 /100 GRADE A · √-decay
Errors0
Warns0
Info0
What is the-doctor.report?

the-doctor.report is a deterministic code-health auditor for Vue 3 and Nuxt 4 developers. It scores a whole repository the same way every run, reports real diagnostics with file, line, and rule id, and safely auto-fixes mechanical issues — offline, from your terminal or CI. Unlike a linter, the score is cacheable, diffable, and CI-gateable.

By the numbers
100+
RulesVue 3 & Nuxt 4 checks
6
DimensionsScored independently
√-decay
ScoringDeterministic penalty
9
PackagesPublished on npm & JSR
MIT
CLI licenseFree, open source
$0
DashboardFree in early access
What it catches

A real audit report. Not linter theater.

Each finding carries a file:line, a severity, a stable rule-id, and a message you can paste into a PR comment.

vue-doctor ./app04 findings · 1.4s · 38 files
app/components/BadList.vue:12
Warn
vue-doctor/no-em-dash-in-string
Em dash in string literal — use a hyphen.
app/pages/index.vue:8
Error
vue/no-import-compiler-macros
Don't import defineProps from 'vue' — it's a compiler macro.
app/composables/useCart.ts:21
Error
ai-slop/no-destructure-props-without-toRefs
Destructuring props breaks reactivity.
server/api/users.get.ts:3
Info
nuxt-doctor/data-fetching/use-async-data-key
useAsyncData should have an explicit key.
vue-doctor/no-em-dash-in-string
Stable·Auto-fixable·Vue 3 · Nuxt 4
1 instance · last seen 2m ago
How it works

Local. Deterministic. CI-native.

The doctor runs the same way on your laptop and in CI. No network calls, no surprises — the same diff produces the same score.

01 / Local & deterministic

Runs offline. Produces the same score every time.

Pure-ESM, zero network, no telemetry. A 1,200-file Nuxt repo finishes in under two seconds on an M-series Mac. Cache the report, diff it, gate it.

no networkzero deps1.4s / 38 files
02 / Auto-fixes

Safe to run, fast to review.

Fixes the boring, mechanical stuff — em-dashes, missing keys, accidental macro imports — and leaves opinions to humans.

03 / CI-native

SARIF · PR comments · status gates.

Drop into GitHub Actions, GitLab, or Buildkite. Emit SARIF for code-scanning, post a markdown summary on PRs, fail on --fail-on warn.

Free forever · Optional cloud

The CLI is free. The dashboard is a story.

@geoql/vue-doctor is MIT and fully featured. the-doctor.report adds a year of trends, team baselines, and PR-aware review.

Local CLI

Always free

Everything you need to gate CI today.

  • Health score + full diagnostics
  • Auto-fix for 60+ rules
  • SARIF, JSON, pretty output
  • Runs offline, no account needed
$0 / foreverInstall
the-doctor.report

For teams that ship weekly

Trends, baselines, and team-wide visibility.

  • Score history & trend lines
  • Team baselines & regressions
  • PR review with rule context
  • Slack / GitHub / Linear hooks
$0 / month · per repo, no seatsJoin early access Sponsor on GitHub
FAQ

Questions, answered.

What the doctor is, how it scores, and how it fits your workflow.

What is the-doctor.report?
the-doctor.report is a deterministic code-health auditor for Vue 3 and Nuxt 4. It produces a single health score (the same inputs always yield the same score), surfaces real diagnostics with file, line, rule id, and a human-readable message, and applies safe auto-fixes — from your terminal or CI. It ships as two CLIs, @geoql/vue-doctor and @geoql/nuxt-doctor, plus a hosted dashboard.
How is it different from ESLint or oxlint?
ESLint and oxlint flag rule violations line by line. the-doctor.report adds a deterministic, repository-wide health score you can cache, diff across commits, and gate CI on, plus a hosted dashboard that tracks the score over time, sets team baselines, and detects regressions. It complements a linter rather than replacing it.
Is it free?
Yes. The local CLI is free forever and open source (MIT): full health score, diagnostics, auto-fix for 60+ rules, and SARIF/JSON/pretty output, with no account required. The hosted the-doctor.report dashboard is currently free in early access at $0/month per repository with no per-seat pricing.
Does it send my code anywhere?
No. The CLI runs fully offline with zero telemetry and makes no network calls. It audits a 1,200-file Nuxt repository in under two seconds on an Apple M-series Mac. Only when you opt into the hosted dashboard does it push aggregate scores — never your source code.
How do I add it to CI?
Run npx @geoql/vue-doctor (Vue 3) or npx @geoql/nuxt-doctor (Nuxt 4) locally, or use the geoql/doctor-action GitHub Action. It emits SARIF for GitHub code scanning, posts a markdown summary on pull requests, and can fail the build with --fail-on warn. It also runs on GitLab and Buildkite.
Which frameworks are supported?
Vue 3 via @geoql/vue-doctor and Nuxt 4 via @geoql/nuxt-doctor. Both are published on npm and JSR (@geoql), and the source is open at github.com/geoql/doctor.
Does it support monorepos?
Yes. One dashboard project can track multiple sub-apps as workspaces: run the GitHub Action once per app with a different working-directory, and each pushes its own score series, findings, and leaderboard row under the same project slug. A Vue library and its Nuxt docs app in one repo never overwrite each other.