[{"data":1,"prerenderedAt":4},["ShallowReactive",2],{"doc-\u002Fzh-Hans\u002Fcmtx\u002Fdev-guide\u002FDEV-005-publish-validation\u002F":3},"\u003Ch1 id=\"%E5%8F%91%E5%B8%83%E5%89%8D%E6%A0%A1%E9%AA%8C%E4%B8%8E%E8%B4%A8%E9%87%8F%E9%97%A8%E7%A6%81%E6%8C%87%E5%8D%97\" tabindex=\"-1\">\u003Ca class=\"header-anchor\" href=\"#%E5%8F%91%E5%B8%83%E5%89%8D%E6%A0%A1%E9%AA%8C%E4%B8%8E%E8%B4%A8%E9%87%8F%E9%97%A8%E7%A6%81%E6%8C%87%E5%8D%97\">#\u003C\u002Fa> 发布前校验与质量门禁指南\u003C\u002Fh1>\n\u003Cp>本文档定义 CMTX 项目中所有 npm 包发布前的质量校验标准，涵盖 package.json、README、CHANGELOG、TypeDoc 注释及构建产物的验证要求。\u003C\u002Fp>\n\u003Ch2 id=\"1.-%E6%A6%82%E8%BF%B0\" tabindex=\"-1\">\u003Ca class=\"header-anchor\" href=\"#1.-%E6%A6%82%E8%BF%B0\">#\u003C\u002Fa> 1. 概述\u003C\u002Fh2>\n\u003Cp>CMTX 使用 Changesets 管理版本号和发布流程。发布前需按以下顺序通过六个维度的校验：\u003C\u002Fp>\n\u003Col>\n\u003Cli>\u003Cstrong>TypeDoc\u003C\u002Fstrong>: 公开 API 注释覆盖（优先执行，涉及代码变更）\u003C\u002Fli>\n\u003Cli>\u003Cstrong>代码质量门禁\u003C\u002Fstrong>: build \u002F test \u002F lint \u002F typecheck\u003C\u002Fli>\n\u003Cli>\u003Cstrong>package.json\u003C\u002Fstrong>: npm 发布元数据字段\u003C\u002Fli>\n\u003Cli>\u003Cstrong>README\u003C\u002Fstrong>: 文档准确性与格式规范\u003C\u002Fli>\n\u003Cli>\u003Cstrong>CHANGELOG\u003C\u002Fstrong>: 变更记录完整性、双语格式对齐\u003C\u002Fli>\n\u003Cli>\u003Cstrong>构建产物\u003C\u002Fstrong>: 输出文件与导出正确性\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3 id=\"1.1.-%E9%80%82%E7%94%A8%E8%8C%83%E5%9B%B4\" tabindex=\"-1\">\u003Ca class=\"header-anchor\" href=\"#1.1.-%E9%80%82%E7%94%A8%E8%8C%83%E5%9B%B4\">#\u003C\u002Fa> 1.1. 适用范围\u003C\u002Fh3>\n\u003Cp>以下包须通过完整校验：\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>@cmtx\u002Fcore\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>@cmtx\u002Fstorage\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>@cmtx\u002Ftemplate\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>@cmtx\u002Ffpe-wasm\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>@cmtx\u002Fasset\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>@cmtx\u002Frule-engine\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>@cmtx\u002Fai\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>@cmtx\u002Fautocorrect-wasm\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>@cmtx\u002Fmarkdown-it-presigned-url\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>@cmtx\u002Fmarkdown-it-presigned-url-adapter-nodejs\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>@cmtx\u002Fcli\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>@cmtx\u002Fmcp-server\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>不适用\u003C\u002Fstrong>: \u003Ccode>cmtx-vscode\u003C\u002Fcode>（VS Code 扩展使用独立发布机制，参见 \u003Ca href=\"\u002Fzh-Hans\u002Fcmtx\u002Fdev-guide\u002Fvscode-extension-DEV-006-vscode-publish-guide\u002F\">\u003Ccode>DEV-006-vscode-publish-guide.md\u003C\u002Fcode>\u003C\u002Fa>）\u003C\u002Fp>\n\u003Chr>\n\u003Ch2 id=\"2.-package.json-%E6%A0%A1%E9%AA%8C%EF%BC%88npm-%E5%8F%91%E5%B8%83%E5%AD%97%E6%AE%B5%EF%BC%89\" tabindex=\"-1\">\u003Ca class=\"header-anchor\" href=\"#2.-package.json-%E6%A0%A1%E9%AA%8C%EF%BC%88npm-%E5%8F%91%E5%B8%83%E5%AD%97%E6%AE%B5%EF%BC%89\">#\u003C\u002Fa> 2. package.json 校验（npm 发布字段）\u003C\u002Fh2>\n\u003Cp>发布前重点校验 npm 包元数据字段，完整的 package.json 配置模板参见包开发指南。\u003C\u002Fp>\n\u003Ch3 id=\"2.1.-%E6%A0%A1%E9%AA%8C%E6%B8%85%E5%8D%95\" tabindex=\"-1\">\u003Ca class=\"header-anchor\" href=\"#2.1.-%E6%A0%A1%E9%AA%8C%E6%B8%85%E5%8D%95\">#\u003C\u002Fa> 2.1. 校验清单\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>[ ] \u003Ccode>name\u003C\u002Fcode>: 使用正确的 \u003Ccode>@cmtx\u002F\u003C\u002Fcode> 作用域\u003C\u002Fli>\n\u003Cli>[ ] \u003Ccode>description\u003C\u002Fcode>: 非空，\u003Cstrong>必须根据包的最新设计更新\u003C\u002Fstrong>，准确概括当前功能范围\u003C\u002Fli>\n\u003Cli>[ ] \u003Ccode>license\u003C\u002Fcode>: 为 \u003Ccode>Apache-2.0\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>[ ] \u003Ccode>repository\u003C\u002Fcode>: \u003Ccode>url\u003C\u002Fcode> 和 \u003Ccode>directory\u003C\u002Fcode> 指向正确\u003C\u002Fli>\n\u003Cli>[ ] \u003Ccode>bugs\u003C\u002Fcode>: \u003Ccode>url\u003C\u002Fcode> 指向 GitHub Issues\u003C\u002Fli>\n\u003Cli>[ ] \u003Ccode>homepage\u003C\u002Fcode>: 指向 GitHub 仓库主页\u003C\u002Fli>\n\u003Cli>[ ] \u003Ccode>author\u003C\u002Fcode>: 为 \u003Ccode>cc01cc\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>[ ] \u003Ccode>keywords\u003C\u002Fcode>: 包含相关关键词，至少含 \u003Ccode>cmtx\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>[ ] \u003Ccode>private\u003C\u002Fcode>: 公开包不设置，私有包为 \u003Ccode>true\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>[ ] \u003Ccode>publishConfig.access\u003C\u002Fcode>: 公开包为 \u003Ccode>public\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>[ ] \u003Ccode>files\u003C\u002Fcode>: 包含 \u003Ccode>dist\u003C\u002Fcode>，不含 \u003Ccode>src\u002F\u003C\u002Fcode>、\u003Ccode>tests\u002F\u003C\u002Fcode> 等非发布文件\u003C\u002Fli>\n\u003Cli>[ ] \u003Ccode>version\u003C\u002Fcode>: 由 Changesets 管理，不手动修改\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Chr>\n\u003Ch2 id=\"3.-readme-%E6%A0%A1%E9%AA%8C\" tabindex=\"-1\">\u003Ca class=\"header-anchor\" href=\"#3.-readme-%E6%A0%A1%E9%AA%8C\">#\u003C\u002Fa> 3. README 校验\u003C\u002Fh2>\n\u003Ch3 id=\"3.1.-%E8%AF%AD%E8%A8%80%E8%A6%81%E6%B1%82\" tabindex=\"-1\">\u003Ca class=\"header-anchor\" href=\"#3.1.-%E8%AF%AD%E8%A8%80%E8%A6%81%E6%B1%82\">#\u003C\u002Fa> 3.1. 语言要求\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>主要语言为 \u003Cstrong>中文\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>英文版本应同步存在（推荐方案：\u003Ccode>README.md\u003C\u002Fcode> 中文 + \u003Ccode>README.en.md\u003C\u002Fcode> 英文）\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3 id=\"3.2.-%E5%86%85%E5%AE%B9%E9%99%90%E5%88%B6\" tabindex=\"-1\">\u003Ca class=\"header-anchor\" href=\"#3.2.-%E5%86%85%E5%AE%B9%E9%99%90%E5%88%B6\">#\u003C\u002Fa> 3.2. 内容限制\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>禁止大段代码示例\u003C\u002Fstrong>：代码块不超过 15 行\u003C\u002Fli>\n\u003Cli>\u003Cstrong>禁止手写 API 文档\u003C\u002Fstrong>：API 文档由 TypeDoc 自动生成，引用的标准文本：\n\u003Cblockquote>\n\u003Cp>完整 API 文档：运行 \u003Ccode>pnpm run docs\u003C\u002Fcode> 生成（位于 \u003Ccode>docs\u002Fapi\u002F\u003C\u002Fcode> 目录）\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3 id=\"3.3.-%E6%A0%87%E5%87%86%E7%AB%A0%E8%8A%82%E7%BB%93%E6%9E%84\" tabindex=\"-1\">\u003Ca class=\"header-anchor\" href=\"#3.3.-%E6%A0%87%E5%87%86%E7%AB%A0%E8%8A%82%E7%BB%93%E6%9E%84\">#\u003C\u002Fa> 3.3. 标准章节结构\u003C\u002Fh3>\n\u003Cp>每个包 README 应包含以下章节：\u003C\u002Fp>\n\u003Col>\n\u003Cli>\u003Cstrong>标题与徽章\u003C\u002Fstrong>：包名 (H1)、npm 版本徽章、License 徽章\u003C\u002Fli>\n\u003Cli>\u003Cstrong>简介\u003C\u002Fstrong>：说明包的功能、核心能力和用例。\u003Cstrong>必须检查是否匹配最新设计和当前功能集，避免描述过时或与实际实现不符\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>安装\u003C\u002Fstrong>：\u003Ccode>pnpm add @cmtx\u002F&lt;name&gt;\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>功能模块\u003C\u002Fstrong>：按模块组织代码示例，每块不超过 15 行\u003C\u002Fli>\n\u003Cli>\u003Cstrong>与其他包的关系\u003C\u002Fstrong>：可选，依赖方向图\u003C\u002Fli>\n\u003Cli>\u003Cstrong>开发\u003C\u002Fstrong>：\u003Ccode>pnpm build\u003C\u002Fcode>、\u003Ccode>pnpm test\u003C\u002Fcode>、\u003Ccode>pnpm lint\u003C\u002Fcode> 命令\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3 id=\"3.4.-%E5%BE%BD%E7%AB%A0%E6%A0%BC%E5%BC%8F\" tabindex=\"-1\">\u003Ca class=\"header-anchor\" href=\"#3.4.-%E5%BE%BD%E7%AB%A0%E6%A0%BC%E5%BC%8F\">#\u003C\u002Fa> 3.4. 徽章格式\u003C\u002Fh3>\n\u003Cpre data-lang=\"markdown\" class=\"shiki github-light\" style=\"background-color:#fff;color:#24292e\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#005CC5;font-weight:bold\"># @cmtx\u002Fpackage-name\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#24292E\">[\u003C\u002Fspan>\u003Cspan style=\"color:#032F62;text-decoration:underline\">![npm version](https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002F@cmtx\u002Fpackage-name.svg)\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">](\u003C\u002Fspan>\u003Cspan style=\"color:#24292E;text-decoration:underline\">https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002F@cmtx\u002Fpackage-name\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">)\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#24292E\">[\u003C\u002Fspan>\u003Cspan style=\"color:#032F62;text-decoration:underline\">![License](https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fl\u002F@cmtx\u002Fpackage-name.svg)\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">](\u003C\u002Fspan>\u003Cspan style=\"color:#24292E;text-decoration:underline\">https:\u002F\u002Fgithub.com\u002Fcc01cc\u002Fcmtx-project\u002Fblob\u002Fmain\u002FLICENSE\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">)\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\u003Ch3 id=\"3.5.-%E6%BA%90%E7%A0%81%E5%AF%B9%E7%85%A7%E9%AA%8C%E8%AF%81%EF%BC%88%E5%85%B3%E9%94%AE%EF%BC%89\" tabindex=\"-1\">\u003Ca class=\"header-anchor\" href=\"#3.5.-%E6%BA%90%E7%A0%81%E5%AF%B9%E7%85%A7%E9%AA%8C%E8%AF%81%EF%BC%88%E5%85%B3%E9%94%AE%EF%BC%89\">#\u003C\u002Fa> 3.5. 源码对照验证（关键）\u003C\u002Fh3>\n\u003Cp>这是 README 校验中最容易被忽视但最重要的环节。\u003Cstrong>仅检查格式和章节结构是不够的，必须对照源代码验证 README 的内容准确性。\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre data-lang=\"bash\" class=\"shiki github-light\" style=\"background-color:#fff;color:#24292e\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\"># 步骤 1：提取当前包的公开导出列表（值导出 + 类型导出）\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\"># 通过查看入口文件的 export 语句获取完整列表\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6F42C1\">grep\u003C\u002Fspan>\u003Cspan style=\"color:#032F62\"> 'export '\u003C\u002Fspan>\u003Cspan style=\"color:#032F62\"> packages\u002F\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\">&#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#032F62\">nam\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">e\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\">>\u003C\u002Fspan>\u003Cspan style=\"color:#032F62\">\u002Fsrc\u002Findex.ts\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\"> |\u003C\u002Fspan>\u003Cspan style=\"color:#6F42C1\"> grep\u003C\u002Fspan>\u003Cspan style=\"color:#005CC5\"> -E\u003C\u002Fspan>\u003Cspan style=\"color:#032F62\"> '(function|const|class|type |interface )'\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\"> |\u003C\u002Fspan>\u003Cspan style=\"color:#6F42C1\"> sort\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\"># 步骤 2：提取 README 中提到的函数\u002F类型列表\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\"># 搜索代码块中 import 行的导出项\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6F42C1\">grep\u003C\u002Fspan>\u003Cspan style=\"color:#005CC5\"> -oP\u003C\u002Fspan>\u003Cspan style=\"color:#032F62\"> '(?&#x3C;=import \\{ )[^}]+'\u003C\u002Fspan>\u003Cspan style=\"color:#032F62\"> packages\u002F\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\">&#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#032F62\">nam\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">e\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\">>\u003C\u002Fspan>\u003Cspan style=\"color:#032F62\">\u002FREADME.md\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\"> |\u003C\u002Fspan>\u003Cspan style=\"color:#6F42C1\"> tr\u003C\u002Fspan>\u003Cspan style=\"color:#032F62\"> ','\u003C\u002Fspan>\u003Cspan style=\"color:#032F62\"> '\\n'\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\"> |\u003C\u002Fspan>\u003Cspan style=\"color:#6F42C1\"> sed\u003C\u002Fspan>\u003Cspan style=\"color:#032F62\"> 's\u002F^ *\u002F\u002F'\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\"> |\u003C\u002Fspan>\u003Cspan style=\"color:#6F42C1\"> sort\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\"># 步骤 3：手动对比两份列表，确认：\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\"># - README 覆盖了所有核心值导出（类型导出可选择性列出，但应指向 API 文档）\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\"># - README 中列出的函数签名与实际代码一致（参数名、是否 async、返回值）\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\"># - README 中不包含已移除或已迁移的过时 API\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>\u003Cstrong>常见问题（根据历史审计总结）：\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>问题\u003C\u002Fth>\n\u003Cth>说明\u003C\u002Fth>\n\u003Cth>后果\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>遗漏新导出\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>新增函数\u002F模块未在 README 功能模块中列出\u003C\u002Ftd>\n\u003Ctd>埋没功能，用户不知可用\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>函数签名不准确\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>sync\u003C\u002Fcode> 写成 \u003Ccode>async\u003C\u002Fcode>、参数名不一致\u003C\u002Ftd>\n\u003Ctd>用户参考 README 写代码报错\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>包含已迁移 API\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>已移到 \u003Ccode>@cmtx\u002Fasset\u003C\u002Fcode> 的函数仍展示代码示例\u003C\u002Ftd>\n\u003Ctd>用户困惑，在错误的包中寻找功能\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>描述与实际不符\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>&quot;纯文本不涉及文件操作&quot;但实际存在文件 I\u002FO 函数\u003C\u002Ftd>\n\u003Ctd>破坏用户信任\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>版本写死\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>标题中写入 \u003Ccode>v0.3.0\u003C\u002Fcode> 但实际版本已变\u003C\u002Ftd>\n\u003Ctd>徽章已自动显示版本，无需手写\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003Ch3 id=\"3.6.-%E6%A0%A1%E9%AA%8C%E6%B8%85%E5%8D%95\" tabindex=\"-1\">\u003Ca class=\"header-anchor\" href=\"#3.6.-%E6%A0%A1%E9%AA%8C%E6%B8%85%E5%8D%95\">#\u003C\u002Fa> 3.6. 校验清单\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>[ ] 内容以中文书写，英文版本同步存在\u003C\u002Fli>\n\u003Cli>[ ] 无大段代码示例（每块不超过 15 行）\u003C\u002Fli>\n\u003Cli>[ ] 无手写 API 文档（引用 \u003Ccode>docs\u002Fapi\u002F\u003C\u002Fcode>）\u003C\u002Fli>\n\u003Cli>[ ] npm 版本和 License 徽章存在且链接正确\u003C\u002Fli>\n\u003Cli>[ ] 章节遵循标准结构\u003C\u002Fli>\n\u003Cli>[ ] 简介描述与包的最新设计和当前功能集一致\u003C\u002Fli>\n\u003Cli>[ ] \u003Cstrong>已对照 \u003Ccode>src\u002Findex.ts\u003C\u002Fcode> 导出列表验证 README 函数列表完整性\u003C\u002Fstrong>（参考 \u003Ca href=\"#35-%E6%BA%90%E7%A0%81%E5%AF%B9%E7%85%A7%E9%AA%8C%E8%AF%81%E5%85%B3%E9%94%AE\">第 3.5 节\u003C\u002Fa>）\u003C\u002Fli>\n\u003Cli>[ ] \u003Cstrong>已验证 README 中函数签名与实际代码一致（async\u002Fsync、参数、返回值）\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>[ ] \u003Cstrong>已确认 README 不含已迁移或已移除的过时 API\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>[ ] 标题不含硬编码版本号（由 npm 徽章自动展示）\u003C\u002Fli>\n\u003Cli>[ ] 无表情符号（遵循 ASCII-only 政策）\u003C\u002Fli>\n\u003Cli>[ ] 行长度不超过 120 字符\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Chr>\n\u003Ch2 id=\"4.-changelog-%E6%A0%A1%E9%AA%8C\" tabindex=\"-1\">\u003Ca class=\"header-anchor\" href=\"#4.-changelog-%E6%A0%A1%E9%AA%8C\">#\u003C\u002Fa> 4. CHANGELOG 校验\u003C\u002Fh2>\n\u003Cp>CHANGELOG 的编写规范与变更集管理流程详见 \u003Ca href=\"\u002Fzh-Hans\u002Fcmtx\u002Fdev-guide\u002FDEV-008-changelog_guide\u002F\">DEV-008: Changeset 编写与 CHANGELOG 管理指南\u003C\u002Fa>。\u003C\u002Fp>\n\u003Ch3 id=\"4.1.-%E6%A0%BC%E5%BC%8F%E8%A6%81%E6%B1%82\" tabindex=\"-1\">\u003Ca class=\"header-anchor\" href=\"#4.1.-%E6%A0%BC%E5%BC%8F%E8%A6%81%E6%B1%82\">#\u003C\u002Fa> 4.1. 格式要求\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>遵循 \u003Ca href=\"https:\u002F\u002Fkeepachangelog.com\u002F\">Keep a Changelog\u003C\u002Fa> 格式\u003C\u002Fli>\n\u003Cli>版本标题使用 Changesets 生成的版本号和日期\u003C\u002Fli>\n\u003Cli>分类行使用 \u003Ccode>- \u003C\u002Fcode> 无序列表\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3 id=\"4.2.-%E5%8F%8C%E8%AF%AD%E8%A6%81%E6%B1%82\" tabindex=\"-1\">\u003Ca class=\"header-anchor\" href=\"#4.2.-%E5%8F%8C%E8%AF%AD%E8%A6%81%E6%B1%82\">#\u003C\u002Fa> 4.2. 双语要求\u003C\u002Fh3>\n\u003Cp>每个版本（包括 \u003Ccode>[Unreleased]\u003C\u002Fcode>）的内容采用\u003Cstrong>先中文后英文\u003C\u002Fstrong>的双语模式：\u003C\u002Fp>\n\u003Cul>\n\u003Cli>文件第一行标题使用双语命名：\u003Ccode># @cmtx\u002F&lt;name&gt; 更新日志 \u002F Changelog\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>中文条目写完后，用 \u003Ccode>---\u003C\u002Fcode> 分隔线分隔，再写英文版本\u003C\u002Fli>\n\u003Cli>中文和英文条目内容应一一对应，保持信息一致\u003C\u002Fli>\n\u003Cli>示例参见 \u003Ccode>packages\u002Fcli\u002FCHANGELOG.md\u003C\u002Fcode> 和 \u003Ccode>packages\u002Frule-engine\u002FCHANGELOG.md\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3 id=\"4.3.-%E5%86%85%E5%AE%B9%E5%87%86%E7%A1%AE%E6%80%A7%E6%A0%A1%E9%AA%8C%EF%BC%88%E5%85%B3%E9%94%AE%EF%BC%89\" tabindex=\"-1\">\u003Ca class=\"header-anchor\" href=\"#4.3.-%E5%86%85%E5%AE%B9%E5%87%86%E7%A1%AE%E6%80%A7%E6%A0%A1%E9%AA%8C%EF%BC%88%E5%85%B3%E9%94%AE%EF%BC%89\">#\u003C\u002Fa> 4.3. 内容准确性校验（关键）\u003C\u002Fh3>\n\u003Cp>仅检查格式和双语是不够的。\u003Cstrong>必须通过 git diff 验证 CHANGELOG 内容与代码变更一致\u003C\u002Fstrong>。\u003C\u002Fp>\n\u003Cpre data-lang=\"bash\" class=\"shiki github-light\" style=\"background-color:#fff;color:#24292e\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\"># 查找上一个发布 tag\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#24292E\">LAST_TAG\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\">=\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">$(\u003C\u002Fspan>\u003Cspan style=\"color:#6F42C1\">git\u003C\u002Fspan>\u003Cspan style=\"color:#032F62\"> tag\u003C\u002Fspan>\u003Cspan style=\"color:#005CC5\"> --list\u003C\u002Fspan>\u003Cspan style=\"color:#032F62\"> '@cmtx\u002Fcore\u002F*'\u003C\u002Fspan>\u003Cspan style=\"color:#005CC5\"> --sort=-v:refname\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\"> |\u003C\u002Fspan>\u003Cspan style=\"color:#6F42C1\"> head\u003C\u002Fspan>\u003Cspan style=\"color:#005CC5\"> -1\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">)\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\"># 对比 src 和 package.json 的变更\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6F42C1\">git\u003C\u002Fspan>\u003Cspan style=\"color:#032F62\"> diff\u003C\u002Fspan>\u003Cspan style=\"color:#032F62\"> \"\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">$LAST_TAG\u003C\u002Fspan>\u003Cspan style=\"color:#032F62\">\"...HEAD\u003C\u002Fspan>\u003Cspan style=\"color:#005CC5\"> --\u003C\u002Fspan>\u003Cspan style=\"color:#032F62\"> packages\u002Fcore\u002Fsrc\u002F\u003C\u002Fspan>\u003Cspan style=\"color:#032F62\"> packages\u002Fcore\u002Fpackage.json\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\"> |\u003C\u002Fspan>\u003Cspan style=\"color:#6F42C1\"> head\u003C\u002Fspan>\u003Cspan style=\"color:#005CC5\"> -50\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>\u003Cstrong>常见问题（根据历史审计总结）：\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>问题\u003C\u002Fth>\n\u003Cth>说明\u003C\u002Fth>\n\u003Cth>后果\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>虚构条目\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>CHANGELOG 条目在 git diff 中找不到对应证据\u003C\u002Ftd>\n\u003Ctd>读者产生困惑，降低可信度\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>遗漏破坏性变更\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>移除公开 API、类型、更改函数签名未记录\u003C\u002Ftd>\n\u003Ctd>用户升级时意外 break\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>描述与事实不符\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>将&quot;移除&quot;写成&quot;重构&quot;\u003C\u002Ftd>\n\u003Ctd>用户误以为向后兼容\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>遗漏新增功能\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>新增的公共导出函数\u002F类型未在 Added 中记录\u003C\u002Ftd>\n\u003Ctd>埋没功能，用户不知可用\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>内部变更写入\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>仅修改测试、文档、lint 配置、构建配置写入了 CHANGELOG\u003C\u002Ftd>\n\u003Ctd>违反 Keep a Changelog 原则\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003Ch3 id=\"4.4.-%E6%A0%A1%E9%AA%8C%E6%B8%85%E5%8D%95\" tabindex=\"-1\">\u003Ca class=\"header-anchor\" href=\"#4.4.-%E6%A0%A1%E9%AA%8C%E6%B8%85%E5%8D%95\">#\u003C\u002Fa> 4.4. 校验清单\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>[ ] \u003Ca href=\"http:\u002F\u002FCHANGELOG.md\">CHANGELOG.md\u003C\u002Fa> 文件存在\u003C\u002Fli>\n\u003Cli>[ ] 文件标题使用双语命名（\u003Ccode>更新日志 \u002F Changelog\u003C\u002Fcode>）\u003C\u002Fli>\n\u003Cli>[ ] 包含 Unreleased 区块，且 Unreleased 也采用双语模式\u003C\u002Fli>\n\u003Cli>[ ] 本次发布的版本条目已添加（由 Changesets 管理）\u003C\u002Fli>\n\u003Cli>[ ] \u003Cstrong>CHANGELOG 基于 \u003Ccode>main\u003C\u002Fcode> 分支的上一个已发布版本对比编写\u003C\u002Fstrong>，而非基于最近开发过程中的修改（避免将中间调试或回退的功能计入变更记录）\u003C\u002Fli>\n\u003Cli>[ ] 每个条目指向关联的 changeset 编号或 commit\u003C\u002Fli>\n\u003Cli>[ ] 使用语义化版本变更类型（Added\u002FChanged\u002FDeprecated\u002FRemoved\u002FFixed\u002FSecurity）\u003C\u002Fli>\n\u003Cli>[ ] 每个版本的内容采用先中文后英文的双语模式\u003C\u002Fli>\n\u003Cli>[ ] \u003Cstrong>已验证 Unreleased 条目与 git diff 一致（无虚构、无遗漏、无描述不实）\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>[ ] 新增的公开导出函数\u002F类型在 \u003Ccode>### Added\u003C\u002Fcode> 中记录\u003C\u002Fli>\n\u003Cli>[ ] 移除的公开导出函数\u002F类型在 \u003Ccode>### Removed\u003C\u002Fcode> 中记录\u003C\u002Fli>\n\u003Cli>[ ] 破坏性变更在 \u003Ccode>### Breaking Changes\u003C\u002Fcode> 中记录并附迁移指南\u003C\u002Fli>\n\u003Cli>[ ] 内部变更（测试\u002F文档\u002F配置\u002F构建）未写入 CHANGELOG\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Chr>\n\u003Ch2 id=\"5.-%E6%89%8B%E5%86%99-api-%E6%96%87%E6%A1%A3%E6%A0%A1%E9%AA%8C\" tabindex=\"-1\">\u003Ca class=\"header-anchor\" href=\"#5.-%E6%89%8B%E5%86%99-api-%E6%96%87%E6%A1%A3%E6%A0%A1%E9%AA%8C\">#\u003C\u002Fa> 5. 手写 API 文档校验\u003C\u002Fh2>\n\u003Cblockquote>\n\u003Cp>手写 API 文档（\u003Ccode>docs\u002Fi18n\u002F*\u002Fapi\u002F\u003C\u002Fcode> 目录下的文件）是对 TypeDoc 生成文档的补充说明，\u003Cstrong>每个 \u003Ccode>##\u003C\u002Fcode> 章节标题下的函数必须语义上属于该标题范畴\u003C\u002Fstrong>。\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Ch3 id=\"5.1.-%E7%AB%A0%E8%8A%82%E4%B8%8E%E5%86%85%E5%AE%B9%E5%AF%B9%E5%BA%94\" tabindex=\"-1\">\u003Ca class=\"header-anchor\" href=\"#5.1.-%E7%AB%A0%E8%8A%82%E4%B8%8E%E5%86%85%E5%AE%B9%E5%AF%B9%E5%BA%94\">#\u003C\u002Fa> 5.1. 章节与内容对应\u003C\u002Fh3>\n\u003Cp>章节标题应准确概括其下所有函数的核心功能，不得混入语义无关的函数。\u003C\u002Fp>\n\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>错误示例\u003C\u002Fth>\n\u003Cth>说明\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>\u003Ccode>## 图片尺寸调整\u003C\u002Fcode> 下包含 \u003Ccode>parseImageElements\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>parseImageElements 是解析函数，不属于&quot;尺寸调整&quot;\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>## 图片尺寸调整\u003C\u002Fcode> 下包含 \u003Ccode>toHtmlImage\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>toHtmlImage 是格式转换，不属于&quot;尺寸调整&quot;\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003Ch3 id=\"5.2.-%E6%A0%A1%E9%AA%8C%E6%96%B9%E6%B3%95\" tabindex=\"-1\">\u003Ca class=\"header-anchor\" href=\"#5.2.-%E6%A0%A1%E9%AA%8C%E6%96%B9%E6%B3%95\">#\u003C\u002Fa> 5.2. 校验方法\u003C\u002Fh3>\n\u003Cp>对照源码中的导出分组（\u003Ccode>packages\u002F*\u002Fsrc\u002Findex.ts\u003C\u002Fcode> 中的注释分区）验证文档章节划分：\u003C\u002Fp>\n\u003Cpre data-lang=\"bash\" class=\"shiki github-light\" style=\"background-color:#fff;color:#24292e\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\"># 查看 index.ts 中的导出分组注释\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6F42C1\">grep\u003C\u002Fspan>\u003Cspan style=\"color:#005CC5\"> -E\u003C\u002Fspan>\u003Cspan style=\"color:#032F62\"> '(\u002F\u002F =+|=+>|\u002F\u002F 图片)'\u003C\u002Fspan>\u003Cspan style=\"color:#032F62\"> packages\u002F\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\">&#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#032F62\">nam\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">e\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\">>\u003C\u002Fspan>\u003Cspan style=\"color:#032F62\">\u002Fsrc\u002Findex.ts\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\u003Ch3 id=\"5.3.-%E6%A0%A1%E9%AA%8C%E6%B8%85%E5%8D%95\" tabindex=\"-1\">\u003Ca class=\"header-anchor\" href=\"#5.3.-%E6%A0%A1%E9%AA%8C%E6%B8%85%E5%8D%95\">#\u003C\u002Fa> 5.3. 校验清单\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>[ ] 每个 \u003Ccode>##\u003C\u002Fcode> 章节标题准确概括其下所有函数的核心功能\u003C\u002Fli>\n\u003Cli>[ ] 无语义无关的函数混入错误章节\u003C\u002Fli>\n\u003Cli>[ ] 若有函数从一个章节迁移到另一章节，同步移除原文残留\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Chr>\n\u003Ch2 id=\"6.-typedoc-%E6%A0%A1%E9%AA%8C\" tabindex=\"-1\">\u003Ca class=\"header-anchor\" href=\"#6.-typedoc-%E6%A0%A1%E9%AA%8C\">#\u003C\u002Fa> 6. TypeDoc 校验\u003C\u002Fh2>\n\u003Ch3 id=\"6.1.-%E8%A6%81%E6%B1%82\" tabindex=\"-1\">\u003Ca class=\"header-anchor\" href=\"#6.1.-%E8%A6%81%E6%B1%82\">#\u003C\u002Fa> 6.1. 要求\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>所有导出的公开函数、类、接口必须包含 TypeDoc 注释\u003C\u002Fli>\n\u003Cli>注释至少包含功能说明和参数描述\u003C\u002Fli>\n\u003Cli>内部函数和私有成员不要求注释\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3 id=\"6.2.-%E6%A0%A1%E9%AA%8C%E6%B8%85%E5%8D%95\" tabindex=\"-1\">\u003Ca class=\"header-anchor\" href=\"#6.2.-%E6%A0%A1%E9%AA%8C%E6%B8%85%E5%8D%95\">#\u003C\u002Fa> 6.2. 校验清单\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>[ ] \u003Ccode>pnpm run docs\u003C\u002Fcode> 执行无报错\u003C\u002Fli>\n\u003Cli>[ ] 所有公开导出项有 TypeDoc 注释\u003C\u002Fli>\n\u003Cli>[ ] 无 \u003Ccode>@internal\u003C\u002Fcode> 标记导出到公开类型\u003C\u002Fli>\n\u003Cli>[ ] 生成的 \u003Ccode>docs\u002Fapi\u002F\u003C\u002Fcode> 目录内容完整\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Chr>\n\u003Ch2 id=\"7.-%E6%9E%84%E5%BB%BA%E4%BA%A7%E7%89%A9%E6%A0%A1%E9%AA%8C\" tabindex=\"-1\">\u003Ca class=\"header-anchor\" href=\"#7.-%E6%9E%84%E5%BB%BA%E4%BA%A7%E7%89%A9%E6%A0%A1%E9%AA%8C\">#\u003C\u002Fa> 7. 构建产物校验\u003C\u002Fh2>\n\u003Ch3 id=\"7.1.-%E6%A0%A1%E9%AA%8C%E6%B8%85%E5%8D%95\" tabindex=\"-1\">\u003Ca class=\"header-anchor\" href=\"#7.1.-%E6%A0%A1%E9%AA%8C%E6%B8%85%E5%8D%95\">#\u003C\u002Fa> 7.1. 校验清单\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>[ ] \u003Ccode>pnpm build\u003C\u002Fcode> 构建成功\u003C\u002Fli>\n\u003Cli>[ ] \u003Ccode>dist\u002Findex.js\u003C\u002Fcode>（或入口文件）存在\u003C\u002Fli>\n\u003Cli>[ ] \u003Ccode>dist\u002Findex.d.ts\u003C\u002Fcode> 类型定义文件存在\u003C\u002Fli>\n\u003Cli>[ ] \u003Ccode>files\u003C\u002Fcode> 字段中声明的所有文件均已生成\u003C\u002Fli>\n\u003Cli>[ ] \u003Ccode>exports\u003C\u002Fcode> 字段中所有路径指向已存在文件\u003C\u002Fli>\n\u003Cli>[ ] WASM 包（fpe-wasm）确认 \u003Ccode>.wasm\u003C\u002Fcode> 文件已复制到 \u003Ccode>dist\u002F\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Chr>\n\u003Ch2 id=\"8.-%E7%BB%BC%E5%90%88%E5%8F%91%E5%B8%83%E5%89%8D%E6%A0%A1%E9%AA%8C%E6%B8%85%E5%8D%95\" tabindex=\"-1\">\u003Ca class=\"header-anchor\" href=\"#8.-%E7%BB%BC%E5%90%88%E5%8F%91%E5%B8%83%E5%89%8D%E6%A0%A1%E9%AA%8C%E6%B8%85%E5%8D%95\">#\u003C\u002Fa> 8. 综合发布前校验清单\u003C\u002Fh2>\n\u003Cp>以下为发布前逐一核对的最终清单，按执行顺序排列：\u003C\u002Fp>\n\u003Cul>\n\u003Cli>[ ] TypeDoc 注释覆盖完整，\u003Ccode>pnpm run docs:check\u003C\u002Fcode> 无报错（参考 \u003Ca href=\"#6-typedoc-%E6%A0%A1%E9%AA%8C\">第 6 节\u003C\u002Fa>）\u003C\u002Fli>\n\u003Cli>[ ] 通过 \u003Ccode>pnpm build\u003C\u002Fcode>（编译成功，输出无警告）\u003C\u002Fli>\n\u003Cli>[ ] 通过 \u003Ccode>pnpm test\u003C\u002Fcode>（所有测试通过）\u003C\u002Fli>\n\u003Cli>[ ] 通过 \u003Ccode>pnpm lint\u003C\u002Fcode>（oxlint 和 oxfmt 无报错）\u003C\u002Fli>\n\u003Cli>[ ] 通过 \u003Ccode>pnpm typecheck\u003C\u002Fcode>（TypeScript 类型检查通过）\u003C\u002Fli>\n\u003Cli>[ ] package.json 配置完整（参考 \u003Ca href=\"#2-packagejson-%E6%A0%A1%E9%AA%8Cnpm-%E5%8F%91%E5%B8%83%E5%AD%97%E6%AE%B5\">第 2 节\u003C\u002Fa>）\u003C\u002Fli>\n\u003Cli>[ ] README 格式合规，且已对照 \u003Ccode>src\u002Findex.ts\u003C\u002Fcode> 导出列表验证内容准确性（参考 \u003Ca href=\"#3-readme-%E6%A0%A1%E9%AA%8C\">第 3 节\u003C\u002Fa>）\u003C\u002Fli>\n\u003Cli>[ ] CHANGELOG 已更新，采用先中文后英文的双语模式，且内容经 git diff 验证准确（参考 \u003Ca href=\"#4-changelog-%E6%A0%A1%E9%AA%8C\">第 4 节\u003C\u002Fa>）\u003C\u002Fli>\n\u003Cli>[ ] 手写 API 文档章节标题与内容对应正确（参考 \u003Ca href=\"#5-%E6%89%8B%E5%86%99-api-%E6%96%87%E6%A1%A3%E6%A0%A1%E9%AA%8C\">第 5 节\u003C\u002Fa>）\u003C\u002Fli>\n\u003Cli>[ ] 构建产物完整（参考 \u003Ca href=\"#7-%E6%9E%84%E5%BB%BA%E4%BA%A7%E7%89%A9%E6%A0%A1%E9%AA%8C\">第 7 节\u003C\u002Fa>）\u003C\u002Fli>\n\u003Cli>[ ] 远程仓库已更新，工作区干净（无未提交更改）\u003C\u002Fli>\n\u003Cli>[ ] 已登录 npm（\u003Ccode>npm whoami\u003C\u002Fcode>）\u003C\u002Fli>\n\u003Cli>[ ] 不是 VS Code 扩展（使用 \u003Ccode>.\u002Fvscode-extension\u002FDEV-006-vscode-publish-guide.md\u003C\u002Fcode>）\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Chr>\n\u003Ch2 id=\"9.-%E5%8F%82%E8%A7%81\" tabindex=\"-1\">\u003Ca class=\"header-anchor\" href=\"#9.-%E5%8F%82%E8%A7%81\">#\u003C\u002Fa> 9. 参见\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>\u003Ca href=\"\u002Fzh-Hans\u002Fcmtx\u002Fdev-guide\u002FDEV-006-publish_guide\u002F\">NPM 包发布指南\u003C\u002Fa> — 完整的发布流程\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"\u002Fzh-Hans\u002Fcmtx\u002Fdev-guide\u002FDEV-001-development_guide\u002F\">DEV-001: 开发指南\u003C\u002Fa> — 开发环境与 workflow\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"\u002Fzh-Hans\u002Fcmtx\u002Fdev-guide\u002FDEV-002-esm-cjs-wasm-bundling-guide\u002F\">DEV-002: ESM\u002FCJS\u002FWASM 打包指南\u003C\u002Fa> — 构建配置\u003C\u002Fli>\n\u003C\u002Ful>\n",1786290224233]