vue3-best-practices

Comprehensive performance optimization and development guide for Vue 3 applications. Contains 45 rules across 8 categories, prioritized by impact to guide automated refactoring and code generation.

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 "vue3-best-practices" with this command: npx skills add eva813/vue3-skills/eva813-vue3-skills-vue3-best-practices

Vue 3 Best Practices

Comprehensive performance optimization and development guide for Vue 3 applications. Contains 45 rules across 8 categories, prioritized by impact to guide automated refactoring and code generation.

When to Apply

Reference these guidelines when:

  • Writing new Vue 3 components or composables

  • Implementing reactive data and computed properties

  • Reviewing code for performance issues

  • Refactoring from Vue 2 to Vue 3

  • Optimizing bundle size or load times

  • Working with state management (Pinia/Vuex)

  • Implementing async operations in components

Rule Categories by Priority

Priority Category Impact Prefix

1 Reactivity Performance CRITICAL reactivity-

2 Component Optimization CRITICAL component-

3 Bundle Size & Loading HIGH bundle-

4 Composition API MEDIUM-HIGH composition-

5 Template Performance MEDIUM template-

6 State Management MEDIUM state-

7 Lifecycle Optimization LOW-MEDIUM lifecycle-

8 Advanced Patterns LOW advanced-

Quick Reference

  1. Reactivity Performance (CRITICAL)
  • reactivity-ref-vs-reactive

  • Use ref for primitives, reactive for objects

  • reactivity-shallow-ref

  • Use shallowRef for large immutable objects

  • reactivity-computed-caching

  • Leverage computed property caching

  • reactivity-watch-vs-watcheffect

  • Choose appropriate watcher

  • reactivity-unref-performance

  • Minimize unref calls in hot paths

  • reactivity-readonly-immutable

  • Use readonly for immutable data

  1. Component Optimization (CRITICAL)
  • component-async-components

  • Use defineAsyncComponent for heavy components

  • component-functional

  • Use functional components for simple presentational logic

  • component-keep-alive

  • Cache expensive components with keep-alive

  • component-lazy-hydration

  • Implement lazy hydration for non-critical components

  • component-prop-validation

  • Use efficient prop validation

  • component-emit-performance

  • Optimize event emissions

  1. Bundle Size & Loading (HIGH)
  • bundle-tree-shaking

  • Structure imports for optimal tree-shaking

  • bundle-dynamic-imports

  • Use dynamic imports for code splitting

  • bundle-plugin-imports

  • Use unplugin-auto-import for better DX

  • bundle-lodash-imports

  • Import lodash functions individually

  • bundle-moment-alternatives

  • Use day.js instead of moment.js

  • bundle-icons-optimization

  • Optimize icon imports and usage

  1. Composition API (MEDIUM-HIGH)
  • composition-script-setup

  • Prefer for better performance

  • composition-composables-reuse

  • Extract reusable logic into composables

  • composition-provide-inject

  • Use provide/inject for dependency injection

  • composition-expose-selectively

  • Expose only necessary properties

  • composition-reactive-transform

  • Use reactive transform where appropriate

  • composition-auto-import

  • Configure auto-imports for better DX

  1. Template Performance (MEDIUM)
  • template-v-once

  • Use v-once for static content

  • template-v-memo

  • Use v-memo for expensive list rendering

  • template-key-optimization

  • Optimize v-for keys for performance

  • template-conditional-rendering

  • Choose v-if vs v-show appropriately

  • template-slot-performance

  • Optimize slot usage and scoped slots

  • template-directive-optimization

  • Create efficient custom directives

  1. State Management (MEDIUM)
  • state-pinia-optimization

  • Optimize Pinia store structure

  • state-store-composition

  • Use store composition patterns

  • state-persistence

  • Implement efficient state persistence

  • state-normalization

  • Normalize complex state structures

  • state-subscription

  • Optimize state subscriptions

  • state-devtools

  • Configure devtools for debugging

  1. Lifecycle Optimization (LOW-MEDIUM)
  • lifecycle-cleanup

  • Properly cleanup resources in onUnmounted

  • lifecycle-async-setup

  • Handle async operations in setup

  • lifecycle-watchers-cleanup

  • Clean up watchers and effects

  • lifecycle-dom-access

  • Access DOM safely in lifecycle hooks

  • lifecycle-ssr-considerations

  • Handle SSR lifecycle differences

  1. Advanced Patterns (LOW)
  • advanced-teleport-usage

  • Use Teleport for portal patterns

  • advanced-suspense-async

  • Implement Suspense with async components

  • advanced-custom-renderer

  • Create custom renderers when needed

  • advanced-compiler-macros

  • Use compiler macros effectively

  • advanced-plugin-development

  • Develop efficient Vue plugins

Framework Integration

Vite Integration

  • Utilize Vite's fast HMR and build optimizations

  • Configure proper chunk splitting strategies

  • Use Vite plugins for Vue-specific optimizations

TypeScript Integration

  • Leverage Vue 3's improved TypeScript support

  • Use proper type definitions for better DX

  • Configure TypeScript for optimal build performance

Testing Integration

  • Use Vue Test Utils with Composition API

  • Implement efficient component testing strategies

  • Optimize test performance and reliability

How to Use

Read individual rule files for detailed explanations and code examples:

rules/reactivity-ref-vs-reactive.md rules/component-async-components.md rules/composition-script-setup.md

Each rule file contains:

  • Brief explanation of why it matters

  • Incorrect Vue 3 code example with explanation

  • Correct Vue 3 code example with explanation

  • Performance impact and measurements

  • Additional context and Vue 3-specific considerations

Migration from Vue 2

Special considerations for migrating from Vue 2:

  • Composition API vs Options API patterns

  • Reactivity system changes and optimizations

  • Component definition and registration updates

  • Event handling and lifecycle changes

Performance Monitoring

Tools and techniques for monitoring Vue 3 performance:

  • Vue DevTools integration

  • Performance profiling with browser tools

  • Bundle analysis and optimization

  • Runtime performance monitoring

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

vue3-frontend

No summary provided by upstream source.

Repository SourceNeeds Review
General

vue-vite-testing

No summary provided by upstream source.

Repository SourceNeeds Review
General

frontend-design

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

react-agent

No summary provided by upstream source.

Repository SourceNeeds Review