Deploy your Vite app
Vite is the build tool, not the framework — vanilla JS, React, Vue, Svelte, Preact, whatever you picked when you ran npm create vite. Every official template builds the same way and lands in the same folder.
- 01
Build the project
Run "npm run build". This runs "vite build" under the hood, bundling and minifying into static files.
- 02
Check the output folder
Vite writes to "dist" by default across every official template. If your vite.config sets build.outDir to something else, use that folder instead.
- 03
Deploy it
Run "npx harvis deploy dist" from your project root. No config and no login for this first deploy — you get a live URL immediately, plus a private claim link to attach the site to a free account whenever you're ready.
Deploy Vite with one command
Build your project, then hand the output folder to harvis. No account needed for the first deploy — you'll get a live link and a private claim link to manage it later.
npm run build npx harvis deploy dist
Prefer dragging files instead of a terminal? Build the project, then drop the output folder here and publish it the same way.
Vite deploy questions
Does it matter which Vite template I used?
Not to the deploy step. Vanilla, React, Vue, Svelte, Lit, Preact — they all end up as static files in dist. What changes between templates is what happens in your app; the hosting side is identical.
I have a multi-page Vite app (multiple entry HTML files). Does that work?
Yes. Vite's build.rollupOptions.input support for multiple entrypoints just produces more HTML files in dist, each one a normal page here — visit /about.html or whatever your entry files are named.
Is deploying a Vite app to harvis actually free?
Yes, no card required. Free limits are 500 files and 50 MB per site, which covers a static Vite build with plenty of room. Published sites don't expire — they stay live until you delete them.
Can I use my own domain with the deployed Vite site?
Every site gets a free harvis.dev address, and you can pick your own subdomain from the dashboard after claiming it — my-app.harvis.dev instead of a random one. Pointing a domain you already own (like mystore.com) at the site isn't supported yet.
How is this different from deploying Vite to Vercel or Netlify?
Vercel and Netlify are built around connecting a Git repo and running your build on their servers, with a dashboard to configure it. harvis skips all of that: you build locally (or in your own CI), run one CLI command against the output folder, and get a link — no project setup, and no account needed until you want to keep the site.
Deploying something else?
The recipe is the same everywhere — build it, then npx harvis deploy the output.