Static sites,
beautifully simple.
Features
Everything you need, nothing you don't.
Lightning Fast
Powered by Vite's HMR and optimized build pipeline. Edit, save, see instantly.
Vento Templates
Simple, expressive templating with Vento. Partials, layouts, and data injection.
Built-in Search
Integrated Pagefind for fast, static search. Zero server required.
Dynamic Routes
Generate pages from any data source. CMS, APIs, markdown, or local files.
Vite Ecosystem
Full access to Vite plugins. Tailwind, UnoCSS, PostCSS, and more.
Minimal Config
Works out of the box. Sensible defaults that just work. Customize when you need to.
Quick Start
Up and running in seconds.
# Create a new project
npm create vitto@latest my-site
# Start dev server
cd my-site
npm run dev import { defineConfig } from 'vite'
import vitto from 'vitto'
export default defineConfig({
plugins: [
vitto({
metadata: {
siteName: 'My Site',
},
}),
],
}) Templates
Start with the right foundation.
Choose from pre-built templates or start from scratch.
Basic
--preset basic A minimal Vitto project with a clean slate. Start from scratch and build what you need without extra config or boilerplate.
Tailwind CSS
--preset tailwindcss Vitto with Tailwind CSS v4 pre-configured. Utility-first styling with dark mode and custom themes at your fingertips.
Alpine.js
--preset alpinejs Vitto paired with Alpine.js for lightweight reactive components in your markup. Add interactivity without a heavy framework.
htmx
--preset htmx Vitto with htmx for hypermedia-driven interactions. Access AJAX and CSS transitions from HTML without writing JavaScript.
Blog
--preset blog Blog starter fetching posts from an external API with Tailwind CSS v4 and pagination. Dynamic routes and markdown frontmatter.
Full
--preset full Complete starter with docs, blog, markdown frontmatter, Shiki highlighting, Pagefind search, and Tailwind CSS v4. Ready to go.
Start building today.
Join the growing community of developers shipping fast, beautiful static sites with Vitto.