Install
openclaw skills install astro-starlightUse this skill whenever the user wants to create, configure, customize, or troubleshoot an Astro Starlight documentation site. Triggers include any mention of 'Starlight', 'Astro docs site', 'documentation site with Astro', '@astrojs/starlight', or requests to build a docs website. Also trigger when the user mentions sidebar configuration for docs, MDX components in documentation, Pagefind search setup, doc site theming/styling, deploying a docs site to a subpath, or versioned documentation. Use this skill even if the user just says 'docs site' or 'documentation website' — Starlight is the recommended approach. Covers: project scaffolding, content structure, sidebar navigation, MDX/Markdown authoring, CSS/Tailwind theming, component usage, i18n, deployment, search, and all common pitfalls.
openclaw skills install astro-starlightBuild production-grade documentation sites with Astro Starlight. This skill covers everything from initial scaffolding to advanced customization and deployment.
/docs/), Vercel, Netlify, Cloudflare PagesBefore writing any code, read the relevant reference file(s) from references/:
| Task | Read first |
|---|---|
| New project or project structure | references/project-setup.md |
| Sidebar, navigation, frontmatter | references/sidebar-and-content.md |
| Styling, theming, Tailwind | references/styling-and-theming.md |
| MDX components, custom components | references/components.md |
| Deployment, subpaths, search, i18n | references/deployment-and-advanced.md |
| Something broken? | references/troubleshooting.md |
For most tasks, read project-setup.md first, then the topic-specific file.
npm create astro@latest -- --template starlight
This gives you a working project with:
my-docs/
├── astro.config.mjs # Starlight integration config
├── src/
│ ├── content/
│ │ └── docs/ # All doc pages live here
│ │ └── index.mdx
│ └── content.config.ts # Content collection schema
├── public/ # Static assets (favicon, images)
└── package.json
This is the most important step. Your folder structure = your URL structure = your sidebar structure. Plan it before writing content. See references/sidebar-and-content.md for patterns.
astro.config.mjsThe Starlight integration is configured here. Minimum viable config:
import { defineConfig } from 'astro/config';
import starlight from '@astrojs/starlight';
export default defineConfig({
integrations: [
starlight({
title: 'My Docs',
sidebar: [
{
label: 'Guides',
autogenerate: { directory: 'guides' },
},
],
}),
],
});
src/content/docs/Every .md or .mdx file needs frontmatter with at least title:
---
title: Getting Started
description: How to get started with our product.
sidebar:
order: 1
---
npm run build # Outputs to dist/
npm run preview # Preview the build locally
.mdx only when you need component imports. Plain .md is simpler and avoids hydration issues.sidebar.order to control page ordering within autogenerated groups./docs/, you must set both site and base in astro.config.mjs. See references/deployment-and-advanced.md..mdx files, not .md. If you get import errors, check your file extension.@astrojs/starlight-tailwind compatibility package. Without it, styles will fight each other.base isn't configured correctly.client:load (or another client directive) if they use JavaScript/interactivity. Without it, they render as static HTML only.Read these for detailed guidance. Each is self-contained and covers one topic area thoroughly:
references/project-setup.md — Scaffolding, project structure, astro.config.mjs anatomy, content collectionsreferences/sidebar-and-content.md — Sidebar config patterns, frontmatter reference, content authoring, orderingreferences/styling-and-theming.md — Custom CSS, Tailwind integration, theming, dark mode, Expressive Codereferences/components.md — Built-in components (Tabs, Cards, Asides, etc.), custom components in MDX, hydrationreferences/deployment-and-advanced.md — Deployment targets, subpath hosting, search, i18n, versioning, auth, SSRreferences/troubleshooting.md — Diagnosis and fixes for the most common Starlight issues