A free, design-token-driven Astro 6 starter for dark-mode dashboards, blogs, and product showcases. Ships with Basecoat UI, Svelte 5, and Cloudflare Pages deploy.
Deploy your own copy in under 2 minutes:
Or use the CLI:
# Clone
git clone https://github.com/baflow/baselayer.git my-site
cd my-site
# Install & dev
npm install
npm run dev
| Layer | Tech |
|---|---|
| Framework | Astro 6 (static output) |
| Styling | Tailwind CSS v4 |
| UI Kit | Basecoat CSS |
| Components | Svelte 5 |
| Icons | Solar (linear) |
| Fonts | Inter + Newsreader (loaded via Astro Fonts) |
| Deployment | Cloudflare Pages (via Wrangler) |
DESIGN.mdbtn, card, badge, tabs, etc.) -- no React neededwrangler.toml included├── public/ # Static assets
├── src/
│ ├── assets/ # Images processed by Astro
│ ├── components/ # Astro + Svelte UI components
│ │ └── ui/ # Reusable Svelte components
│ ├── content/ # Markdown/MDX collections
│ ├── layouts/ # Page layouts
│ ├── pages/ # File-based routes
│ └── styles/ # Tailwind theme + Basecoat imports
├── DESIGN.md # Design system spec
├── astro.config.mjs
├── wrangler.toml
└── README.md
| Command | Action |
|---|---|
npm run dev |
Start dev server at localhost:4321 |
npm run build |
Build production site to ./dist/ |
npm run preview |
Preview production build locally |
npm run deploy |
Deploy to Cloudflare Pages |
astro.config.mjs:site: 'https://your-domain.com',
src/consts.ts (title, description, contact links).src/components/Footer.astro.src/content/blog/ and src/content/projects/.public/screenshot.jpg and uncomment it in this README.wrangler.toml and .env.Feature requests and PRs are welcome. See CONTRIBUTING.md for guidelines.
MIT -- free for personal and commercial use.