chore: scaffold website (Astro 6 + Starlight + Tailwind v4)

Phase A of docs/plans/20260604-adr-0042-website.md. Scaffolds the site
under website/ from the Starlight template; adds Tailwind v4 (via
@tailwindcss/vite) bridged to Starlight with @astrojs/starlight-tailwind
(src/styles/global.css + customCss). Production build is green: static
output, Pagefind search index, sharp image optimization.

Template placeholders (title, example pages, sidebar) are left for
Phase B/D. Reconciles the ADR/plan/index wording from "Astro 5" to
"Astro 6" to match the scaffolded toolchain.
This commit is contained in:
claude@clouddev1
2026-06-05 15:00:12 +00:00
parent 1fad29c0f9
commit cea99e8b70
18 changed files with 4608 additions and 4 deletions
@@ -26,7 +26,7 @@ planning + `/runda` pass with the user and are recorded below.
## Decision
1. **Stack — Astro 5 + Starlight + Tailwind v4.** Astro's content-first,
1. **Stack — Astro 6 + Starlight + Tailwind v4.** Astro's content-first,
zero-JS-by-default model with the Starlight docs theme fits a
marketing-landing-plus-heavy-docs site better than the alternative
considered, SvelteKit + Tailwind (the usual go-to here). Interactive
@@ -65,7 +65,7 @@ planning + `/runda` pass with the user and are recorded below.
and the rusqlite **backup-API** undo (ADR-0006) → a SQL dump/restore.
When taken up, this becomes its own ADR + iteration plan.
4. **Hosting — portable static build; Vercel is the likely target.** Astro 5
4. **Hosting — portable static build; Vercel is the likely target.** Astro 6
builds to static HTML/CSS with no adapter, so the output deploys equally
to Vercel, Cloudflare Pages, Netlify, or GitHub Pages. We avoid coupling
to any one host. **No CI yet** — the site is tested locally (`pnpm dev` /