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.