VueViteStarter

vitessedge-template — Vue Starter Template

By frandiox

A Vue and Vite SSR starter template that deploys full-stack applications to Cloudflare Workers via Vitedge, with preconfigured file-based routing, component auto-import, layouts, PWA, Windi CSS, icons, i18n, and Markdown support.

Explore the design

Compare the page layouts and mobile experience. Open any screenshot for a closer look.

3 previews
Desktop homepage1 / 3
Desktop captureTop of page

Actual screenshot captured by the server browser.

All pages & views 3

Screenshots show visual appearance; interactive behavior may differ.

Recorded 2026-10-02View source

What stands out

A quick read of the recorded project description.

01

Edge-side SSR on Cloudflare Workers via Vitedge, with support for edge caching and HTTP/2 server push

02

File-system-based routing (src/pages) and layout system (src/layouts), with component auto-import

03

Preconfigured PWA, Windi CSS, Iconify icons, Vue I18n (routes differentiated by language), and Markdown support

04

Uses <script setup> and TypeScript, with ESLint configured (single quotes, no semicolons)

05

Provides both SSR and SPA development modes, plus Wrangler local preview and deployment scripts

Template Details

vitessedge-template is a Vue + Vite full-stack SSR starter template for Cloudflare Workers, adapted from @antfu's Vitesse. It uses Vitedge to perform server-side rendering at the edge and supports edge caching and HTTP/2 server push. The template adopts file-system routing (src/pages), component auto-import (src/components), and a layout system (src/layouts). It also integrates PWA, Windi CSS, Iconify icons, Vue I18n (with distinct routes per language), and Markdown support, using <script setup> and TypeScript during development.

The repository is positioned as an opinionated starter. In the README, the author states it was organized for quickly creating Vite applications for personal use and lists community-maintained variants (such as vitesse-lite and vitesse-addons) for different preferences. The template offers two usage methods: GitHub Template and degit, and includes a usage checklist reminding users to rename the name field in package.json, change the LICENSE author, adjust the index.html title and favicon, remove the .github directory, and clean up the README and routes.

Development commands distinguish between SSR and SPA modes (npm run dev and npm run dev:spa). Build output goes to dist, and some files are moved to serverless for deployment. Deploying to Cloudflare Workers requires a Cloudflare account and the Wrangler CLI, and modifying the account_id in worker-site/wrangler.toml. Then npm run preview can simulate the Worker environment locally, and npm run deploy publishes. The repository uses the MIT license, allowing free use, modification, commercial use, and distribution, but third-party assets such as demo images, fonts, and icons, as well as external services like domains and hosting, require separate verification of licenses and fees.

VueViteStarter

Is it right for your project?

Use Cases

  • Projects that need to deploy a Vue full-stack SSR application to Cloudflare Workers
  • Quickly setting up a Vue application structure with file routing, component auto-import, and a layout system
  • Starting a site that requires multilingual routing, Markdown content, or PWA capabilities
  • As a starting repository for individuals or teams to unify development conventions in the Vite ecosystem

Suitable For

  • Front-end developers familiar with Vue 3, Vite, and TypeScript
  • Teams planning to use Cloudflare Workers as the deployment target
  • Projects that accept opinionated configuration and want to reduce initial setup effort

Getting started & customization

Use these recorded setup notes alongside the repository instructions for your chosen version.

  1. 1

    Create a repository via GitHub Template, or clone locally with npx degit frandiox/vitessedge-template my-vitesse-app and then run npm i

  2. 2

    During development, run npm run dev to enable SSR, or run npm run dev:spa to start in SPA mode; by default, access http://localhost:3333

  3. 3

    Build with npm run build; output goes to dist, and some files are moved to serverless for deployment

  4. 4

    Before deploying to Cloudflare Workers, create a Cloudflare account, install the Wrangler CLI, and modify the account_id in worker-site/wrangler.toml

  5. 5

    After using the template, follow the checklist to update the name in package.json, the LICENSE author, the index.html title and favicon, remove the .github directory, and clean up the README and routes

Read repository instructions

License & source material

Usage conditions & limitations

Free to use · keep license notice

This entry covers the free version under the MIT license in the public repository; the free scope applies to that version's code and does not imply that external services or third-party assets are free.

