High‑performance documentation site for our design system, built with Astro and Keystatic.
npm install
npm run dev- Create a Keystatic Cloud project.
- Set the environment variable in
.env:
PUBLIC_KEYSTATIC_CLOUD_PROJECT=bravado/astro-docs-siteOptional branch prefix:
PUBLIC_KEYSTATIC_BRANCH_PREFIX=keystatic- Start the dev server and open the admin UI at:
http://localhost:4321/keystatic
Note: Keystatic’s local admin routes are only enabled in development. GitHub Pages builds are fully static, so use Keystatic Cloud’s hosted editor for production content updates.
This site can also be hosted on Static.app by uploading only the built dist/ output.
- Build the site locally:
npm run build- Upload the contents of
./distto Static.app. - Replace the previously uploaded files when publishing an update.
Important notes:
- Do not upload the whole project folder. Only upload
dist/. - The generated site is small; the large local project size mostly comes from
node_modules. astro.config.mjsnow readsSITE_URLandBASE_PATHfrom environment variables, so a normal build works for root-hosted Static.app sites.
This repo can also be built for GitHub Pages project hosting:
site:https://deksu.github.iobase:/astro-docs-site
Build with:
SITE_URL=https://deksu.github.io BASE_PATH=/astro-docs-site npm run buildKeystatic Cloud requires PUBLIC_KEYSTATIC_CLOUD_PROJECT at build time so the admin UI can load. The GitHub Pages workflow sets it automatically for production builds.
| Command | Action |
|---|---|
npm install |
Install dependencies |
npm run dev |
Start dev server at localhost:4321 |
npm run build |
Build production site to ./dist/ |
npm run preview |
Preview the build locally |