CLI reference

Every flag, every subcommand, every output format. The complete @geoql/vue-doctor and @geoql/nuxt-doctor CLI surface.

The CLI surface is identical for @geoql/vue-doctor and @geoql/nuxt-doctor — the latter just adds Nuxt-specific context to the same engine. This page uses @geoql/vue-doctor for all examples; swap the package name as needed.

Synopsis

bash
npx -y @geoql/vue-doctor [flags]
npx -y @geoql/vue-doctor <subcommand> [flags]

Audit flags

These flags control the audit pass. They are the most-used subset.

flagdescriptiondefault
--root <path>project root to scancwd
--include <glob>extra include glob (repeatable)
--exclude <glob>extra exclude glob (repeatable)
--rule <id>:<level>override a single rule's severity (repeatable). level = error|warn|info|off
--preset <name>minimal | recommended | strict | allrecommended
--format <fmt>agent | pretty | json | json-compact | sarif | htmlagent
--output <path>write the report to a file (extension can imply format)stdout
--fixapply auto-fixes where the rule supports itoff
--fix-exclude <glob>never auto-fix files matching this glob (repeatable)
--no-lintskip the oxlint subprocess passoff
--respect-inline-disableshonor // vue-doctor-disable-next-line commentsoff
--diffscope the audit to files changed vs. the merge baseoff
--stagedscope the audit to files in the git indexoff
--fulloverride --diff / --staged and audit everythingoff
--scoreprint the score in CI-friendly format even when format is jsonoff
--annotationsemit ::error file=…:: GitHub-style annotationsauto (in CI)
--threshold <n>override the score threshold (0–100)0
--fail-on <level>error | warn | none — when to exit non-zeroerror
--verbose / --quietadjust log leveldefault
--ci / --no-ciforce-enable or disable CI-only behavior (annotations, color)auto

Subcommands

list-rules

Print the registered rule catalogue. Use --json or --json-compact to get a machine-readable form.

bash
npx -y @geoql/vue-doctor list-rules
npx -y @geoql/vue-doctor list-rules --category hydration --json

Filters:

flagdescription
--preset <name>restrict to rules enabled by the given preset
--category <cat>ai-slop | composition | performance | reactivity | hydration | data-fetching | server-routes
--source <src>oxlint | core
--severity <sev>error | warn | info

explain <ruleId>

Print the long-form description, the rationale, and the recommended fix for a single rule.

bash
npx -y @geoql/vue-doctor explain no-em-dash-in-str

The output is the same text that appears in the docs at /rules/vue and /rules/nuxt, but reachable from the terminal.

inspect [dir]

Print the detected project profile: framework versions, capabilities (auto-imports, Pinia, Vue Router), monorepo layout, and the rules that would be enabled under the active preset.

bash
npx -y @geoql/vue-doctor inspect
npx -y @geoql/vue-doctor inspect apps/web --json

Useful in CI to debug "why is rule X not firing on this project?".

init

Generate a doctor.config.ts in the current directory. Interactive by default; pass --yes to accept defaults.

bash
npx -y @geoql/vue-doctor init --yes
npx -y @geoql/vue-doctor init --yes --config-format json

The init flow asks five questions (preset, output format, fail-on threshold, file scope, ignore globs) and writes a typed config that matches the config schema.

Output formats

formatbest forshape
agentlocal dev, CI logs (default)one-line summary + per-finding block
prettylocal dev, human readingboxed tables with rule descriptions
jsonprogrammatic consumptionfull AuditReport JSON
json-compacthigh-volume CIsingle-line JSON per finding
sarifGitHub code scanning, GitLab code qualitySARIF 2.1.0
htmlshareable report (emailable, PR comment)self-contained HTML

The format is auto-detected from the --output extension if you don't pass --format. .jsonjson, .sarifsarif, .htmlhtml, anything else → agent.

Exit codes

Stable across all subcommands:

codemeaning
0success — score above threshold, no findings at or above --fail-on
1at or above --fail-on threshold (or score below --threshold)
2invalid arguments, missing config, doctor crash, or I/O error

Environment variables

variableequivalent flagnotes
DOCTOR_NO_COLOR--no-colordisable ANSI in output
DOCTOR_PRESET--presetpicked up before the CLI flag
DOCTOR_FAIL_ON--fail-on
DOCTOR_FORMAT--format
DOCTOR_ROOT--root
CIauto-enables annotations when set
GITHUB_ACTIONSalso auto-enables annotations

The CLI flag always wins over the env var. The env var is useful for shell aliases and CI matrix defaults.