--- title: Integrations and plugins | Stainless --- The Stainless Docs Platform is built on top of Astro, so you can take advantage of a broad ecosystem of existing [Astro integrations](https://docs.astro.build/en/guides/integrations-guide/) to extend and enhance the functionality of your site. We also provide experimental support for using [Starlight plugins](https://starlight.astro.build/resources/plugins/#official-plugins). ## Astro integrations The Stainless Docs Platform supports most Astro integrations. If you’re hosting your site with Stainless, the integrations you add must support a [static output target](https://docs.astro.build/en/reference/configuration-reference/#output). To add an Astro integration, add it to the `integrations` array in `astro.config.ts` file alongside the `stainlessDocs` integration. Astro integrations run in the same order as they appear in `astro.config.ts`. We recommend placing any additional integrations before the `stainlessDocs` integration if possible. astro.config.ts ``` import { defineConfig } from "astro/config"; import { generateAPIReferenceItems, stainlessDocs, } from "@stainless-api/docs"; // https://astro.build/config export default defineConfig({ integrations: [ stainlessDocs({ ... }), anotherIntegration(), ], }); ``` ### Confirmed working integrations Below is a non-exhaustive list of the integrations we’ve confirmed work with the Stainless Docs Platform: - [@astrojs/sitemap](https://docs.astro.build/en/guides/integrations-guide/sitemap/) - [@astrojs/markdoc](https://docs.astro.build/en/guides/integrations-guide/markdoc/) If you want to use an integration not listed above we encourage you to give it a try. Chances are it will work, but if it doesn’t [please let us know](mailto:support@stainless.com)! ## Starlight plugins (experimental) The Stainless Docs Platform currently uses [Starlight](https://starlight.astro.build) under the hood and has experimental support for [Starlight plugins](https://starlight.astro.build/resources/plugins/). The use of Starlight in the Stainless Docs Platform is considered an implementation detail that is subject to change. To maintain compatibility with future versions of the Stainless Docs Platform, we recommend using Astro integrations instead of Starlight plugins. To add a Starlight plugin to your site, first import it at the top of your `astro.config.ts` file, then add it to the `experimental.starlightCompat.plugins` array inside your `stainlessDocs` integration. Here’s an example that shows how to add the [starlight-links-validator](https://github.com/HiDeoo/starlight-links-validator) plugin: astro.config.ts ``` import { defineConfig } from "astro/config"; import { stainlessDocs } from "@stainless-api/docs"; import starlightLinksValidator from "starlight-links-validator"; export default defineConfig({ integrations: [ stainlessDocs({ title: "My Docs", experimental: { starlightCompat: { plugins: [starlightLinksValidator()], }, }, }), ], }); ```