Released12 changes
Version 0.2.0
The site scaffolds. /root becomes a real Astro-rendered surface — no longer just markdown files in a repo. Landing page, brand identity commitment, and the framework decision everything downstream depends on.
Site scaffold
- •Astro + Tailwind 4 stack — pure Astro (no Starlight), Tailwind 4 via @tailwindcss/vite plugin, CSS-native @theme config in src/styles/base.css. Dark theme with gradient accents (purple → pink → orange).
- •BaseLayout — top-level shell with Header + Footer + main slot; dark/light theme toggle via data-theme attribute.
- •Header — nav with /root wordmark and primary nav items.
- •Footer — brand + nav + external links.
- •Landing page — (src/pages/index.astro) — Enchanté-pattern hero: gradient blob background, "The bet" section (patterns vs tools).
- •Content collections config — (src/content.config.ts) — schema for the docs collection (title, description, tags, status, category).
Brand + decisions
- •ADR-0002 — (adrs/0002-curriculum-site-v0-framework-and-stack.md) — framework + deployment + domain + Slack + releases-as-pages decisions.
- •Brand identity update — (src/content/docs/brand/identity.md) — visual identity v0 commitment: JetBrains Mono wordmark, dark theme, gradient accent family, deploy target, Slack workspace decision.
Notes
- •Site scope for v0.2.0 = landing page only. — The docs system (sidebar, search, breadcrumbs, dynamic routing) was originally planned for v0.2.0 but deferred to v0.3.0 to ship the hero cleanly first.
- •Framework choice recorded in ADR-0002. — Pure Astro chosen over Starlight to control the design vocabulary directly (Enchanté-style dark theme) rather than fit into Starlight's default surface.
- •Tailwind 4 migration mid-cycle. — Initially scaffolded with JS-based tailwind.config.mjs + @astrojs/tailwind; migrated to CSS-native @theme config via @tailwindcss/vite. tailwind.config.mjs removed.
- •Additional v0.2.0-planned items — Slack workspace, Cloudflare Pages deployment, and the repo-flip-to-public are external actions tracked separately; their status isn't captured here.