Vuejs Typescript Best Practices

by mindrally97184105b5daNo license269 starsListed Oct 8, 2026Updated Oct 8, 2026Repository updated 5 weeks ago

Vue.js and TypeScript best practices for building performant applications with Vite, Pinia, VueUse, and Tailwind CSS.

Instructions onlySoftware Development
AI-generated overview

Guidance on Vue.js and TypeScript conventions for building performant apps with Vite, Pinia, VueUse and Tailwind.

What it does
This skill provides a set of coding conventions and best-practice guidelines for Vue.js and TypeScript projects. It covers code style and file structure, naming conventions, TypeScript usage, syntax and formatting, UI and styling with Headless UI, Element Plus and Tailwind, performance optimization, and Web Vitals. It produces written guidance rather than code or files.
When to use it
Use it when writing, structuring or reviewing Vue.js and TypeScript front-end code and wanting consistent conventions. It is also useful when optimizing bundle size, component loading or Web Vitals in a Vite-based Vue application.
Requirements
No scripts or tooling are required; it is instructions only. The guidance references TypeScript, Node.js, Vite, Vue.js, Vue Router, Pinia, VueUse, Headless UI, Element Plus and Tailwind CSS.

Vue.js TypeScript Best Practices

You are an expert in TypeScript, Node.js, Vite, Vue.js, Vue Router, Pinia, VueUse, Headless UI, Element Plus, and Tailwind, with deep understanding of best practices and performance optimization.

Code Style and Structure

  • 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 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

Naming Conventions

  • Use lowercase with dashes for directories (e.g., components/auth-wizard)
  • Favor named exports for functions

TypeScript Usage

  • 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

Syntax and Formatting

  • Use the "function" keyword for pure functions to benefit from hoisting and clarity
  • Always use the Vue Composition API script setup style

UI and Styling

  • Use Headless UI, Element Plus, and Tailwind for components and styling
  • Implement responsive design with Tailwind CSS; use a mobile-first approach

Performance Optimization

  • Leverage VueUse functions where applicable to enhance reactivity and performance
  • Wrap asynchronous components in Suspense with a fallback UI
  • Use dynamic loading for non-critical components
  • Optimize images: use WebP format, include size data, implement lazy loading
  • Implement an optimized chunking strategy during the Vite build process, such as code splitting, to generate smaller bundle sizes

Key Conventions

  • Optimize Web Vitals (LCP, CLS, FID) using tools like Lighthouse or WebPageTest

Source and attribution

Source:mindrally/skillsinvuejs-typescript-best-practicesat commit9718410

License: No license

Content belongs to its original authors. SourceWeft indexes it from a public repository.

Report or request removal