用途:为 ZIO 库文档统一 mdoc 代码块修饰符与 Docusaurus 提示框写法,供编写文档时参考。
主要能力:区分各 mdoc 修饰符——mdoc:compile-only(仅渲染源码、作用域隔离)、mdoc:silent(不渲染、共享作用域)、mdoc:silent:nest(不渲染、共享作用域、可重定义名称)、mdoc:silent:reset(清空此前作用域)、mdoc(渲染源码与求值输出、共享作用域)、mdoc:invisible(隐藏代码块、共享作用域)、mdoc:embed:<path>(用文件内容替换空代码块,可加 :showLineNumbers,需 docs 子项目依赖 dev.zio %% zio-sbt-source)。提供修饰符选择决策树与多种常见模式(静默设置+输出、嵌套重定义、自包含、多示例文档中每个独立示例使用 :reset)。要求只引用公开 API,不手写结果注释,由 mdoc 渲染输出。
使用方式:分三阶段工作流——先规划任务树,再逐个子任务应用修饰符并运行 sbt "docs/mdoc --in <file>.md --out website/<file>.md" 确认退出码为 0,最后机械校验:bash ${CLAUDE_PLUGIN_ROOT}/skills/docs-mdoc-conventions/check-mdoc-conventions.sh <file.md>(退出码 0 无违规、1 缺修饰符、2 调用错误)。跨 Scala 2/3 差异示例使用 Docusaurus Tabs(groupId="scala-version"、defaultValue="scala2",需导入 Tabs 与 TabItem);提示框用 :::note/tip/warning/info/danger,每篇至多 3–4 个。遇缺失依赖应在构建中修复,不得把可运行示例改为普通代码块。
适用场景:ZIO 库文档的 mdoc 代码块编写与校验。限制:依赖 sbt 与 mdoc 环境;具体命令参数与 checker 路径以实际仓库为准。