Beacon

Project Structure

A tour of the folders and files that make up a Beacon site.

Beacon keeps a flat, predictable layout. Here’s everything that matters.

Directory layout

beacon/
├── astro.config.mjs        # Astro + integrations (mdx, sitemap)
├── content.config.ts       # docs + changelog collection schemas
├── src/
│   ├── config/
│   │   ├── site.ts         # product identity, nav, sidebar groups
│   │   └── sidebar.ts      # builds the sidebar from the docs collection
│   ├── content/
│   │   ├── docs/           # your .mdx docs live here
│   │   └── changelog/      # your release entries live here
│   ├── components/         # Header, Footer, Search, badges, brand mark
│   ├── layouts/
│   │   ├── Base.astro      # <html> shell, head, header + footer
│   │   └── DocsLayout.astro# three-column docs shell
│   ├── pages/              # routes (index, docs, changelog, rss)
│   └── styles/global.css   # design tokens + .prose typography

The two things you’ll touch most

src/content/

This is where your actual content lives — docs/*.mdx and changelog/*.md. Adding a file here adds a page; no routing or imports required.

src/config/site.ts

The single source of truth for product identity: name, tagline, top-nav links, and the order of sidebar groups. Edit it once and the header, footer, meta tags, and RSS author all update.

What you rarely touch

The components/, layouts/, and pages/ folders implement the chrome. They’re yours to customize, but a typical user never needs to open them — the content and config files cover day-to-day work.

Ready to write? Head to Writing Docs.