@geoql/oxlint-plugin-nuxt-doctor

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

@geoql/oxlint-plugin-nuxt-doctor

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

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

What's in here

Script-level Nuxt rules across four categories. Other Nuxt checks (structure, nitro, seo, cloudflare, modules-deps, plus cross-file data-fetching) run inside doctor-core because they need project-level or multi-file context rather than a single script AST.

Category Rules
ai-slop useState for server data, fetch in setup, process.client/process.server, explicit imports of auto-imported APIs
hydration clientOnly for browser APIs, no document in setup
server-routes typed defineEventHandler, createError on failure, validate body with h3 v2
data-fetching required useAsyncData key inside loops

nuxt-doctor surfaces these Nuxt rules on top of the full Vue rule set, so a Nuxt audit checks both. To see every rule with its id, severity, and preset membership, run nuxt-doctor list-rules (or filter, e.g. nuxt-doctor list-rules --category hydration).

Install

npm i @geoql/oxlint-plugin-nuxt-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

Nuxt 4 only (the app/ directory layout with compatibilityVersion: 4). 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 script, template, and cross-file rules live in different passes.

License

MIT © Vinayak Kulkarni

Related Packages

@geoql/oxlint-plugin-vue-doctor

oxlint JS plugin for Vue 3 anti-patterns and AI-slop detection. Pairs with oxlin...

21,549 7
@geoql/eslint-plugin-nuxt-doctor

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

2,543 7
@geoql/nuxt-doctor

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

14,295 7
@geoql/doctor-core

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

15,374 7
@geoql/doctor-rule-core

Linter-neutral rule cores shared by @geoql/oxlint-plugin-vue-doctor, @geoql/oxli...

12,836 7

Version History

Version Released License
1.2.2 MIT
1.2.1 MIT
1.2.0 MIT
1.1.3 MIT
1.1.2 MIT
Pre-releases (1)
Version Released License
0.0.0-bootstrap MIT