HTML as the single source of truth, with structure, content, and behavior separated
astro-baseline — Astro Starter Template
By alexandredesane
Astro Baseline is an HTML-first Astro starter that ships without UI frameworks or runtime JavaScript by default, providing a foundation for layouts, SEO, accessibility, and layered CSS.
Explore the design
Compare the page layouts and mobile experience. Open any screenshot for a closer look.
Actual screenshot captured by the server browser.
All pages & views 3
Screenshots show visual appearance; interactive behavior may differ.
What stands out
A quick read of the recorded project description.
No UI component library by default, and no runtime JavaScript output by default
Centralized SEO component supporting canonical links, Open Graph, Twitter cards, and optional JSON-LD
Layered CSS architecture with no framework and no Tailwind by default, easy to replace or extend
Built-in accessibility foundations including a skip link, semantic HTML, and a focusable main content area
Site metadata centralized in site.ts, avoiding duplication across header, footer, and pages
Template Details
Astro Baseline is an Astro starter template for developers, positioned as a clean foundation rather than a framework demo. It follows the principle that HTML is the single source of truth: structure lives in .astro files, content lives in data files such as site.ts, Markdown, and YAML, behavior is introduced explicitly as needed, and CSS is organized in predictable layers. The template includes no UI component library by default and does not output runtime JavaScript by default.
Structurally, it provides a Base.astro layout system, header and footer components, a skip navigation link, a 404 page, and a predictable file organization. For SEO, it includes a centrally managed SEO.astro component covering canonical links, Open Graph and Twitter cards, optional JSON-LD, robots meta, and theme color. For accessibility, it provides a skip link, semantic HTML, a focusable main content area, and no reliance on interactions that only work with JavaScript.
CSS uses no framework and by default no Tailwind; instead, it is organized into layered files such as tokens, reset, fonts, behaviors, and structure, making it easy to remove, replace, or extend. Fonts are served from /public/fonts via explicit @font-face declarations, with no external font service by default. Site metadata is centralized in src/content/site.ts and used consistently by the header, footer, SEO, pages, and JSON-LD. Layouts declare intent explicitly through props such as title, description, canonicalPath, and mainCentered, and JSON-LD is rendered only when passed in.
Before use, the SITE_URL environment variable must be configured by copying .env.example to .env and filling in the domain, for canonical links, JSON-LD, and SEO consistency. The template explicitly states that it is not suitable for page builders, no-code tools, or scenarios seeking an out-of-the-box UI suite and heavy interactivity.
Is it right for your project?
Use Cases
- Projects that need a clean Astro foundation and want to decide on UI and interactivity themselves
- Sites that value SEO and accessibility foundations and want to start from semantic HTML
- Websites that want to manage site metadata and navigation centrally in data files
- Projects planning to introduce Web Components, Alpine.js, content collections, or progressive enhancement as needed
Suitable For
- Developers who prefer HTML over abstraction layers and are willing to organize styles themselves
- Astro projects that need a predictable file structure and clear separation of concerns
- Teams that want a ready starting point for SEO, accessibility, and font configuration without being tied to a framework
Getting started & customization
Use these recorded setup notes alongside the repository instructions for your chosen version.
- 1
Copy .env.example to .env and set SITE_URL to the actual domain
- 2
SITE_URL is used for canonical links, JSON-LD, and SEO consistency, and must be confirmed before deployment
- 3
Font files go in /public/fonts and are declared via explicit @font-face
- 4
JSON-LD is opt-in and renders only when jsonLd is passed to the layout
- 5
Third-party assets such as demo images, fonts, and icons must be checked individually against their respective licenses
License & source material
Usage conditions & limitations
Free to use · keep license noticeThis listing covers the free version under the MIT license in the public repository; the free scope is the code of that version and does not mean external services or third-party assets are free.
Must comply with when using
- The code of this version may be used, modified, used commercially, and distributed free of charge.
- When distributing copies or substantial portions of the code, retain the original author's copyright notice and the full MIT license notice.
- The code is provided as is; warranties and limitations of liability are governed by the original license and applicable law.
Additional costs & items to verify
- The SITE_URL environment variable must be configured before use (copy .env.example to .env) for canonical links, JSON-LD, and SEO consistency; without it, the related SEO output cannot be generated correctly.
- The template includes no UI component library by default and does not output runtime JavaScript by default; if an out-of-the-box UI suite or heavy interactivity is needed, third-party solutions must be introduced separately, as this template does not provide them.
- It is not suitable for page builders, no-code tools, or demo scenarios expecting a five-minute install and go-live; using it requires Astro and hand-written HTML/CSS skills.
- Demo images, fonts, icons, and other third-party assets must be checked against their respective licenses and cannot be judged solely by the code's MIT license.
- External services such as domains, hosting, databases, payments, or AI may incur separate charges.
View Original Text Basis
Permission is hereby granted, free of charge
Original License Text
Astro Baseline expects the following environment variable: `SITE_URL=https://example.com`
Original README
If you want a UI kit or heavy interactivity out of the box, this is not for you.
Original README
https://github.com/alexandredesane/astro-baseline/blob/main/LICENSEhttps://github.com/alexandredesane/astro-baseline/blob/main/README.md- Page builders - No-code tools - “Install and ship in 5 minutes” demos
Original README
Compiled by DeepSeek based on repository license and README ·2026-10-04. Results only cover the materials read; dependencies, images, fonts, and subsequent term changes are subject to their respective original texts.
Project checks & description sources
Template Information
- Source platforms
- Astro Themes
- Documentation and maintenance reference score
- More documented · 92 / 100
- Technologies
- Astro · HTML
- Website type
- Starter
How this score is calculated
Our heuristic uses license records (up to 30), a demo link (12), a preview (10), stars (15), recorded maintenance (15), description completeness (8), feature records (5) and classification data (5). It is not a code, security or performance test, or a Google score. A link does not establish tested functionality.
What to verify for this project
- Repository update recorded
- 2026-01-26
- Screenshot last checked
- 2026-10-04
A demo link is listed. Check it with your own content and viewport sizes; its presence does not confirm that forms, authentication or payments work.
The catalog identifies Astro as the primary stack. Check the actual dependency manifest and lockfile for versions and hosting requirements. These notes use recorded metadata, not a code audit or a deployment test.
Use a selection guide →How this description was prepared
AI-assisted description based on catalog records and repository material. Repository authors are not automatically the reviewers of this description.
Review declaration: [email protected] · 2026-10-04
Inspect the recorded source material
SHA-256: 0135f6405ae3f409d6e05c04dd8f56181a34856b8ed362cf31ca93e87a8131cc
2026-10-04T00:45:26.812Z
Source file / repository# Astro Baseline
A boring, production-ready Astro starter.
Astro Baseline is an HTML-first starter designed for developers who want a clean foundation, not a framework demo.
No UI kit.<br>
No runtime JavaScript by default.<br>
No magic.
Just solid structure, senior defaults, and a clear separation of concerns.
## Philosophy
Astro Baseline follows a simple rule:
**HTML is the source of truth.**
- Structure lives in `.astro` files
- Content lives in data (`site.ts`, Markdown, YAML, etc.)
- Behavior is opt-in and explicit
- CSS is boring, predictable, and layered
This starter is meant to disappear once you start building.
## What you get
### Structure
- Clean layout system (`Base.astro`)
- Header / Footer components
- Skip link for accessibility
- 404 page included
- Predictable file organization
### SEO (done properly)
- Centralized SEO.astro component
- Canonical URLs
- Open Graph & Twitter cards
- JSON-LD support (opt-in, per page)
- Robots meta handling
- Theme color
### Accessibility basics
- Skip link (SkipLink.astro)
- Semantic HTML
- Focusable main content
- No JS-only interactions
### CSS architecture
No framework. No Tailwind by default.
Layered CSS structure:
```
src/styles/
├─ global.css
├─ partials/
│ ├─ tokens.css // design tokens (colors, spacing, fonts)
│ ├─ reset.css // minimal reset
│ ├─ fonts.css // @font-face declarations
│ ├─ behaviors.css // behavior-related CSS (x-dialog, etc.)
│ └─ structure.css // layout & base styles
```
- BEM-friendly
- Easy to delete or replace
- Easy to extend
### Fonts
- Fonts served from `/public/fonts`
- Explicit @font-face
- No external font dependency by default
### Configuration as data
All site metadata lives in one place:
```
// src/content/site.ts
export const site = {
name,
tagline,
description,
url,
locale,
author,
nav,
seo
};
```
Used consistently across:
- Header
- Footer
- SEO
- Pages
- JSON-LD
No duplication.
## Layout API
The layout is explicit and declarative.
Example:
```
<Base
title="Contact"
description="Get in touch"
canonicalPath="/contact"
mainCentered
>
...
</Base>
```
Supported layout flags:
- `mainCentered` (example)
- Easy to extend (`mainWide`, `mainNarrow`, etc.)
The layout never guesses.
Pages declare intent.
## JSON-LD (opt-in)
JSON-LD is rendered only if provided.
Example:
```
const jsonLd = {
"@context": "https://schema.org",
"@type": "WebSite",
name: site.name,
url: site.url
};
```
Passed directly to the layout:
`<Base jsonLd={jsonLd}>`
No JSON-LD pollution by default.
## Environment
Astro Baseline expects the following environment variable:
`SITE_URL=https://example.com`
Create a `.env` file:
`cp .env.example .env`
Update `SITE_URL` with your domain.
Used for:
- Canonical URLs
- JSON-LD
- SEO consistency
Documented, explicit, predictable.
## Who this is for
This starter is for developers who:
- Prefer HTML over abstractions
- Care about SEO and accessibility
- Want a clean base, not opinions forced on them
- Are tired of over-engineered starters
If you want a UI kit or heavy interactivity out of the box, this is not for you.
## Who this is not for
- Page builders
- No-code tools
- “Install and ship in 5 minutes” demos
- Framework-centric mental models
## Extending Astro Baseline
Astro Baseline is designed to pair naturally with:
- **Astro Content Collections**
- **Build-time tools** (e.g. Frontmatter Core)
- **HTML-first behavior layers** (e.g. Web Components, Alpine.js)
- **Progressive enhancement**
You add complexity only when you need it.
## License
MIT
Do whatever you want.
Build good websites.
## Final note
Astro Baseline is intentionally boring.
That’s the point.
If you never think about this starter again once your project starts, it did its job.
Explore similar templates
Compare previews and descriptions within the same stack and category.

