Public, static, fast “interactive museum” for astronomy demos: a searchable library, exhibit pages (predict→play→explain), curated playlists, printable station cards, and optional instructor notes.
apps/site— Astro museum siteapps/demos— Vite multi-page demos (oneindex.htmlper slug)packages/*— shared runtime/UI/theme/physics (initial placeholders)scripts/— build + validation scripts
Prereqs: Node.js + Corepack (Corepack ships with modern Node).
- Install:
corepack pnpm install - Dev (museum pages):
corepack pnpm dev - Full build (demos → copy → site):
corepack pnpm build
Note: the demo iframe on exhibit pages expects built artifacts under apps/site/public/play/<slug>/. Running corepack pnpm build populates these.
- Source demos live in
apps/demos/src/demos/<slug>/. - Build output is
apps/demos/dist/<slug>/.... scripts/build.mjscopies these intoapps/site/public/play/<slug>/....scripts/validate-play-dirs.mjsfails the build if any demo in the content collection is missing a corresponding/play/<slug>/index.html.
Workflow: .github/workflows/deploy.yml
Astro GitHub Pages settings:
- The museum site is configured as a project site with
base: "/cosmic-playground/"inapps/site/astro.config.mjs. - Local dev will serve the site under the same base path: open
http://localhost:4321/cosmic-playground/.