ViteStarter

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.

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-03View source

What stands out

A quick read of the recorded project description.

01

Vite-based static website starter template providing a dev server and production build commands

02

Uses Handlebars and the src/_partials directory to split and reuse HTML partial templates

03

site.config.ts centrally manages site information and metadata such as titles, descriptions, and OGP for each page

04

Built-in Sass functions and mixins, with styles organized by default according to Enduring CSS

05

Integrates TypeScript, Jest, ESLint, HTML-validate, Prettier, PostCSS, Stylelint, and other configurations

06

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.

ViteStarter

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. 1

    Requires Node v18 (README specifies 18.13.0) and uses Yarn as the package manager

  2. 2

    After cloning the repository, run yarn install to install dependencies

  3. 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. 4

    When adding a new page, edit site.config.ts to add page metadata; place partial templates in the src/_partials directory

  5. 5

    PWA-related asset files need to be replaced with your own project files; the README explicitly states Internet Explorer is not supported

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 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

- [Node v18 (18.13.0)](https://nodejs.org/en/)

Original README
https://github.com/Kazuki-tam/vitam/blob/main/LICENSEhttps://github.com/Kazuki-tam/vitam/blob/main/README.md

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

[![Release (latest by date)](https://img.shields.io/github/v/release/Kazuki-tam/vitam)](https://github.com/Kazuki-tam/vitam/releases/tag/v0.0.1)
[![Issues](https://img.shields.io/github/issues/Kazuki-tam/vitam)](https://github.com/Kazuki-tam/vitam/issues)
![Maintenance](https://img.shields.io/maintenance/yes/2023)
![Release date](https://img.shields.io/github/release-date/Kazuki-tam/vitam)

## 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
Report a correction

Explore similar templates

Compare previews and descriptions within the same stack and category.

react-starter-kit

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

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

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

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

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

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