Vite-based static website starter template providing a dev server and production build commands
vitam — Vite Starter Template
By Kazuki-tam
VITAM is a Vite-based front-end starter template for static websites, suitable for small to medium projects such as landing pages and corporate sites.
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 3
Screenshots show visual appearance; interactive behavior may differ.
What stands out
A quick read of the recorded project description.
Uses Handlebars and the src/_partials directory to split and reuse HTML partial templates
site.config.ts centrally manages site information and metadata such as titles, descriptions, and OGP for each page
Built-in Sass functions and mixins, with styles organized by default according to Enduring CSS
Integrates TypeScript, Jest, ESLint, HTML-validate, Prettier, PostCSS, Stylelint, and other configurations
Manages SVG icons as a sprite via vite-plugin-svg-icons, and includes PWA support
Template Details
VITAM is a front-end starter template that uses Vite as its build tool, targeting static websites; the README explicitly states it is suitable for small to medium projects such as landing pages and corporate sites. The template uses Handlebars to split HTML into multiple small files, manages reusable partial templates through the src/_partials directory, and centrally maintains site base information and metadata such as titles, descriptions, URLs, and OGP for each page in site.config.ts. For styling, it uses Sass (Dart Sass), includes some preconfigured functions and mixins, and by default organizes the CSS architecture according to Enduring CSS, though the README notes that this architecture is not mandatory for all projects. TypeScript can be used directly, tsconfig.json can be adjusted as needed, and some utility functions are provided under src/ts/utils. Icons are managed via vite-plugin-svg-icons: place SVGs in src/icons and reference them as a sprite. The template also includes PWA support, Jest-based testing, and configurations for ESLint, HTML-validate, Prettier, PostCSS, Stylelint, as well as a GitHub Actions workflow in .github/workflows/project-ci.yml. The runtime requires Node v18 (README specifies 18.13.0), uses Yarn as the package manager, and commands include yarn start, yarn build, yarn serve, yarn lint, yarn test, etc. The README notes that the template does not support Internet Explorer.
Is it right for your project?
Use Cases
- Building a small to medium corporate website or product landing page
- Static sites that need HTML split into reusable partial templates
- Front-end projects that want Vite as the build tool with built-in TypeScript and Sass configuration
- Static websites that need PWA capabilities and SVG sprite icon management
Suitable For
- Front-end developers using Vite to build static websites
- Small to medium projects needing Handlebars template reuse and centralized page metadata configuration
- Teams that accept Enduring CSS as the default style architecture, or are willing to replace it
- Projects using Node v18 and Yarn as the development environment
Getting started & customization
Use these recorded setup notes alongside the repository instructions for your chosen version.
- 1
Requires Node v18 (README specifies 18.13.0) and uses Yarn as the package manager
- 2
After cloning the repository, run yarn install to install dependencies
- 3
Use yarn start to launch development mode, yarn build to build the production version, and yarn serve to preview the production build locally
- 4
When adding a new page, edit site.config.ts to add page metadata; place partial templates in the src/_partials directory
- 5
PWA-related asset files need to be replaced with your own project files; the README explicitly states Internet Explorer is not supported
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 this version 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 this 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
- The template does not support Internet Explorer; projects requiring IE compatibility cannot use it directly.
- Some PWA-related asset files need to be replaced with files from your own project; the template's bundled assets cannot be used as is.
- The development environment requires Node v18 (README specifies 18.13.0) and uses Yarn as the package manager.
- Demo images, fonts, icons, and other third-party assets must be checked against their respective licenses; the code's MIT license alone is not sufficient to determine this.
- 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
This starter template doesn't support Internet Explorer.
Original README
Note: Please replace some asset files for PWA with your project's files.
Original README
https://github.com/Kazuki-tam/vitam/blob/main/LICENSEhttps://github.com/Kazuki-tam/vitam/blob/main/README.md- [Node v18 (18.13.0)](https://nodejs.org/en/)
Original README
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 · 83 / 100
- Technologies
- 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
- 2026-01-22
- 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 Vite 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: a48881ab0815401e5e411afe814c6727f81091258151a8c4f8504d7b95023b44
2026-10-03T08:41:15.330Z
Source file / repository# VITAM
VITAM is a starter template with Vite for front-end projects. This template focuses on building a static website and suits small to medium projects like a landing page and a corporate website.
## Status
[](https://github.com/Kazuki-tam/vitam/releases/tag/v0.0.1)
[](https://github.com/Kazuki-tam/vitam/issues)


## Features
- Fast HMR with [Vite](https://vitejs.dev/)
- PWA support
- Quick local server
- Compressing image assets
- Breaking HTML smaller files with [Handlebars](https://handlebarsjs.com/)
- Referring to [Enduring CSS](https://ecss.benfrain.com/)
- Out of the box useful JavaScript libraries
- Out of the box useful SCSS functions and Mixins
- Checking TypeScript with [ESLint](https://eslint.org/)
- HTML Validation with [HTML-validate](https://html-validate.org/)
- Transforming styles with [PostCSS](https://postcss.org/)
- Built-in test runner with [Jest](https://jestjs.io/)
## Requirements
- [Node v18 (18.13.0)](https://nodejs.org/en/)
## Main Dependencies
<!-- textlint-disable -->
- [Yarn](https://yarnpkg.com/)
- [Jest](https://jestjs.io/)
- [ESLint](https://eslint.org/)
- [HTML-vallidate](https://html-validate.org/)
- [Prettier](https://prettier.io/)
- [Vite](https://vitejs.dev/)
- [Handlebars](https://handlebarsjs.com/)
- [TypeScript](https://www.typescriptlang.org/)
- [Sass](https://sass-lang.com/)
<!-- textlint-enable -->
## How to Use
Clone this repository and install dependencies
```
yarn install
```
## Available Commands
Start your project in development mode
```
yarn start
```
Build your project for production
```
yarn build
```
Locally preview production build
```
yarn serve
```
Validate HTML files
```
yarn htmlValidate
```
Lint your project files
```
yarn lint
```
Fix your project files
```
yarn lint:fix
```
Install missing TypeScript typings
```
yarn postInstall
```
Check the package's license
```
yarn checkLicense
```
Test project's code
```
yarn test
```
```
yarn test:watch
```
## HTML
You can handle bundling multiple HTML files with [vite-plugin-handlebars](https://www.npmjs.com/package/vite-plugin-handlebars).
Make sure [Handlebars Context](https://handlebarsjs.com/guide/#simple-expressions) as you need.
If you want to use multiple partial files, Add your partial files into the `_partials` folder.
`src/_partials`
You can call partial files directly by other templates like this example.
```
{{> _header }}
<main>
<h1>Welcome to VITAM Docs!</h1>
<p>VITAM is a front-end template with Vite for static websites.</p>
</main>
{{> _footer }}
```
`site.config.ts` manages the site's basic information.
You have to edit `site.config.ts` when you create a new page.
```js
const pagesData = {
'/sample/index.html': {
locale: siteData.locale,
title: `Smaple Page | ${siteData.siteName}`,
description: `This is a sample page. ${siteData.description}`,
url: `${siteData.url}/sampple/`,
ogpImage: siteData.ogpImage,
ogType: 'article',
fbAppId: siteData.fbAppId,
fbAdmins: siteData.fbAdmins,
twitterCard: siteData.twitterCard,
twitterSite: siteData.twitterSite,
},
};
```
[📖 Learn Handlebars](https://handlebarsjs.com/)
## Sass (Dart Sass)
You can manage style sheets logically with Sass. I've already defined some functions and Mixins.
Check out these files before you get started with your project.
<!-- textlint-disable -->
- `src/scss/foundation/functions/*.scss`
- `src/scss/foundation/mixins/*.scss`
<!-- textlint-enable -->
[📖 Learn Sass](https://sass-lang.com/)
## CSS Architecture
This starter template gives you CSS architecture which is [Enduring CSS](https://ecss.benfrain.com/) standardly, but it's not necessary architecture in all projects. I recommend you introduce the best architecture in each project.
[📖 Learn CSS Architecture](https://philipwalton.com/articles/css-architecture/)
### What's Enduring CSS?
Enduring CSS is an architecture to write style sheets for large-scale, rapidly changing, long-lived web projects.
You can get these benefits from Enduring CSS.
- Isolated, self-quarantining styles
- Scale to any size
- Avoiding abstraction and specificity
- One key selector to rule them all
- Handling state
[📖 Learn Enduring CSS](https://ecss.benfrain.com/)
### How to write Enduring CSS selectors
Here is the example selector.
```
.namespace-Component_ChildNode
```
## TypeScript
This template supports TypeScript. It's easy to import ts files.
You can customize TypeScript's options with `tsconfig.json` at any time.
I've already defined some utility functions.
Check out these files before you get started with your project.
<!-- textlint-disable -->
`src/ts/utils/*.ts`
<!-- textlint-enable -->
`postInstall` command will help you to install typings in this project.
Jest is built-in in this project. You can run Jest from the command line.
[📖 Learn TypeScript](https://www.typescriptlang.org/)
[📖 Learn Jest](https://jestjs.io/)
## Icons
<!-- textlint-disable -->
[vite-plugin-svg-icons](https://github.com/vbenjs/vite-plugin-svg-icons) make it easy to manage SVG icons.
<!-- textlint-enable -->
Add SVG files into the icons folder.
```
src/icons/
```
### Usage of SVG sprite
Call the icon with ID.
```html
<svg aria-hidden="true">
<use href="#icon-file" />
</svg>
```
## PWA
[Vite Plugin PWA](https://vite-plugin-pwa.netlify.app/) supports making your website faster.
Edit `vite.config.ts` if you would like to customize settings for PWA.
You can generate icons for PWA with [Favicon Generator](https://realfavicongenerator.net/).
Note: Please replace some asset files for PWA with your project's files.
[📖 Learn PWA](https://web.dev/learn/pwa/)
## GitHub Actions
If you use GitHub in your project, you can take advantage of GitHub Actions to automate your development workflows.
Check out this file before you get started with your project.
<!-- textlint-disable -->
`.github/workflows/project-ci.yml`
<!-- textlint-enable -->
## Configurations
<!-- textlint-disable -->
- [package.json](https://docs.npmjs.com/cli/v7/configuring-npm/package-json)
- [.editorconfig](https://editorconfig.org/)
- [.prettierrc](https://prettier.io/docs/en/configuration.html)
- [.eslintrc.json](https://eslint.org/docs/user-guide/configuring/)
- [.htmlvalidate.json](https://html-validate.org/usage/#configuration)
- [.postcssrc.json](https://github.com/postcss/postcss-load-config)
- [.stylelintrc.json](https://stylelint.io/user-guide/configure)
- [.node-version](https://github.com/nodenv/nodenv)
- [.textlintrc](https://textlint.github.io/docs/configuring.html)
- [vite.config.ts](https://vitejs.dev/config/)
- [tsconfig.json](https://www.typescriptlang.org/tsconfig)
- [jest.config.ts](https://jestjs.io/docs/configuration)
<!-- textlint-enable -->
## Recommended IDE
- [Visual Studio Code](https://code.visualstudio.com/)
## Notes
This starter template doesn't support Internet Explorer.
Feel free to use this template.
## Contributes
Pull requests are always welcome.
## License
MIT
Explore similar templates
Compare previews and descriptions within the same stack and category.

react-starter-kit
A full-stack SaaS monorepo starter built on Vite and React, with Bun, TypeScript, tRPC, Drizzle ORM, Better Auth, Stripe, and Cloudflare Workers. It includes email OTP, passkey, Google OAuth, organizations, subscription billing, Drizzle migrations, seed scripts, and Terraform infrastructure.
Vite · SaaS

cove
Cove is a minimal TanStack Start starter template maintained by mugnavo, integrating React, TanStack Router/Query, Tailwind CSS, shadcn/ui, Drizzle ORM with PostgreSQL, Better Auth, Vite Plus, and Nitro.
Vite · SaaS

vite-react-boilerplate
A production-ready Vite + React starter template with TypeScript, Tailwind CSS, TanStack Router/Query/Table, Storybook, React Hook Form + Zod, Vitest and Playwright testing, plus Husky/Commitizen/Commitlint commit conventions.
Vite · Starter

react-vite-admin
A backend management starter built on Vite and React, integrating Recoil, React Query, TypeScript, and Axios, with Ant Design-style interface screenshots. Suitable as a starting point for management-side projects, licensed under MIT, with Chinese documentation and common scripts.
Vite · Admin dashboard

typescript-react_best_practices-vite_template
A Vite + React + TypeScript starter template by CodelyTV, preconfigured with Jest and React Testing Library unit tests, Cypress end-to-end tests, ESLint and Prettier using Codely's shared configuration, GitHub Actions workflows, a Makefile, and Sass.
Vite · Starter

cloudflare-starter-kit
A Cloudflare Workers project scaffolding template maintained by kriasoft, using Vite and TypeScript, with three built-in workspaces: api, app, and edge, and preconfigured local testing, multiple environments, and a GitHub Actions deployment workflow.
Vite · Starter
