nuxt-best-practices
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
More from vinayakkulkarni/vue-nuxt-best-practices
vue-best-practices
Vue.js performance optimization guidelines for building fast, maintainable applications. This skill should be used when writing, reviewing, or refactoring Vue.js code to ensure optimal performance patterns. Triggers on tasks involving Vue components, reactivity, Composition API, state management, or performance improvements.
53nuxt-seo-best-practices
Nuxt SEO optimization guidelines for Cloudflare-deployed applications. Covers dynamic OG image generation on CF Workers, page SEO composables, JSON-LD structured data, SSR externals, and Nitro configuration. Triggers on tasks involving SEO, meta tags, OG images, Open Graph, Satori, social sharing, or Cloudflare Workers deployment.
13nuxt-geo-best-practices
Nuxt GEO (Generative Engine Optimization) guidelines for getting cited by ChatGPT, Perplexity, Claude, Google AI Overviews, and Gemini. Covers AI crawler access (llms.txt, GPTBot/ClaudeBot/PerplexityBot allowlisting), content extractability for RAG retrieval, entity clarity via JSON-LD, and the evidence-backed +40% visibility levers (statistics, citations, quotations) from the GEO arxiv paper. Triggers on tasks involving GEO, AEO, AI search, LLM visibility, llms.txt, AI crawlers, ChatGPT citations, Perplexity, AI Overviews, generative engines, or AI mentions.
4