nuxt-best-practices
44
总安装量
23
周安装量
#8768
全站排名
安装命令
npx skills add https://github.com/vinayakkulkarni/vue-nuxt-best-practices --skill nuxt-best-practices
Agent 安装分布
opencode
16
gemini-cli
15
github-copilot
13
codex
12
antigravity
11
Skill 文档
Nuxt Best Practices
Comprehensive performance optimization guide for Nuxt 3/4 applications. Contains 40+ rules across 8 categories, prioritized by impact to guide automated refactoring and code generation.
When to Apply
Reference these guidelines when:
- Writing new Nuxt pages, components, or composables
- Implementing data fetching (useFetch, useAsyncData)
- Creating server routes and API endpoints
- Organizing types, composables, and auto-imports
- Working with Nuxt modules and plugins
- Configuring rendering modes (SSR, SSG, SPA)
Rule Categories by Priority
| Priority | Category | Impact | Prefix |
|---|---|---|---|
| 1 | Data Fetching | CRITICAL | data- |
| 2 | Auto-Imports & Organization | CRITICAL | imports- |
| 3 | Server & API Routes | HIGH | server- |
| 4 | Rendering Modes | HIGH | rendering- |
| 5 | State Management | MEDIUM-HIGH | state- |
| 6 | Type Safety | MEDIUM | types- |
| 7 | Modules & Plugins | LOW-MEDIUM | modules- |
| 8 | Performance & Deployment | LOW | perf- |
Quick Reference
1. Data Fetching (CRITICAL)
data-use-fetch– Use useFetch/useAsyncData, never raw fetch in componentsdata-key-unique– Always provide unique keys for data fetchingdata-lazy-loading– Use lazy option for non-critical datadata-transform– Transform data at fetch time, not in templatedata-error-handling– Always handle error and pending statesdata-refresh-patterns– Use refresh() and clear() appropriately
2. Auto-Imports & Organization (CRITICAL)
imports-no-barrel-autoimport– Never create barrel exports in auto-imported directoriesimports-component-naming– Don’t duplicate folder prefix in component namesimports-type-locations– Place types in dedicated directories (app/types, shared/types, server/types)imports-composable-exports– Composables export functions only, not typesimports-direct-composable-imports– Use direct imports between composables
3. Server & API Routes (HIGH)
server-validated-input– Use getValidatedQuery/readValidatedBody with Zodserver-route-meta– Always add defineRouteMeta for OpenAPI docsserver-runtime-config– Use useRuntimeConfig, never process.envserver-error-handling– Use createError for consistent error responsesserver-middleware-order– Understand middleware execution order
4. Rendering Modes (HIGH)
rendering-route-rules– Configure rendering per-route with routeRulesrendering-hybrid– Use hybrid rendering for optimal performancerendering-prerender– Prerender static pages at build timerendering-client-only– Use ClientOnly for browser-specific components
5. State Management (MEDIUM-HIGH)
state-use-state– Use useState for SSR-safe shared statestate-pinia-setup– Set up Pinia correctly with Nuxtstate-hydration– Handle hydration mismatches properlystate-computed-over-watch– Prefer computed over watch for derived state
6. Type Safety (MEDIUM)
types-no-inline– Never define types inline in components/composablestypes-import-paths– Use correct import paths (#shared, ~/, ~~/)types-no-any– Never useanytypetypes-zod-schemas– Use Zod for runtime validation with type inferencetypes-strict-emits– Use kebab-case emits with full type definitions
7. Modules & Plugins (LOW-MEDIUM)
modules-order– Module order matters in nuxt.configmodules-runtime-vs-build– Understand runtime vs build-time modulesplugins-client-server– Use .client.ts and .server.ts suffixes correctlyplugins-provide-inject– Use provide/inject for cross-cutting concerns
8. Performance & Deployment (LOW)
perf-bundle-analysis– Analyze and optimize bundle sizeperf-image-optimization– Use nuxt/image for optimized imagesperf-font-loading– Configure font loading strategyperf-caching-headers– Set appropriate cache headers
How to Use
Read individual rule files for detailed explanations and code examples:
rules/data-use-fetch.md
rules/imports-no-barrel-autoimport.md
rules/_sections.md
Each rule file contains:
- Brief explanation of why it matters
- Incorrect code example with explanation
- Correct code example with explanation
- Additional context and Nuxt-specific notes
Full Compiled Document
For the complete guide with all rules expanded: AGENTS.md