Astro Starlight 是一个面向 Astro 的生产级文档主题,提供开箱即用的全文搜索、深色/浅色模式、国际化和较丰富的插件生态,适合构建技术文档站点。
用途与适用场景:适合搭建技术文档站点;创建 API 参考文档(配合 starlight-openapi);从 TypeScript 类型生成文档(配合 starlight-typedoc);为文档站添加博客(配合 starlight-blog);搭建带版本的文档(配合 starlight-versions);以及支持带 hreflang 的多语言文档。
主要能力:Pagefind 内置全文搜索、零配置;深色/浅色模式基于 CSS 自定义属性自动实现;侧边栏支持基于文件系统或手动分组配置;插件生态包含 DocSearch、博客、openapi、typedoc 等;支持 Content Layer API 与 Astro 内容集合集成;支持 llms.txt 以提升 AI 可发现性(starlight-llms-txt);0.42 版本提供无需 JavaScript 的移动端菜单(Popover API),菜单在禁用 JS 时仍可用,并同时产出编译后的 JS 与 .d.ts 以加速 tsc。
参考文档主题:安装与项目结构、侧边栏(导航、分组、自动生成)、搜索(Pagefind、DocSearch、排除页面)、插件(博客、openapi、typedoc、版本化)、i18n(语言区域、翻译、hreflang)、Content Layer(docsLoader、schema、集合)、自定义(CSS 变量、组件覆盖)。模板类资料包括完整的 astro.config.mjs 配置示例,以及带分组和徽章的复杂侧边栏示例。
使用方式与工作流:资料描述了一套代理工作流,要求在实现前使用 TeamCreate 创建三个代理:explore-codebase 分析现有 Starlight 配置、侧边栏与内容结构;research-expert 通过 Context7/Exa 核实 Starlight 插件 API;mcp__context7__query-docs 查阅 Starlight 文档中的 Content Layer 与 i18n 模式;实现后运行 sniper 进行验证。
最佳实践:优先从文件系统侧边栏开始,仅在需要时添加手动配置;小型站点继续使用 Pagefind,高流量或大型文档使用 DocSearch;使用 starlight-llms-txt,因为 AI 爬虫对文档日益重要;使用 Content Layer schema 以获得类型安全的 frontmatter,防止运行时错误;通过 CSS 自定义属性覆盖主题,而不使用组件插槽。
限制:该技能不覆盖 Starlight 之外的通用 Astro Content Layer 用法(astro-content),也不覆盖非 Starlight 的 i18n 路由(astro-i18n),这些由各自技能处理。