From b081b37f91b84b987dbea96c00e4346aeacc962a Mon Sep 17 00:00:00 2001 From: anilkaracay <70052819+anilkaracay@users.noreply.github.com> Date: Fri, 31 Jul 2026 13:10:01 +0300 Subject: [PATCH] docs: add a Deployment section to the README Signed-off-by: anilkaracay Co-authored-by: Cayvox Labs Co-authored-by: anilkaracay --- README.md | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/README.md b/README.md index 5a1b1d2..9b53726 100644 --- a/README.md +++ b/README.md @@ -140,3 +140,47 @@ registry-defined. The official Splice token-standard CLI is the canonical reference for these registry flows. + +## Deployment + +This template is a static single-page app built with Vite, so a production deploy is +just static files behind a web server. The app itself needs no server runtime. + +Build the production bundle: + +```bash +npm run build +``` + +This runs the TypeScript compiler and `vite build`, emitting the static site (HTML, +JS, CSS, and assets) to `dist/`. Serve the contents of `dist/` from any static host: +Caddy, Nginx, Netlify, Vercel (static), GitHub Pages, or an S3 bucket behind a CDN +all work without changes. + +### SPA fallback + +The app is a single-page application served from one `index.html`, so configure the +host to serve `index.html` for unknown paths. Without this fallback, reloading a +client-side route or opening a deep link returns a 404. + +- Caddy: `try_files {path} /index.html` +- Nginx: `try_files $uri /index.html;` +- Netlify or Vercel: a catch-all rewrite of every path to `/index.html` + +### Live data + +By default the build runs against the in-browser demo backend, so a plain `dist/` +deploy is fully interactive with the demo parties and needs no backend service. To +serve live data, wire the app against a validator and registry by replacing the demo +backend's fetchers as described in [Real mode](#real-mode); the hosting recipe above +does not change. + +### SEO and icon assets + +This template ships no `public/` directory, so it serves no `robots.txt`, +`sitemap.xml`, favicon, or Open Graph image, and the browser falls back to a default +icon. A production deploy should add a `public/` folder containing a `robots.txt` +that allows indexing, a `sitemap.xml`, and a favicon set (for example `favicon.svg` +or `favicon.ico`, `apple-touch-icon.png`, and an Open Graph image). Vite copies +everything under `public/` to the root of `dist/`, so any static host serves these +files at the site root, mirroring the live demo apps.