Manual Setup
The quickest way to create a new Starlight site is using create astro
as shown in the Getting Started guide.
If you want to add Starlight to an existing Astro project, this guide will explain how.
Set up Starlight
To follow this guide, you’ll need an existing Astro project.
Add the Starlight integration
Starlight is an Astro integration. Add it to your site by running the astro add
command in your project’s root directory:
npx astro add starlight
pnpm astro add starlight
yarn astro add starlight
This will install the required dependencies and add Starlight to the integrations
array in your Astro config file.
Configure the integration
The Starlight integration is configured in your astro.config.mjs
file.
Add a title
to get started:
// astro.config.mjs
import { defineConfig } from 'astro/config';
import starlight from '@astrojs/starlight';
export default defineConfig({
integrations: [
starlight({
title: 'My delightful docs site',
}),
],
});
Find all available options in the Starlight configuration reference.
Configure content collections
Starlight is built on top of Astro’s content collections, which are configured in the src/content/config.ts
file.
Create or update the content config file, adding a docs
collection that uses Starlight’s docsSchema
:
// src/content/config.ts
import { defineCollection } from 'astro:content';
import { docsSchema } from '@astrojs/starlight/schema';
export const collections = {
docs: defineCollection({ schema: docsSchema() }),
};
Add content
Starlight is now configured and it’s time to add some content!
Create a src/content/docs/
directory and start by adding an index.md
file.
This will be the homepage of your new site:
---
# src/content/docs/index.md
title: My docs
description: Learn more about my project in this docs site built with Starlight.
---
Welcome to my project!
Starlight uses file-based routing, which means every Markdown, MDX, or Markdoc file in src/content/docs/
will turn into a page on your site. Frontmatter metadata (the title
and description
fields in the example above) can change how each page is displayed.
See all the available options in the frontmatter reference.
Tips for existing sites
If you have an existing Astro project, you can use Starlight to quickly add a documentation section to your site.
Use Starlight at a subpath
To add all Starlight pages at a subpath, place all your docs content inside a subdirectory of src/content/docs/
.
For example, if Starlight pages should all start with /guides/
, add your content in the src/content/docs/guides/
directory:
Directorysrc/
Directorycontent/
Directorydocs/
Directoryguides/
- guide.md
- index.md
Directorypages/
- …
- astro.config.mjs
In the future, we plan to support this use case better to avoid the need for the extra nested directory in src/content/docs/
.
Use Starlight with SSR
Currently, Starlight does not support SSR deployment using Astro’s server adapters. We hope to be able to support this soon.