# Supported sites

After this page you know which sites Siteshare can run, and what to change when a site is refused.

## What works

Any website in a GitHub repository that runs on Node or is plain HTML, with the main branch as the live version. Siteshare recognises the kind of site and knows where its content and styling live:

- Astro, Next.js, React Router and Remix, Nuxt, SvelteKit, Gatsby
- Vite (React, Vue, Svelte), Create React App
- Eleventy, Hugo, Docusaurus, VitePress
- Plain HTML, with or without a build step

A site in a subfolder, such as `apps/web` in a monorepo or `website/`, works too. Siteshare finds the folder, or you name it with `folder` in [admin.json](/docs/admin-json).

Any host that publishes from `main` works: Cloudflare, Netlify, Vercel, GitHub Pages, or your own. On Vercel, turn off previews of the draft branch ([Publishing](/docs/publishing)). On a private repository in a GitHub organization, Netlify and Vercel may hold back a commit whose author isn't on your team there: allow the commits Siteshare makes, or the client's change won't go live.

## What doesn't work (yet)

Siteshare says so when you add the site, in plain words, before anything starts.

- **Sites that aren't Node or HTML:** PHP (WordPress, Laravel), Ruby (Jekyll) and Python (MkDocs, Django).
- **Apps and packages:** an app for a phone or computer, or a software package without a website.
- **Secrets at start or build time.** A site that needs keys to start or build can't run in the preview yet.
- **Private sources.** A private package registry, an address the preview may not reach, or a private submodule. The preview may reach the public npm registry, Google Fonts and GitHub's downloads.
- **Packages that must be compiled,** such as `node-sass`. A ready-made alternative works, such as `sass`.
- **Hugo Modules.** A theme in `themes/`, or modules vendored with `hugo mod vendor`, does work.
- **Another Node version** than 22 or 24.

## How a site is started

Siteshare uses your package manager and lockfile, installs, and starts the development server. It proposes how to start and build the site; you confirm it, or change it in [admin.json](/docs/admin-json). Commands run as words, never through a shell.

The first start of a site takes a minute or two. After that, a preview opens in seconds.
