用途:为 Insomnia 共享组件库(packages/insomnia-component-docs 的 Docusaurus 站点)编写或维护组件文档。适用于新增组件、组件 props/变体/样式变更,或被要求为某组件写/更新文档时。
主要能力与约定:每个组件一个 MDX 文件,路径为 packages/insomnia-component-docs/docs/Components/<name>.mdx,文件名用 kebab-case。侧边栏由文件夹自动生成,不要编辑 sidebars.ts,仅通过 frontmatter 的 sidebar_position 控制排序。实时示例使用 ```tsx live 代码块(依赖 @docusaurus/theme-live-codeblock),其中的组件名从共享作用域解析,而非 MDX 内的 import。
关键步骤:先查看组件源码获取真实 API(props、类型、默认值、变体、使用的主题 CSS 变量与 theme--* 类)。用技能文件夹中的 template.mdx 创建或更新 MDX,填写 frontmatter(id、sidebar_label、sidebar_position)、标题与一行描述、Props 表(prop/type/default/description,若继承 React Aria 组件则附其 props 页面链接)、至少 2–3 个 tsx live 示例覆盖主要变体与状态、Styling 下的 CSS Variables 列表及 theme--* 作用域类说明。任何在 tsx live 块中使用的组件,必须在 packages/insomnia-component-docs/src/theme/ReactLiveScope/index.ts 中导入并注册,库组件导入路径为 insomnia/src/basic-components/<name>,否则实时块编译失败。
验证:运行 cd packages/insomnia-component-docs && npm run build 检查构建;写作时可用 cd packages/insomnia-component-docs && npm run start 交互预览。
限制与注意:示例应保持小而自包含,避免业务/数据依赖;颜色用 CSS 变量(--color-* / --hl-*)记录,尺寸间距用原生 Tailwind 工具类,需与组件源码一致;多部分组件(如 Modal.Header/Body/Footer)在同一文件内记录。具体收费、平台支持等信息暂未提供。