Vue 3 starter built with Vite, using pnpm for package management
vue-starter — Vue Starter Template
By matijaoe
A starter template based on Vue 3, Vite, and UnoCSS, integrating file-based routing, auto-imports, Pinia, VueUse, and TypeScript, with ESLint configuration and deployment scripts.
Explore the design
Compare the page layouts and mobile experience. Open any screenshot for a closer look.
Actual screenshot captured by the server browser.
All pages & views 2
Screenshots show visual appearance; interactive behavior may differ.
What stands out
A quick read of the recorded project description.
File-based routing provided by unplugin-vue-router with TypeScript type support
Component and API auto-imports implemented by unplugin-vue-components and unplugin-auto-import respectively
UnoCSS integration with presetUno, presetAttributify, presetTypography, presetIcons, presetWebFonts, and directive and variant group transformers
Built-in Pinia state management and VueUse composition utility collection
Provides dev and build scripts as well as Vercel, Netlify, and Surge deployment commands
Template Details
This template is a Vue 3 starter built with Vite and using UnoCSS as the atomic CSS engine. The repository description lists file-based routing (unplugin-vue-router with type support), component auto-imports (unplugin-vue-components), API auto-imports (unplugin-auto-import), Pinia state management, the VueUse composition utility collection, TypeScript type checking (vue-tsc), and ESLint configuration. The UnoCSS section enables presetUno, presetAttributify, presetTypography, presetIcons, presetWebFonts, as well as transformerDirectives and transformerVariantGroup, and includes PostCSS's postcss-nesting.
For usage, the repository offers a GitHub Template to generate a repository, or cloning a local copy without git history via npx giget gh:matijaoe/vue-starter <name>; package management uses pnpm, and scripts include dev, build, and deployment commands for Vercel, Netlify, and Surge. The README also explains that providing TypeScript support for .vue imports in the editor requires the Volar plugin, and gives steps to enable Take Over Mode.
In terms of limitations, the template does not state specific framework version numbers, performance metrics, or production readiness in the materials; third-party assets such as demo images, fonts, and icons must be checked against their respective licenses, and external services such as hosting, databases, payments, or AI may incur separate charges.
Is it right for your project?
Use Cases
- When you need to quickly set up a Vue 3 + Vite + UnoCSS project skeleton
- For Vue projects that want file-based routing, auto-imports, and TypeScript type checking
- For projects that need Pinia and VueUse as default state and utility sets
- For Vue frontend projects preparing to deploy to Vercel, Netlify, or Surge
- As a reference template for learning UnoCSS presets and transformer configuration
Suitable For
- Frontend developers familiar with Vue 3 and TypeScript
- Teams that prefer atomic CSS and auto-import workflows
- Individuals or small teams that need to quickly generate new repositories from a template
- Projects using pnpm as the package manager
Getting started & customization
Use these recorded setup notes alongside the repository instructions for your chosen version.
- 1
You can generate a repository via GitHub Template, or clone a copy without git history locally by running npx giget gh:matijaoe/vue-starter <name>
- 2
Install dependencies with pnpm i; if pnpm is not installed, you can first run npm install -g pnpm
- 3
Use pnpm dev for development and pnpm build for production builds
- 4
Deployment scripts include pnpm deploy:vercel, pnpm deploy:ntl, and pnpm deploy:surge
- 5
Providing TypeScript support for .vue imports in the editor requires installing the Volar plugin, and Take Over Mode can be enabled if necessary
License & source material
Usage conditions & limitations
Free to use · keep license noticeThis entry covers the free version under the MIT license in the public repository; the free scope is the code of that version and does not mean external services or third-party assets are free.
Must comply with when using
- Free use, modification, commercial use, and distribution of this version's code are permitted.
- When distributing copies or substantial portions of the code, retain the original author's copyright notice and the complete MIT license notice.
- The code is provided as is; warranties and limitations of liability are governed by the original license and applicable law.
Additional costs & items to verify
- Demo images, fonts, icons, and other third-party assets must be checked against their respective licenses and cannot be judged solely by the code's MIT license.
- External services such as domains, hosting, databases, payments, or AI may incur separate charges.
View Original Text Basis
https://github.com/matijaoe/vue-starter/blob/main/LICENSE.mdhttps://github.com/matijaoe/vue-starter/blob/main/README.mdPermission is hereby granted, free of charge
Original License Text
Compiled by DeepSeek based on repository license and README ·2026-10-03. Results only cover the materials read; dependencies, images, fonts, and subsequent term changes are subject to their respective original texts.
Project checks & description sources
Template Information
- Source platforms
- GitHub
- Documentation and maintenance reference score
- More documented · 77 / 100
- Technologies
- Vue · Vite
- Website type
- Starter
How this score is calculated
Our heuristic uses license records (up to 30), a demo link (12), a preview (10), stars (15), recorded maintenance (15), description completeness (8), feature records (5) and classification data (5). It is not a code, security or performance test, or a Google score. A link does not establish tested functionality.
What to verify for this project
- Repository update recorded
- 2024-04-11
- Screenshot last checked
- 2026-10-03
A demo link is listed. Check it with your own content and viewport sizes; its presence does not confirm that forms, authentication or payments work.
The catalog identifies Vue as the primary stack. Check the actual dependency manifest and lockfile for versions and hosting requirements. These notes use recorded metadata, not a code audit or a deployment test.
Use a selection guide →How this description was prepared
AI-assisted description based on catalog records and repository material. Repository authors are not automatically the reviewers of this description.
Review declaration: [email protected] · 2026-10-04
Inspect the recorded source material
SHA-256: c8548e31f9e4b39a5369c19bd6a39d2e2e2b810c321b14cc2816c85217eabbbc
2026-10-03T18:56:43.079Z
Source file / repository# Vue ✕ UnoCSS starter template
> Fully featured Vue 3 starter template
|🌞|🌚|
|---|---|
|<img width="445" alt="Light mode" src="https://user-images.githubusercontent.com/46557266/213271710-f59e6cf8-571e-4621-9fb9-2a58bd877bd6.png">|<img width="441" alt="Dark mode" src="https://user-images.githubusercontent.com/46557266/213271718-838259c8-2e71-4f0f-9bd5-fa6a5eef0d1c.png">|
## Features
- ⚡️ [Vue 3](https://github.com/vuejs/core), [Vite](https://github.com/vitejs/vite), [pnpm](https://pnpm.io/)
- 🗂 File based routing, fully typed
- 📦 Auto imported components
- 🫧 Auto imported APIs
- 🎨 [UnoCSS](https://github.com/antfu/unocss) - The instant on-demand atomic CSS engine
- 👽 Pure CSS icons powered by [Iconify](https://docs.iconify.design/icon-components/vue/) - Over 100,000 icons across 100+ icon packs
- 🍍 [Pinia](https://pinia.vuejs.org/) - The Vue Store that you will enjoy using
- 🛠️ [VueUse](https://vueuse.org/) - Collection of essential Vue Composition Utilities
- 💪🏻 TypeScript
- 🧹 ESLint / [matijaoe config](https://github.com/matijaoe/eslint-config)
- ☁️ Deploy with zero config
## Plugins
### UI Frameworks
- [UnoCSS](https://github.com/antfu/unocss) - The instant on-demand atomic CSS engine
- [`presetUno`](https://github.com/unocss/unocss/tree/main/packages/preset-uno) - Tailwind / Windi CSS compact preset
- [`presetAttributify`](https://github.com/unocss/unocss/tree/main/packages/preset-attributify) - Provides Attributify Mode to other presets and rules
- [`presetTypography`](https://github.com/unocss/unocss/tree/main/packages/preset-typography) - The typography preset
- [`presetIcons`](https://github.com/unocss/unocss/tree/main/packages/preset-icons) - Use any icons with Pure CSS for UnoCSS
- [`presetWebFonts`](https://github.com/unocss/unocss/tree/main/packages/preset-web-fonts) - Web fonts at ease
- [`transformerDirectives`](https://github.com/unocss/unocss/tree/main/packages/transformer-directives) - Transformer for `@apply`, `@screen` and `theme()` directives
- [`transformerVariantGroup`](https://github.com/unocss/unocss/tree/main/packages/transformer-variant-group) - Enables the [variant group feature of Windi CSS](https://windicss.org/features/variant-groups.html) for UnoCSS
- [Post CSS](https://postcss.org/)
- [`postcss-nesting`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-nesting)
### Vite Plugins
- [`unplugin-vue-router`](https://github.com/posva/unplugin-vue-router) - Automatic file based routing in with TypeScript support
- [`unplugin-auto-import`](https://github.com/antfu/unplugin-auto-import) - Directly use Vue Composition API and other APIs without importing
- [`unplugin-vue-components`](https://github.com/antfu/unplugin-vue-components) - Components auto import
## Use the template
### GitHub Template
[Create a repo from this template on GitHub](https://github.com/matijaoe/vue-starter/generate)
### Local
Clone the template locally, with no git history (powered by [`unjs/giget`](https://github.com/unjs/giget))
```bash
npx giget gh:matijaoe/vue-starter <name>
```
```bash
# Install dependencies (if no pnpm installed, run: npm install -g pnpm)
pnpm i
# Start dev server
pnpm dev
# Build for production
pnpm build
# Deploy anywhere
pnpm deploy:vercel # vercel
pnpm deploy:ntl # netlify
pnpm deploy:surge # surge.sh
```
## Type Support for `.vue` Imports in TS
TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types.
If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps:
1. Disable the built-in TypeScript Extension
1) Run `Extensions: Show Built-in Extensions` from VSCode's command palette
2) Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)`
2. Reload the VSCode window by running `Developer: Reload Window` from the command palette.
## Related
- 🧚🏻 [`nuxt-starter`](https://github.com/matijaoe/nuxt-starter)
- 🔮 [`vue-anu-starter`](https://github.com/matijaoe/vue-anu-starter)
Explore similar templates
Compare previews and descriptions within the same stack and category.

vitesse
Vitesse is an opinionated Vite + Vue 3 starter template maintained by antfu-collective, offering file-based routing, component and API auto-import, Pinia, UnoCSS, PWA, i18n, Markdown, vite-ssg, TypeScript, Vitest, and Cypress.
Vue · Starter

vitesse-webext
vitesse-webext is a Vite-powered WebExtension starter template using Vue 3 and TypeScript, with built-in popup, options, and content script examples. It targets Chrome and Firefox, integrates webextension-polyfill, webext-bridge, UnoCSS, VueUse, and unplugin tools, and supports hot reload during development.
Vue · Starter

laravel-vue-spa
A Laravel + Vue SPA starter kit for quickly building a decoupled web application skeleton. It includes login, registration, email verification, and password reset flows, uses JWT for authentication, and integrates Laravel Socialite with GitHub as an example provider.
Vue · Starter

vue3-h5-template
A mobile H5 starter template built on Vue3, Vite, and Vant4, with TypeScript by default and JavaScript and i18n branches.
Vue · Starter

tov-template
tov-template is an MIT-licensed Vite + Vue 3 + TypeScript starter maintained by dishait. It bundles file-based routing, layouts, Mock, auto-imports, UnoCSS, Pinia, vue-request, Vitest, i18n, dark mode, Dockerfile, and engineering scripts.
Vue · Starter

shadcn-vue-landing-page
A Vue + Shadcn-Vue + TypeScript + Tailwind landing page template with sections like Navbar, Hero, Pricing, FAQ, Team, and Contact, plus dark mode and responsive layout.
Vue · Corporate Website
