用途:这是 heptabase-cli-skills(Heptabase CLI 的公开 Agent Skills 插件包)的发布技能,用于在需要发布、打标签、推送新版本时执行标准化流程。该包通过 Claude Code marketplace、Cursor、npx skills 和 OpenCode 分发;Claude Code 按解析后的插件版本缓存,因此不升版本号直接推提交不会让用户收到更新。
主要能力与约定:.claude-plugin/plugin.json 的 version 是唯一版本来源,解析顺序为 plugin.json → marketplace.json 插件条目 → commit SHA,且不得在 marketplace.json 插件条目中写 version。.cursor-plugin/plugin.json 每次发布必须同步同一版本。标签格式为 vX.Y.Z,与清单版本一致。GitHub Release 标题为“Compatible with CLI v<range>”,取自 skills/heptabase-cli/SKILL.md 的 metadata.heptabase-cli-version-range。发布说明由合并的 PR 标题自动生成(--generate-notes),无 CHANGELOG 文件,因此 PR 标题应使用 feat:、fix: 等规范格式。版本升级规则:patch 用于仅文档类技能修复;minor 用于新增 CLI 命令支持、非破坏性 CLI 行为或新的 CLI 兼容范围;major 仅用于插件改名、移除主技能、改变分发模式等包级变更。
使用方式:仓库内提供脚本 scripts/bump-version.mjs <patch|minor|major|X.Y.Z> [--dry-run] 同步更新两个插件清单并校验,不修改 CLI 版本范围;scripts/preflight.mjs [--skip-validators] 输出只读的发布就绪报告,检查清单同步、marketplace 版本规则、CLI 范围一致性、已安装 CLI 与声明范围、工作树干净、分支、标签可用性、版本是否超过最新 origin 标签,并运行三个官方校验器,任一 FAIL 时以非零退出。流程为:查看上次发布以来的提交与已合并 PR,确定升级类型;从更新后的 main 建 release/vX.Y.Z 分支;运行 bump-version.mjs;如 CLI 范围变化则同时更新 SKILL.md 的 frontmatter 与正文;提交后运行 preflight 并修复 FAIL;通过规范标题 PR 合并;在更新后的 main 上重跑 preflight,确认 tag-ready 后打标签并推送;最后用 gh release create vX.Y.Z --title "Compatible with CLI v0.4.x" --generate-notes 发布并验证。
限制与安全:打标签、推送标签和发布 Release 是公开且基本不可逆的操作,必须获得维护者在当前对话中的明确同意,不得静默批量执行;preflight 报 FAIL 时必须停止修复,不得绕过;未达到 tag-ready(未输出发布计划)时不得打标签。具体命令与参数以仓库脚本和文档为准。