用途:cli-forge 技能族的发布阶段,为符合规范的生成式 CLI 技能接入标准发布自动化、准备新版本,或执行 GitHub Release 与多包 npm 发布流程。
主要能力:一次生产发布产出 git tag v<version> 与 GitHub Release(含各目标归档与 sha256)、6 个按平台拆分的 npm 包(-darwin-arm64 / -darwin-x64 / -linux-arm64 / -linux-x64 / -win32-arm64 / -win32-x64,携带原生二进制)、1 个主 npm 包(JS shim,optionalDependencies 固定同版本)、CHANGELOG.md 条目与 chore(release): <version> [skip ci] 提交。包总数为 1 + config.targets.length(默认 7),全部 npm 包在一次 semantic-release 运行中发布并共享同一版本。
使用方式:入口需 validation-report.yml 存在且新鲜、结果为 compliant 或 warning,目标仓库路径与发布模式明确,并收集 cliName、mainPackageName、mainNpmScope、platformNpmScope、sourceRepository 等输入。模式路径:report_only 仅审计就绪状态,不写文件;dry_run 本地运行 npm run release:rehearse;prepublish 本地运行 npm run release:prepublish,使用专用预发布版本做真实公开引导发布;live_release 推送 main 或 workflow_dispatch,由 release.yml 驱动端到端流程。需在 GitHub Actions(id-token: write)与 npmjs.com 上为 1 个主包和 6 个平台包配置可信发布,均指向 release.yml。最后生成 .cli-forge/release-receipt.yml。
适用场景:为生成的 CLI 技能建立或执行发布流水线。
限制:非 compliant、过期或来源不匹配时拒绝发布;不得绕过过期校验;所有包必须共享 semantic-release 选定版本;引导预发布须用 0.0.0-prepublish.N 之类版本;不得手工改版本、CHANGELOG 或创建 tag;目标仓库不得保留 dot-* 别名;平台包目录除 .gitkeep 外不纳入版本控制。本阶段为终止阶段。