Claude-skill-registry chroma-release
Chroma 的发布一体化流程(SemVer 决策、生成 changelog、同步 CLI 版本、打 git tag、发布 GitHub Release)。当被要求进行新版本发布、更新 CHANGELOG.md、升级 `ca` CLI 版本号、创建 tag 或发布 GitHub Release 时使用。
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/chroma-release" ~/.claude/skills/majiayu000-claude-skill-registry-chroma-release && rm -rf "$T"
manifest:
skills/data/chroma-release/SKILL.mdsource content
Chroma 发布流程
概览
通过对比 HEAD 与最新 tag,确定下一版 SemVer,生成符合仓库格式的 changelog 段落,同步
ca CLI 版本号,并通过 gh 发布 git tag 与 GitHub Release。
工作流(从 HEAD 发布)
0) 前置条件
- 确保功能/修复改动已提交。release 脚本要求工作区干净。
- Tag 格式为纯
(不带X.Y.Z
)。v - Release notes 从 notes 文件读取,文件内不包含版本标题。
1) 收集变更用于 AI 分析
运行变更收集脚本:
./.codex/skills/chroma-release/scripts/collect_changes.py
如果需要指定基准 tag:
./.codex/skills/chroma-release/scripts/collect_changes.py --since-tag 0.1.1
利用输出检查:
- 上次 tag 到 HEAD 的提交摘要
- 变更文件与 diff 统计
2) 决定下一版本(SemVer)
基于 diff 与提交上下文决定下一版本号。
判定参考:
- Breaking change:删除/重命名 public API,修改函数签名,改变默认行为,或不兼容的 CLI flag 变更。
- Feature:向后兼容的新增功能。
- Fix:仅包含向后兼容的 bug 修复。
SemVer 对应:
:破坏性变更(若已到 1.0.0+)MAJOR
:新增功能MINOR
:修复PATCH
1.0 前版本处理(当前状态):
下的破坏性变更按 minor 处理(0.y.z
)。y+1- 功能新增按风险决定
或y+1
;默认用户可见新增走 minor,低风险修复走 patch。z+1
若破坏性判断不明确,优先检查
Sources/Chroma 与 public 声明 diff 再决策。
3) 生成 changelog notes(AI)
生成与
CHANGELOG.md 现有格式一致的 notes 文件。notes 不得包含版本标题。示例:
### Added - ... ### Changed - ... ### Fixed - ...
根据上次 tag 与 HEAD 的 diff 填充段落,只保留有内容的分组。
4) 应用版本 + changelog,提交、打 tag、发布(脚本化)
用选定版本和 notes 文件执行发布脚本:
./.codex/skills/chroma-release/scripts/release.py \ --version 0.1.1 \ --notes-file /path/to/release-notes.md \ --date 2026-01-04
行为:
- 更新
里的版本常量Sources/Ca/CaCommand.swift - 在
之后插入## [Unreleased]
段落## [X.Y.Z] - YYYY-MM-DD - 提交信息为
Release X.Y.Z - 创建 git tag
X.Y.Z - 使用同一 notes 文件通过
发布 GitHub Releasegh release create
可选参数:
/--skip-commit
/--skip-tag--skip-release
(不建议)--allow-dirty
5) 校验
./.codex/skills/chroma-release/scripts/release_check.py --version 0.1.1 --require-clean --require-tag
资源
scripts/
:收集上次 tag 到 HEAD 的提交与 diff 摘要。collect_changes.py
:应用 changelog 与 CLI 版本,提交、打 tag、发布。release.py
:强校验版本一致性与 tag 是否存在。release_check.py