astrowind
AstroWind is a free, open-source Astro starter theme using Astro and Tailwind CSS, released under the MIT license.
Astro · Blog
accessible-astro-starter
An accessibility-focused Astro 6 starter template with WCAG 2.2 AA practices, Tailwind CSS 4, TypeScript, Prettier, ESLint, form validation, blog and portfolio examples, and preference toggles for dark mode, high contrast, and reduced motion.
Astro · Blog

astro-erudite
astro-erudite is an opinionated, unstyled static blog template built with Astro and native CSS, with no UI or CSS framework and minimal dependencies.
Astro · Portfolio

astro-shopify
A lightweight Shopify headless ecommerce starter template built with Astro and Svelte, integrating the Shopify Storefront API for product and inventory data, with built-in cart state management and basic add-to-cart and checkout flow.
Astro · E-commerce

brutal
Brutal is a neobrutalism Astro starter theme from ElianCodes, derived from the author's personal site and generalized. It includes a Markdown blog collection, build-time RSS and sitemap, image optimization, Tailwind CSS styling, and Biome checks, with no JavaScript by default.
Astro · Starter

qwind
Qwind is a free and open-source website template built on Qwik and Tailwind CSS, featuring directory-based routing via QwikCity, a Markdown blog, dark mode, and static deployment configuration.
Astro · Tool Site
