Static Site Stack Boundaries
Reference boundaries for Astro static sites — env vars, content collections, deploy, and handoff conventions.
- astro
- tailwind
- deploy
Suggested Cursor path: .cursor/rules/davidcole-stack-boundaries.mdc
Static Site Stack Boundaries (davidcole.cloud reference)
Use this when bootstrapping a Gnomad-style Astro site. Adapt stack lines for other projects; keep the env and verify patterns.
Stack defaults
- Astro 6 static export (
output: 'static') - React islands only where interactivity is required
- TypeScript, Tailwind CSS v4, MDX content collections
- Node.js ≥ 22.12.0
Environment & secrets
- Never commit
.env - Client-visible config:
PUBLIC_*prefix only - Document new public env vars in
.env.exampleand README - CI must inject production
PUBLIC_*vars at build time
Content collections
- Validate frontmatter with Zod in
content.config.ts - Use
draft: truefor WIP; filter with!data.draftin queries
Deploy (GitHub Pages pattern)
- Workflow on
mainbuildsdist/and deploys to Pages - Custom domain via
public/CNAME - Do not force-push
main
Handoff
See Handoff Checklist before calling a client site “done.”