{"id":26894372,"url":"https://github.com/antfu/vitesse","last_synced_at":"2025-04-01T00:01:43.686Z","repository":{"id":37236082,"uuid":"286295150","full_name":"antfu-collective/vitesse","owner":"antfu-collective","description":"🏕 Opinionated Vite + Vue Starter Template","archived":false,"fork":false,"pushed_at":"2024-08-24T14:26:01.000Z","size":3301,"stargazers_count":8854,"open_issues_count":31,"forks_count":934,"subscribers_count":93,"default_branch":"main","last_synced_at":"2024-10-29T11:57:50.968Z","etag":null,"topics":["vite","vite-starter","vite-template"],"latest_commit_sha":null,"homepage":"https://vitesse.netlify.app/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/antfu-collective.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"open_collective":"antfu","github":["antfu"]}},"created_at":"2020-08-09T18:34:19.000Z","updated_at":"2024-10-29T02:45:52.000Z","dependencies_parsed_at":"2023-02-19T20:01:46.072Z","dependency_job_id":"48a0d062-206b-4c0d-9645-c7cc83d6fdfa","html_url":"https://github.com/antfu-collective/vitesse","commit_stats":{"total_commits":556,"total_committers":115,"mean_commits":4.834782608695652,"dds":0.3525179856115108,"last_synced_commit":"27fd4cfff1f42ae6b2035e646e482533345cbd65"},"previous_names":["antfu-collective/vitesse","antfu/vitesse"],"tags_count":0,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antfu-collective%2Fvitesse","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antfu-collective%2Fvitesse/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antfu-collective%2Fvitesse/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antfu-collective%2Fvitesse/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/antfu-collective","download_url":"https://codeload.github.com/antfu-collective/vitesse/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246558050,"owners_count":20796696,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["vite","vite-starter","vite-template"],"created_at":"2025-04-01T00:01:26.460Z","updated_at":"2025-04-01T00:01:43.670Z","avatar_url":"https://github.com/antfu-collective.png","language":"TypeScript","funding_links":["https://opencollective.com/antfu","https://github.com/sponsors/antfu"],"categories":["TypeScript","Resources","Get Started","Features"],"sub_categories":["Examples","Templates"],"readme":"\u003cp align='center'\u003e\n  \u003cimg src='https://user-images.githubusercontent.com/11247099/154486817-f86b8f20-5463-4122-b6e9-930622e757f2.png' alt='Vitesse - Opinionated Vite Starter Template' width='600'/\u003e\n\u003c/p\u003e\n\n\u003cp align='center'\u003e\nMocking up web app with \u003cb\u003eVitesse\u003c/b\u003e\u003csup\u003e\u003cem\u003e(speed)\u003c/em\u003e\u003c/sup\u003e\u003cbr\u003e\n\u003c/p\u003e\n\n\u003cbr\u003e\n\n\u003cp align='center'\u003e\n\u003ca href=\"https://vitesse.netlify.app/\"\u003eLive Demo\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cbr\u003e\n\n\u003e **Note**: This template is created during the early transition of Vue 3 and Vite. At this moment, if you are seeking for better Vue developer experience and more consistent maintenance, we recommend using [Nuxt 3](https://nuxt.com) instead (it also works perfectly with SPA or SSG as needed). This template still serves as a reference, but expect slower updates.\n\n\u003cbr\u003e\n\n\u003cp align='center'\u003e\n\u003cb\u003eEnglish\u003c/b\u003e | \u003ca href=\"https://github.com/antfu-collective/vitesse/blob/main/README.zh-CN.md\"\u003e简体中文\u003c/a\u003e\n\u003c!-- Contributors: Thanks for getting interested, however we DON'T accept new translations to the README, thanks. --\u003e\n\u003c/p\u003e\n\n\u003cbr\u003e\n\n## Features\n\n- ⚡️ [Vue 3](https://github.com/vuejs/core), [Vite](https://github.com/vitejs/vite), [pnpm](https://pnpm.io/), [esbuild](https://github.com/evanw/esbuild) - born with fastness\n\n- 🗂 [File based routing](./src/pages)\n\n- 📦 [Components auto importing](./src/components)\n\n- 🍍 [State Management via Pinia](https://pinia.vuejs.org/)\n\n- 📑 [Layout system](./src/layouts)\n\n- 📲 [PWA](https://github.com/antfu/vite-plugin-pwa)\n\n- 🎨 [UnoCSS](https://github.com/antfu/unocss) - the instant on-demand atomic CSS engine\n\n- 😃 [Use icons from any icon sets with classes](https://github.com/antfu/unocss/tree/main/packages/preset-icons)\n\n- 🌍 [I18n ready](./locales)\n\n- 🔎 [Component Preview](https://github.com/johnsoncodehk/vite-plugin-vue-component-preview)\n\n- 🗒 [Markdown Support](https://github.com/unplugin/unplugin-vue-markdown)\n\n- 🔥 Use the [new `\u003cscript setup\u003e` syntax](https://github.com/vuejs/rfcs/pull/227)\n\n- 📥 [APIs auto importing](https://github.com/antfu/unplugin-auto-import) - use Composition API and others directly\n\n- 🖨 Static-site generation (SSG) via [vite-ssg](https://github.com/antfu/vite-ssg)\n\n- 🦔 Critical CSS via [beasties](https://github.com/danielroe/beasties)\n\n- 🦾 TypeScript, of course\n\n- ⚙️ Unit Testing with [Vitest](https://github.com/vitest-dev/vitest), E2E Testing with [Cypress](https://cypress.io/) on [GitHub Actions](https://github.com/features/actions)\n\n- ☁️ Deploy on Netlify, zero-config\n\n\u003cbr\u003e\n\n## Pre-packed\n\n### UI Frameworks\n\n- [UnoCSS](https://github.com/antfu/unocss) - The instant on-demand atomic CSS engine.\n\n### Icons\n\n- [Iconify](https://iconify.design) - use icons from any icon sets [🔍Icônes](https://icones.netlify.app/)\n- [Pure CSS Icons via UnoCSS](https://github.com/antfu/unocss/tree/main/packages/preset-icons)\n\n### Plugins\n\n- [Vue Router](https://github.com/vuejs/router)\n  - [`unplugin-vue-router`](https://github.com/posva/unplugin-vue-router) - file system based routing\n  - [`vite-plugin-vue-layouts`](https://github.com/JohnCampionJr/vite-plugin-vue-layouts) - layouts for pages\n- [Pinia](https://pinia.vuejs.org) - Intuitive, type safe, light and flexible Store for Vue using the composition api\n- [`unplugin-vue-components`](https://github.com/antfu/unplugin-vue-components) - components auto import\n- [`unplugin-auto-import`](https://github.com/antfu/unplugin-auto-import) - Directly use Vue Composition API and others without importing\n- [`unplugin-vue-macros`](https://github.com/sxzz/unplugin-vue-macros) - Explore and extend more macros and syntax sugar to Vue.\n- [`vite-plugin-pwa`](https://github.com/antfu/vite-plugin-pwa) - PWA\n- [`unplugin-vue-markdown`](https://github.com/unplugin/unplugin-vue-markdown) - Markdown as components / components in Markdown\n  - [`@shikijs/markdown-it`](https://github.com/shikijs/shiki) - [Shiki](https://github.com/shikijs/shiki) for syntax highlighting\n- [Vue I18n](https://github.com/intlify/vue-i18n-next) - Internationalization\n  - [`unplugin-vue-i18n`](https://github.com/intlify/bundle-tools/tree/main/packages/unplugin-vue-i18n) - unplugin for Vue I18n\n- [VueUse](https://github.com/antfu/vueuse) - collection of useful composition APIs\n- [`vite-ssg-sitemap`](https://github.com/jbaubree/vite-ssg-sitemap) - Sitemap generator\n- [`@unhead/vue v2`](https://github.com/unjs/unhead) - manipulate document head reactively\n- [`vite-plugin-vue-devtools`](https://github.com/vuejs/devtools-next) - Designed to enhance the Vue developer experience.\n\n### Coding Style\n\n- Use Composition API with [`\u003cscript setup\u003e` SFC syntax](https://github.com/vuejs/rfcs/pull/227)\n- [ESLint](https://eslint.org/) with [@antfu/eslint-config](https://github.com/antfu/eslint-config), single quotes, no semi.\n\n### Dev tools\n\n- [TypeScript](https://www.typescriptlang.org/)\n- [Vitest](https://github.com/vitest-dev/vitest) - Unit testing powered by Vite\n- [Cypress](https://cypress.io/) - E2E testing\n- [pnpm](https://pnpm.js.org/) - fast, disk space efficient package manager\n- [`vite-ssg`](https://github.com/antfu/vite-ssg) - Static-site generation\n  - [beasties](https://github.com/danielroe/beasties) - Critical CSS\n- [Netlify](https://www.netlify.com/) - zero-config deployment\n- [VS Code Extensions](./.vscode/extensions.json)\n  - [Vite](https://marketplace.visualstudio.com/items?itemName=antfu.vite) - Fire up Vite server automatically\n  - [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) - Vue 3 `\u003cscript setup\u003e` IDE support\n  - [Iconify IntelliSense](https://marketplace.visualstudio.com/items?itemName=antfu.iconify) - Icon inline display and autocomplete\n  - [i18n Ally](https://marketplace.visualstudio.com/items?itemName=lokalise.i18n-ally) - All in one i18n support\n  - [ESLint](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint)\n\n## Variations\n\nAs 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 is also welcome!\n\n###### Official\n\n- [vitesse-lite](https://github.com/antfu/vitesse-lite) - Lightweight version of Vitesse\n- [vitesse-nuxt3](https://github.com/antfu/vitesse-nuxt3) - Vitesse for Nuxt 3\n- [vitesse-nuxt-bridge](https://github.com/antfu/vitesse-nuxt-bridge) - Vitesse for Nuxt 2 with Bridge\n- [vitesse-webext](https://github.com/antfu/vitesse-webext) - WebExtension Vite starter template\n\n###### Community\n\n- [vitesse-ssr-template](https://github.com/frandiox/vitesse-ssr-template) by [@frandiox](https://github.com/frandiox) - Vitesse with SSR\n- [vitailse](https://github.com/zynth17/vitailse) by [@zynth17](https://github.com/zynth17) - Like Vitesse but with TailwindCSS\n- [vitesse-modernized-chrome-ext](https://github.com/xiaoluoboding/vitesse-modernized-chrome-ext) by [@xiaoluoboding](https://github.com/xiaoluoboding) - ⚡️ Modernized Chrome Extension Manifest V3 Vite Starter Template\n- [vitesse-stackter-clean-architect](https://github.com/shamscorner/vitesse-stackter-clean-architect) by [@shamscorner](https://github.com/shamscorner) - A modular clean architecture pattern in vitesse template\n- [vitesse-enterprise](https://github.com/FranciscoKloganB/vitesse-enterprise) by [@FranciscoKloganB](https://github.com/FranciscoKloganB) - Consistent coding styles regardless of team-size.\n- [vitecamp](https://github.com/nekobc1998923/vitecamp) by [@nekobc1998923](https://github.com/nekobc1998923) - Like Vitesse but without SSG/SSR/File based routing, includes Element Plus\n- [vitesse-h5](https://github.com/YunYouJun/vitesse-h5) by [@YunYouJun](https://github.com/YunYouJun) - Vitesse for Mobile\n- [bat](https://github.com/olgam4/bat) by [@olgam4](https://github.com/olgam4) - Vitesse for SolidJS\n- [vitesse-solid](https://github.com/xbmlz/vitesse-solid) by [@xbmlz](https://github.com/xbmlz) - Vitesse for SolidJS, build with [`SolidStart`](https://start.solidjs.com/), includes [UnoCSS](https://github.com/unocss/unocss) and [HopeUI](https://hope-ui.com/).\n- [vue3-vant-mobile](https://github.com/easy-temps/vue3-vant-mobile) by [CharleeWa](https://github.com/CharleeWa) - Like Vitesse but without SSG/SSR, includes Vant\n\n## Try it now!\n\n\u003e Vitesse requires Node \u003e=14.18\n\n### GitHub Template\n\n[Create a repo from this template on GitHub](https://github.com/antfu-collective/vitesse/generate).\n\n### Clone to local\n\nIf you prefer to do it manually with the cleaner git history\n\n```bash\nnpx degit antfu-collective/vitesse my-vitesse-app\ncd my-vitesse-app\npnpm i # If you don't have pnpm installed, run: npm install -g pnpm\n```\n\n## Checklist\n\nWhen you use this template, try follow the checklist to update your info properly\n\n- [ ] Change the author name in `LICENSE`\n- [ ] Change the title in `App.vue`\n- [ ] Change the hostname in `vite.config.ts`\n- [ ] Change the favicon in `public`\n- [ ] Remove the `.github` folder which contains the funding info\n- [ ] Clean up the READMEs and remove routes\n\nAnd, enjoy :)\n\n## Usage\n\n### Development\n\nJust run and visit http://localhost:3333\n\n```bash\npnpm dev\n```\n\n### Build\n\nTo build the App, run\n\n```bash\npnpm build\n```\n\nAnd you will see the generated file in `dist` that ready to be served.\n\n### Deploy on Netlify\n\nGo to [Netlify](https://app.netlify.com/start) and select your clone, `OK` along the way, and your App will be live in a minute.\n\n### Docker Production Build\n\nFirst, build the vitesse image by opening the terminal in the project's root directory.\n\n```bash\ndocker buildx build . -t vitesse:latest\n```\n\nRun the image and specify port mapping with the `-p` flag.\n\n```bash\ndocker run --rm -it -p 8080:80 vitesse:latest\n```\n\n## Why\n\nI 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.\n\nSo 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 maintain your own forks. [(see community maintained variation forks)](#variations)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fantfu%2Fvitesse","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fantfu%2Fvitesse","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fantfu%2Fvitesse/lists"}