@geoql/oxlint-plugin-vue-doctor

oxlint JS plugin for Vue 3 anti-patterns and AI-slop detection. Pairs with oxlint's built-in vue plugin via jsPlugins. TypeScript, ESM.
21,549 7
Install
npm install @geoql/oxlint-plugin-vue-doctor
Latest Version:1.4.1
License:MIT
Last Updated:Sep 18, 2026
Links: GitHub  ·  npm
Maintainer: vinayakkulkarni

@geoql/oxlint-plugin-vue-doctor

oxlint JS plugin holding the Vue 3 script-level rules that @geoql/doctor-core runs.

This package is a rule pack, not a tool. It's the jsPlugins half of the script pass: a set of oxlint JS-plugin rules that fire against the <script> / <script setup> ESTree oxlint extracts from .vue files. doctor-core generates the .oxlintrc.json that loads this plugin and wires it in automatically, so you don't install or configure it directly. Run @geoql/vue-doctor and these rules come along for free.

What's in here

Script-level Vue rules across four categories. Template-shaped rules (v-for/:key, v-if+v-for) live in doctor-core's in-process template pass instead, because oxlint never hands JS plugins the template AST.

Category Rules
ai-slop em-dash strings, destructuring props/reactive without toRefs, non-null assertions on .value, explicit imports of auto-imported Vue APIs
composition typed defineProps, prefer <script setup> for new files
reactivity watch without cleanup, shallowRef for large data, readonly for injected values
performance defineAsyncComponent on route components

To see every rule with its id, severity, and preset membership, run vue-doctor list-rules (or filter, e.g. vue-doctor list-rules --source doctor --category ai-slop).

Install

npm i @geoql/oxlint-plugin-vue-doctor

Published on npm and JSR with provenance. ESM-only, TypeScript. oxlint is a peer dependency. Most people never add this dependency themselves; doctor-core resolves it for you.

Scope

Vue 3 only. Severity levels are error | warn | info.

Architecture

See docs/SPEC.md §10 for how the JS plugin co-loads with oxlint's native vue plugin and why the script and template rules live in different passes.

License

MIT © Vinayak Kulkarni

Related Packages

@geoql/oxlint-plugin-nuxt-doctor

oxlint JS plugin for Nuxt 4 anti-patterns and AI-slop detection. Pairs with oxli...

21,363 7
@geoql/eslint-plugin-vue-doctor

ESLint flat-config plugin for Vue 3 anti-patterns and AI-slop detection. Shares...

2,758 7
@geoql/eslint-plugin-nuxt-doctor

ESLint flat-config plugin for Nuxt 4 anti-patterns and AI-slop detection. Shares...

2,543 7
@geoql/doctor-core

Audit engine for @geoql/vue-doctor and @geoql/nuxt-doctor. Hybrid two-pass: @vue...

15,374 7
@geoql/nuxt-doctor

CLI auditor for Nuxt 4 apps. Detects anti-patterns, AI-slop, and best-practice v...

14,295 7

Version History

Version Released License
1.4.1 MIT
1.4.0 MIT
1.3.0 MIT
1.2.2 MIT
1.2.1 MIT
Pre-releases (2)
Version Released License
0.1.1-alpha.0 MIT
0.1.0-alpha.0 MIT