The site is static by default — it builds to plain HTML/CSS/JS in dist/ and can be hosted anywhere.
When you add auth or other server-rendered features, you'll need an SSR adapter. See docs/extending.md for that.
- Push your branch to GitHub.
- Go to vercel.com/new and import the repo.
- Vercel auto-detects Astro — no configuration needed.
- Click Deploy.
- Add your domain under Settings → Domains.
Pull request preview deploys are enabled by default. Every PR gets a unique URL you can share for review.
- Push to GitHub.
- In the Cloudflare dashboard: Pages → Create a project → Connect to Git.
- Build settings:
- Build command:
npm run build - Build output directory:
dist
- Build command:
- Click Save and Deploy.
- Add your domain under Custom domains.
Cloudflare's free tier is generous and edge-cached worldwide. Good choice if you want zero per-request cost.
- Push to GitHub.
- In the Netlify dashboard: Add new site → Import from Git.
- Build settings:
- Build command:
npm run build - Publish directory:
dist
- Build command:
- Click Deploy.
npm run buildUpload the contents of dist/ to any static host — S3 + CloudFront, GitHub Pages, your own server, anywhere that serves files.
Before pointing your domain at the deploy, work through:
- Edit
src/lib/site.ts— seturl,twitter,github,pitchEmailto real values - Add a real
og-default.png(1200×630) topublic/ - Verify the site in Google Search Console and Bing Webmaster Tools
- Submit
https://mlsystems.dev/sitemap-index.xmlto Search Console - See docs/seo.md for the full SEO checklist
- Test the site on mobile and desktop
- Check the build is clean:
npm run buildshould complete with zero errors