Skip to content

feat: migrate marketing site to Astro with docs and blog#150

Merged
backnotprop merged 3 commits intomainfrom
feat/astro-docs
Feb 13, 2026
Merged

feat: migrate marketing site to Astro with docs and blog#150
backnotprop merged 3 commits intomainfrom
feat/astro-docs

Conversation

@backnotprop
Copy link
Owner

Summary

  • Replaces the Vite React SPA at apps/marketing/ with a vanilla Astro 5 static site, adding documentation (15 pages across 4 sections) and a blog with RSS/sitemap
  • Preserves the existing landing page design, OKLCH design system, and S3/CloudFront deployment pipeline — bun run build:marketing now runs astro build instead of vite build, output still goes to dist/
  • Zero client JS on docs/blog pages except a ~3KB React island for the theme toggle

What's new

Documentation — 15 pages organized into Getting Started (installation, quickstart, configuration, Claude Code guide, OpenCode guide), Commands (plan review, code review, annotate), Guides (remote/devcontainers, sharing, Obsidian, self-hosting), and Reference (env vars, keyboard shortcuts, API endpoints)

Blog — Content collection with RSS feed, introductory post with embedded YouTube demo

Infrastructure — Astro content collections with glob loader and Zod schemas, Shiki build-time syntax highlighting, three-column docs layout with sidebar nav and TOC, @astrojs/sitemap for auto-generated sitemap

Pre-merge checklist

  • Review rendered site locally (cd apps/marketing && bun run dev)
  • Verify CloudFront URL routing handles directory/index.html format (may need a CloudFront Function if S3 is not in website endpoint mode)
  • Review all 15 doc pages for content accuracy
  • Verify landing page renders identically to current production

Test plan

  • bun run build:marketing succeeds (18 static pages in ~1.5s)
  • Dev server loads at localhost:3002
  • Landing page (/) renders with theme toggle working
  • Docs sidebar shows all 4 sections with correct ordering
  • Doc pages have centered content, breadcrumbs, prev/next navigation
  • Blog index (/blog/) lists the welcome post
  • Blog post (/blog/welcome/) renders with embedded YouTube video
  • RSS feed (/rss.xml) returns valid XML
  • Sitemap (/sitemap-index.xml) includes all pages

🤖 Generated with Claude Code

backnotprop and others added 3 commits February 13, 2026 12:57
Replace the single-page Vite React app with a vanilla Astro static site
that adds documentation and blog support while preserving the existing
landing page design and OKLCH design system.

- Astro 5 with content collections (glob loader, Zod schemas)
- 15 docs pages across 4 sections: Getting Started, Commands, Guides, Reference
- Blog with RSS feed and sitemap generation
- Shiki build-time syntax highlighting (replaces highlight.js CDN)
- React island for theme toggle only (~3KB client JS)
- Tailwind CSS v4 via @tailwindcss/vite plugin
- Three-column docs layout with sidebar nav and table of contents
- Same S3/CloudFront deployment pipeline (astro build outputs to dist/)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@backnotprop backnotprop merged commit 0554bfc into main Feb 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant