Deploy your Static HTML app
If you've got a folder of .html files and the assets they reference, there's no build step to run — that folder already is the deployable thing. This is the whole reason harvis exists.
- 01
There's no build step
A plain HTML site is already in its final form. Whatever a framework's build command produces for you, you already have by hand — nothing to compile or bundle.
- 02
Make sure there's an entrypoint
Have an "index.html" at the top of the folder — that's what loads when someone visits the site's address with no path after it.
- 03
Deploy it
Run "npx harvis deploy ." 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 Static HTML 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.
npx harvis deploy .
Prefer dragging files instead of a terminal? Build the project, then drop the output folder here and publish it the same way.
Deploy Static HTML on every git push
The command above is one you will run again after every change. A git hook runs it for you, so every push publishes the folder before it leaves your machine.
The folder holding the finished site. "." is the repo root, which is right for hand-written HTML; a static-site generator writes somewhere else.
Runs the build first, with "set -e" above it — so a failed build stops the push instead of republishing whatever the folder held last time.
pre-push fires on every branch and every remote, so a feature branch would publish over your live site. With this on, a push from anywhere else exits early and goes through untouched.
printf '#!/bin/sh\nharvis deploy .\n' > .git/hooks/pre-push chmod +x .git/hooks/pre-push
The options, the gotchas and how to share a hook with your team are on the git hook page.
Static HTML deploy questions
Can I deploy just one file, or does it need to be a folder?
Either. A single "index.html" with no other files works fine — drag it in or point the CLI at its folder. Add a "styles.css" or an "images" folder alongside it and those publish too, as long as your HTML references them with relative paths.
Do relative links between my pages work correctly?
Yes — the folder structure you upload is served exactly as-is, so a link from index.html to about.html (or to images/logo.png) resolves the same way it would opening the files locally, as long as the paths are relative rather than pointing at your local filesystem.
Is deploying a Static HTML app to harvis actually free?
Yes, no card required. Free limits are 500 files and 50 MB per site, which covers a static Static HTML 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 Static HTML site?
Every site gets a free harvis.page address, and you can pick your own subdomain from the dashboard after claiming it — my-app.harvis.page 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 Static HTML 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.