Vue 3 + Vuetify + TypeScript + Vite Starter

September 4, 2026 · View on GitHub

日本語版

TypeScript Node.js Version pnpm Vite X Follow GitHub Sponsors

Note

Because eslint does not support TypeScript 7, the current implementation temporarily allows for the coexistence of both 6 and 7.

This template helps you get started developing with Vue 3 and TypeScript in Vite. It uses Vue 3 <script setup vapor> SFCs; check out the script setup docs to learn more.

Includes vue-router and Pinia.

Additionally, ESLint, Stylelint, and Prettier are included and set to run automatically at runtime and on commit. (These settings are strict, so relax them as needed.)

When the development server runs, it is checked in real-time by vite-plugin-checker.

First, define VITE_APP_TITLE in your .env file.

AI Agent Guidance

This repository includes AGENTS.md, a guideline document for coding agents such as GitHub Copilot, Claude, and Cursor.

🚀 Quick Start

Installation

pnpm install

Start Development Server

pnpm dev

Open http://localhost:5173 in your browser.

Build

pnpm build

Test

pnpm test:unit
pnpm test:e2e

✨ Features

  • Vue 3 + TypeScript + Vite combination
  • Routing and state management with vue-router and Pinia
  • Code quality management with ESLint, Stylelint, and Prettier
  • Unit testing with Vitest
  • E2E testing with Playwright
  • Real-time type checking with vite-plugin-checker
  • Strict linter settings to maintain high-quality code

VS Code + Vue (Official) (disable Vetur).

📋 Commands

Designed to be close to create-vue commands.

CommandDescription
devStart development server
lintRun all linters
lint:oxlintRun oxlint
lint:eslintRun ESLint
lint:styleRun Stylelint
testRun Vitest
test:unitRun unit tests
test:coverageOutput coverage report
test:e2eRun E2E tests
buildBuild for production
build:analyzeExecute Bundle Analyzer
build:cleanClear production build files
build-onlyBuild for production without checking (for deploy)
cleanClear artifacts
clean:hardClear artifacts and development cache.
type-checkCheck Vue markup
previewRun the program generated by the production build

🔧 Type Support for .vue Imports in TS

TypeScript cannot handle type information for .vue imports by default, so they are shimmed to be a generic Vue component type. In most cases, this is fine if you don't care about component prop types outside of templates. However, if you wish to get actual prop types in .vue imports (for example, to get props validation when using manual h(...) calls), you can enable Volar's .vue type support plugin by running Volar: Switch TS Plugin on/off from the VSCode command palette.

📝 Checklist

When using this template, follow the checklist to update your info properly.

  • Change the author name in LICENSE
  • Change the favicon in public
  • Remove the .github folder which contains funding info
  • Review and adapt AGENTS.md for your project conventions
  • Clean up the READMEs and remove routes