vue
via PatrickJS/awesome-cursorrules
Vue.js best practices for modern applications using Composition API, Pinia, and TypeScript.
What is vue?
Comprehensive guide for building Vue.js applications with modern patterns including Composition API, state management with Pinia, TypeScript integration, and performance optimization. Use this rule when developing Vue components to ensure consistent architecture, proper type safety, and adherence to Vue ecosystem best practices.
- Structure components using Composition API with TypeScript and proper prop/emit declarations
- Manage application state with Pinia stores and composables for reusable logic
- Optimize performance through lazy loading, computed properties, and proper v-show/v-if usage
- Implement Vue Router with navigation guards, route meta fields, and lazy-loaded routes
- Build type-safe forms with v-model, validation, and error handling
- Configure development and build tooling with Vite, code splitting, and environment variables
Applies to
File patterns this rule matches.
Rule definition (reference)
Source of truth, from the repository.
Vue.js Best Practices
Component Structure
- Use Composition API over Options API
- Keep components small and focused
- Use proper TypeScript integration
- Implement proper props validation
- Use proper emit declarations
- Keep template logic minimal
Composition API
- Use proper ref and reactive
- Implement proper lifecycle hooks
- Use composables for reusable logic
- Keep setup function clean
- Use proper computed properties
- Implement proper watchers
State Management
- Use Pinia for state management
- Keep stores modular
- Use proper state composition
- Implement proper actions
- Use proper getters
- Handle async state properly
Performance
- Use proper component lazy loading
- Implement proper caching
- Use proper computed properties
- Avoid unnecessary watchers
- Use proper v-show vs v-if
- Implement proper key management
Routing
- Use Vue Router properly
- Implement proper navigation guards
- Use proper route meta fields
- Handle route params properly
- Implement proper lazy loading
- Use proper navigation methods
Forms
- Use v-model properly
- Implement proper validation
- Handle form submission properly
- Show proper loading states
- Use proper error handling
- Implement proper form reset
TypeScript Integration
- Use proper component type definitions
- Implement proper prop types
- Use proper emit declarations
- Handle proper type inference
- Use proper composable types
- Implement proper store types
Testing
- Write proper unit tests
- Implement proper component tests
- Use Vue Test Utils properly
- Test composables properly
- Implement proper mocking
- Test async operations
Best Practices
- Follow Vue style guide
- Use proper naming conventions
- Keep components organized
- Implement proper error handling
- Use proper event handling
- Document complex logic
Build and Tooling
- Use Vite for development
- Configure proper build setup
- Use proper environment variables
- Implement proper code splitting
- Use proper asset handling
- Configure proper optimization
Related rules
Expert Vue 3 & Nuxt 3 development guidance with TypeScript, TailwindCSS, and composition API best practices.
Vue 3 Composition API with TypeScript, Nuxt 3 conventions, and build optimization.
Complete Vue 3 & Nuxt 3 setup with TypeScript, Pinia, and modern best practices.
Vue 3 + TypeScript state management with Pinia: stores, Composition API, SSR, persistence, and testing.
Vue 3 Composition API best practices and project structure guidance.
Expert guidance for Svelte 5 and SvelteKit development with performance optimization focus.
