nuxt-best-practices

Nuxt 3/4 performance optimization and architecture guidelines for building fast, maintainable full-stack applications. This skill should be used when writing, reviewing, or refactoring Nuxt code to ensure optimal patterns. Triggers on tasks involving data fetching, server routes, auto-imports, rendering modes, or Nuxt-specific features.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "nuxt-best-practices" with this command: npx skills add vinayakkulkarni/vue-nuxt-best-practices/vinayakkulkarni-vue-nuxt-best-practices-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

PriorityCategoryImpactPrefix
1Data FetchingCRITICALdata-
2Auto-Imports & OrganizationCRITICALimports-
3Server & API RoutesHIGHserver-
4Rendering ModesHIGHrendering-
5State ManagementMEDIUM-HIGHstate-
6Type SafetyMEDIUMtypes-
7Modules & PluginsLOW-MEDIUMmodules-
8Performance & DeploymentLOWperf-

Quick Reference

1. Data Fetching (CRITICAL)

  • data-use-fetch - Use useFetch/useAsyncData, never raw fetch in components
  • data-key-unique - Always provide unique keys for data fetching
  • data-lazy-loading - Use lazy option for non-critical data
  • data-transform - Transform data at fetch time, not in template
  • data-error-handling - Always handle error and pending states
  • data-refresh-patterns - Use refresh() and clear() appropriately

2. Auto-Imports & Organization (CRITICAL)

  • imports-no-barrel-autoimport - Never create barrel exports in auto-imported directories
  • imports-component-naming - Don't duplicate folder prefix in component names
  • imports-type-locations - Place types in dedicated directories (app/types, shared/types, server/types)
  • imports-composable-exports - Composables export functions only, not types
  • imports-direct-composable-imports - Use direct imports between composables

3. Server & API Routes (HIGH)

  • server-validated-input - Use getValidatedQuery/readValidatedBody with Zod
  • server-route-meta - Always add defineRouteMeta for OpenAPI docs
  • server-runtime-config - Use useRuntimeConfig, never process.env
  • server-error-handling - Use createError for consistent error responses
  • server-middleware-order - Understand middleware execution order

4. Rendering Modes (HIGH)

  • rendering-route-rules - Configure rendering per-route with routeRules
  • rendering-hybrid - Use hybrid rendering for optimal performance
  • rendering-prerender - Prerender static pages at build time
  • rendering-client-only - Use ClientOnly for browser-specific components

5. State Management (MEDIUM-HIGH)

  • state-use-state - Use useState for SSR-safe shared state
  • state-pinia-setup - Set up Pinia correctly with Nuxt
  • state-hydration - Handle hydration mismatches properly
  • state-computed-over-watch - Prefer computed over watch for derived state

6. Type Safety (MEDIUM)

  • types-no-inline - Never define types inline in components/composables
  • types-import-paths - Use correct import paths (#shared, ~/, ~~/)
  • types-no-any - Never use any type
  • types-zod-schemas - Use Zod for runtime validation with type inference
  • types-strict-emits - Use kebab-case emits with full type definitions

7. Modules & Plugins (LOW-MEDIUM)

  • modules-order - Module order matters in nuxt.config
  • modules-runtime-vs-build - Understand runtime vs build-time modules
  • plugins-client-server - Use .client.ts and .server.ts suffixes correctly
  • plugins-provide-inject - Use provide/inject for cross-cutting concerns

8. Performance & Deployment (LOW)

  • perf-bundle-analysis - Analyze and optimize bundle size
  • perf-image-optimization - Use nuxt/image for optimized images
  • perf-font-loading - Configure font loading strategy
  • perf-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

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

vue-best-practices

No summary provided by upstream source.

Repository SourceNeeds Review
General

nuxt-seo-best-practices

No summary provided by upstream source.

Repository SourceNeeds Review
General

vue-nuxt-best-practices

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

openclaw-version-monitor

监控 OpenClaw GitHub 版本更新,获取最新版本发布说明,翻译成中文, 并推送到 Telegram 和 Feishu。用于:(1) 定时检查版本更新 (2) 推送版本更新通知 (3) 生成中文版发布说明

Archived SourceRecently Updated