The public web surfaces for Thunderbolt, unified as a single Astro project:
- Landing —
/(src/pages/index.astro), the marketing home - Announcement —
/announcing-thunderbolt,/contact(React islands wrapped in Astro pages) - Blog —
/blog/*(src/content/blog/) - Docs —
/docs/*(Starlight, content undersrc/content/docs/docs/)
- Astro 6 (with
@astrojs/reactfor marketing islands,@astrojs/starlightfor docs) - Tailwind 4 via
@tailwindcss/vite starlight-ion-themefor the docs visual style- Fontsource for self-hosted fonts (Mona Sans, Inter, Space Mono)
Run from this directory:
bun install
bun run dev # http://localhost:4321
bun run build # static output in ./dist
bun run preview # serve the build locallyrender.yaml in this directory defines the Render static-site deploy. The project serves all three surfaces (landing, blog, docs) at thunderbolt.io with subpaths.
- New blog post: add a markdown file under
src/content/blog/. Frontmatter requirestitle,description,date,author;tags,image,draftare optional. - New doc: add a file under
src/content/docs/docs/<section>/<name>.mdand register its slug inastro.config.mjsunderstarlight({ sidebar }).