Must comply with when using

  • Free use, modification, commercial use, and distribution of that version's code are permitted.
  • When distributing copies or substantial portions of the code, retain the original author's copyright notice and the full 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

  • Deploying to Cloudflare Workers requires registering a Cloudflare account, which is an external service dependency and may involve terms of service and fees.
  • The deployment process requires installing the Wrangler CLI tool, which is an additional external development dependency.
  • Before deployment, the account_id in wrangler.toml must be modified to bind to your own Cloudflare account.
  • When using the template, you must follow the checklist to change the author name in the LICENSE to your own information to comply with attribution and copyright notice requirements.
  • When using the template, you should remove the .github directory containing funding information to avoid retaining the original author's sponsorship configuration.
  • 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 additional charges.
View Original Text Basis

Permission is hereby granted, free of charge

Original License Text

1. Create your [Cloudflare](https://www.cloudflare.com/) account.

Original README

2. Install [Wrangler](https://developers.cloudflare.com/workers/cli-wrangler/install-update) CLI.

Original README

3. Modify the `account_id` in [wrangler.toml](./worker-site/wrangler.toml). Then:

Original README

- [ ] Change the author name in `LICENSE`

Original README

- [ ] Remove the `.github` folder which contains the funding info

Original README
https://github.com/frandiox/vitessedge-template/blob/master/LICENSEhttps://github.com/frandiox/vitessedge-template/blob/master/README.md

Compiled by DeepSeek based on repository license and README ·2026-10-02. 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 · 81 / 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
2022-09-26
Screenshot last checked
2026-10-02

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.

Automatically checked against source and license rules; no manual editorial review.

Inspect the recorded source material

SHA-256: bbea0422e97c0ef7b4619c2353a6f062446b6ef252f37a2fba5cefbb164b4afe

2026-10-02T11:40:57.323Z

Source file / repository
# Vitessedge

<p align="center">
  <img width="500" src="./logo.png" alt="Vitessedge">
</p>

<p align="center">
Deploy your fullstack SSR apps to Cloudflare Workers using <a href="https://github.com/frandiox/vitedge">Vitedge</a>.
</p>

<p align='center'>
<a href="https://vitessedge.zable.workers.dev/">Live Demo</a>
</p>

> Vue + Vite + SSR template based on [@antfu](https://github.com/antfu)'s [Vitesse](https://github.com/antfu/vitesse)

## Features

- ⚡️ [Vue 3](https://github.com/vuejs/vue-next), [Vite 2](https://github.com/vitejs/vite), [ESBuild](https://github.com/evanw/esbuild) - born with fastness

- ⚔️ Edge-side rendering in Cloudflare Workers via [Vitedge](https://github.com/frandiox/vitedge), with edge cache and HTTP/2 server push

- 🗂 [File based routing](./src/pages)

- 📦 [Components auto importing](./src/components)

- 📑 [Layout system](./src/layouts)

- 📲 [PWA](https://github.com/antfu/vite-plugin-pwa)

- 🎨 [Windi CSS](https://github.com/windicss/windicss) - on-demand Tailwind CSS with speed

- 😃 [Use icons from any icon sets, with no compromise](./src/components)

- 🌍 [I18n ready](./src/i18n/translations) with different routes for each language.

- 🗒 [Markdown Support](https://github.com/antfu/vite-plugin-md)

- 🔥 Use the [new `<script setup>` style](https://github.com/vuejs/rfcs/pull/227)

- 🦾 TypeScript, of course

- ☁️ Deploy on Cloudflare Workers, minimal [setup](./worker-site/index.js)

<br>

## Pre-packed

### UI Frameworks

- [Windi CSS](https://github.com/windicss/windicss) (On-demand [TailwindCSS](https://tailwindcss.com/)) - lighter and faster, with a bundle additional features!
  - [Windi CSS Typography](https://windicss.netlify.app/guide/plugins.html#typography) - similar to [Tailwind CSS Typography](https://github.com/tailwindlabs/tailwindcss-typograph) but for Windi CSS

### Icons

- [Iconify](https://iconify.design) - use icons from any icon sets [🔍Icônes](https://icones.netlify.app/)
- [`vite-plugin-icons`](https://github.com/antfu/vite-plugin-icons) - icons as Vue components

### Plugins

- [Vue Router](https://github.com/vuejs/vue-router)
  - [`vite-plugin-pages`](https://github.com/hannoeru/vite-plugin-pages) - file system based routing
  - [`vite-plugin-vue-layouts`](https://github.com/JohnCampionJr/vite-plugin-vue-layouts) - layouts for pages
- [`vite-plugin-components`](https://github.com/antfu/vite-plugin-components) - components auto import
- [`vite-plugin-pwa`](https://github.com/antfu/vite-plugin-pwa) - PWA
- [`vite-plugin-windicss`](https://github.com/antfu/vite-plugin-windicss) - WindiCSS support
- [`vite-plugin-md`](https://github.com/antfu/vite-plugin-md) - Markdown as components / components in Markdown
  - [`markdown-it-prism`](https://github.com/jGleitz/markdown-it-prism) - [Prism](https://prismjs.com/) for syntax highlighting
  - [`prism-theme-vars`](https://github.com/antfu/prism-theme-vars) - customizable Prism.js theme using CSS variables
- [Vue I18n](https://github.com/intlify/vue-i18n-next) - Internationalization
  - [`vite-plugin-vue-i18n`](https://github.com/intlify/vite-plugin-vue-i18n) - Vite plugin for Vue I18n
- [VueUse](https://github.com/antfu/vueuse) - collection of useful composition APIs
- [`@vueuse/head`](https://github.com/vueuse/head) - manipulate document head reactively

### Coding Style

- Use Composition API with [`<script setup>` SFC](https://github.com/vuejs/rfcs/pull/227)
- [ESLint](https://eslint.org/) with [@antfu/eslint-config-vue](https://github.com/antfu/eslint-config), single quotes, no semi.

### Dev tools

- [TypeScript](https://www.typescriptlang.org/)
- [Vitedge](https://github.com/frandiox/vitedge) - Edge-side rendering
- [Wrangler](https://developers.cloudflare.com/workers/cli-wrangler/install-update) - deploy to Cloudflare Workers
- [VS Code Extensions](./.vscode/extensions.json)
  - [Volar](https://marketplace.visualstudio.com/items?itemName=johnsoncodehk.volar)
  - [Iconify IntelliSense](https://marketplace.visualstudio.com/items?itemName=antfu.iconify)
  - [i18n Ally](https://marketplace.visualstudio.com/items?itemName=lokalise.i18n-ally)
  - [ESLint](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint)

## Variations

As this template is strongly opinionated, the following provides a curated list for community maintained variations with different preferences and feature sets. Check them out as well. PR to add yours are also welcome!

- [vitesse-lite](https://github.com/kn0wn/vitesse-lite) by [@kn0wn](https://github.com/kn0wn)
- [vitesse-addons](https://github.com/JohnCampionJr/vitesse-addons) by [johncampionjr](https://github.com/johncampionjr) - additional options for integrations, including [Prettier](https://prettier.io) and [Storybook](https://storybook.js.org)

## Try it now!

### GitHub Template

[Create a repo from this template on GitHub](https://github.com/frandiox/vitessedge-template/generate).

### Clone to local

If you prefer to do it manually with the cleaner git history

```bash
npx degit frandiox/vitessedge-template my-vitesse-app
cd my-vitesse-app
npm i
```

## Checklist

When you use this template, try follow the checklist to update your info properly

- [ ] Rename `name` field in `package.json`
- [ ] Change the author name in `LICENSE`
- [ ] Change the title in `index.html`
- [ ] Change the favicon in `public`
- [ ] Remove the `.github` folder which contains the funding info
- [ ] Clean up the READMEs and remove routes

And, enjoy :)

## Usage

### Development

Just run and visit http://localhost:3333

```bash
npm run dev # SSR development
npm run dev:spa # SPA without SSR
```

### Build

To build the App, run

```bash
npm run build
```

And you will see the generated files in `dist`, and some of these files will be moved to `serverless` for deployment.

### Deploy on Cloudflare Workers

1. Create your [Cloudflare](https://www.cloudflare.com/) account.
2. Install [Wrangler](https://developers.cloudflare.com/workers/cli-wrangler/install-update) CLI.
3. Modify the `account_id` in [wrangler.toml](./worker-site/wrangler.toml). Then:

```bash
npm run preview # Simulate Worker environment locally
npm run deploy
```

## Why

I have created several Vite apps recently. Setting the configs up is kinda the bottleneck for me to make the ideas simply come true within a very short time.

So I made this starter template for myself to create apps more easily, along with some good practices that I have learned from making those apps. It's strongly opinionated, but feel free to tweak it or even maintains your own forks. [(see community maintained variation forks)](#variations)
Report a correction

Explore similar templates

Compare previews and descriptions within the same stack and category.

vitesse

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

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

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

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

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

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