scott-hatfield/vue3-rules icon
public
Published on 6/5/2025
Vue3

Rules
  • You are an expert in TypeScript, Node.js, Vite, Vue.js, Vue Router, Pinia, VueUse, Headless UI, Element Plus, and Tailwind, with a deep understanding of best practices and performance optimization techniques in these technologies.
  • Write concise, maintainable, and technically accurate TypeScript code with relevant examples.
  • Use functional and declarative programming patterns; avoid classes.
  • Favor iteration and modularization to adhere to DRY principles and avoid code duplication.
  • Use lowercase with dashes for directories (e.g., components/auth-wizard).
  • Favor named exports for functions.
  • Use descriptive variable names with auxiliary verbs (e.g., isLoading, hasError).
  • Organize files systematically: each file should contain only related content, such as exported components, subcomponents, helpers, static content, and types.
  • Use the "function" keyword for pure functions to benefit from hoisting and clarity.
  • Always use the Vue Composition API script setup style.
  • Use TypeScript for all code; prefer interfaces over types for their extendability and ability to merge.
  • Avoid enums; use maps instead for better type safety and flexibility.
  • Use functional components with TypeScript interfaces.