Skip to content

Getting started

Edit on GitHub

Install the kit next to Astro and Starlight:

Terminal window
npm install @shaharia-lab/site-kit

Then hand Starlight the kit’s plugins, with a theme:

astro.config.mjs
import { defineConfig } from 'astro/config';
import starlight from '@astrojs/starlight';
import siteKit from '@shaharia-lab/site-kit';
import agentoCode from '@shaharia-lab/site-kit/themes/agento-code';
export default defineConfig({
site: 'https://example.com', // required for llms.txt
integrations: [
starlight({
title: 'My project',
plugins: siteKit({
theme: agentoCode({ accent: 'ink' }),
repo: { url: 'https://github.com/org/project' },
editLink: { baseUrl: 'https://github.com/org/project/edit/main/' },
}),
}),
],
});

siteKit() returns a list of plugins, not one, because Starlight has no way for one plugin to register another. Pass it as the whole plugins array, or spread it next to your own: plugins: [...siteKit({ ... }), myPlugin()].

Option What it does
theme Required. The look of the site. See Theming.
repo Adds a Star button to the docs header. stars shows a count from 100 up.
editLink Where Edit on GitHub points. See Edit on GitHub.
pageActions The Copy page and Open buttons. false turns them off.
llmsTxt Options for starlight-llms-txt. false turns it off.
components Your own Starlight component overrides. They win over the kit’s and the theme’s.