bun install: Install dependenciesbun run dev: Start Astro dev server (ASTRO_TELEMETRY_DISABLED=1 astro dev)bun run dev:all: Start dev server + ML API together (ml/ase, port 8000)bun run build: Build the static site intodist/(also runs pagefind)bun run dev:search: Build the pagefind search index, then run the dev serverbun run astro check: Type-check (note: there are pre-existing errors, see CI)
- Framework: Astro 5,
output: "static", deployed to Vercel. - Pages:
src/pages/:index,404,euthymia,orb-test,petals/,rss.xml.js. - Content:
src/content/petals/: MDX posts in thepetalscollection (schema insrc/content/config.ts). - Components:
src/components/.Nelumbo.astrodrives the main post deck;Quasar.astro/Qi.astroare background layers. - Styling: Tailwind 3 + custom CSS in
src/styles/. Theme tokens are HSL CSS variables, dark by default (html.lightinverts). - Fonts: self-hosted via
@fontsource-variable/geistand@fontsource-variable/geist-mono, imported insrc/styles/global.css. - Search: pagefind, indexed at build time (configured in
astro.config.mjs). - On-demand route:
src/pages/api/reactions.tssetsprerender = false(Vercel KV + GitHub GraphQL). RequiresGITHUB_TOKENand Vercel KV.
- TypeScript: strict mode; shared utilities in
src/utils/. - Astro components:
.astroextension, PascalCase filenames. - Imports: use the configured aliases (
@consts,@components,@layouts,@utils,@/); raw/src/...paths are not rewritten and 404 in the production build.
dist/,.astro/,.vercel/,node_modules/and.env*are gitignored: never commit them.- Only
bun.lockis tracked; there is nopackage-lock.json. - The site is deployed at https://sourceaura.vercel.app;
astro.config.mjssitemust stay in sync. PETALS.DESCRIPTIONis used as the/petalsmeta description.- Posts use
post.data.description: the content schema has noexcerptfield. src/pages/api/reactions.tsneedsGITHUB_TOKEN; without it the endpoint throws at runtime.