名称: 发布
描述: 执行 Kimi Code CLI 包的发布工作流。
类型: 流程
understand: |md
通过阅读 AGENTS.md 和 .github/workflows/release*.yml 来理解发布自动化。
|
check_changes: |md
检查 packages/、sdks/ 和仓库根目录下的每个包自上次发布(按标签)以来的变化。注意 packages/kimi-code 是一个薄包装层,必须与 kimi-cli 保持版本同步。
|
has_changes: "有任何包变化吗?"
confirm_versions: |md
对于每个变化的包,与用户确认新版本。遵循项目版本策略:补丁版本始终为 0,任何变化都增加次版本,主版本仅通过显式手动决策更改。
|
update_files: |md
更新相关的 pyproject.toml(以及如果根版本变化,更新 rust/Cargo.toml)、CHANGELOG.md(保持未发布头)、和两种语言的 breaking-changes.md。
|
root_change: "根包版本是否变化?"
sync_kimi_code: |md
同步 packages/kimi-code/pyproject.toml 版本和依赖 `kimi-cli==<version>`。
|
sync_kagent: |md
同步 rust/Cargo.toml 工作区版本以匹配根包版本。
|
uv_sync: "运行 uv sync。"
gen_docs: |md
遵循 gen-docs 技能说明以确保文档是最新的。
|
new_branch: |md
创建一个新分支 `bump-<package>-<new-version>`(多个包可以共享一个分支;适当命名)。
|
open_pr: |md
提交所有更改,推送到远程,并用 gh 打开一个 PR 描述更新。
|
monitor_pr: "监控 PR 直到它被合并。"
post_merge: |md
合并后,切换到主分支,拉取最新更改,并告诉用户需要的 git 标签命令用于最终发布标签(他们将标签 + 推送标签)。注意:一个数字标签同时发布 kimi-cli、kimi-code 和 kagent。
|
BEGIN -> understand -> check_changes -> has_changes
has_changes -> END: 否
has_changes -> confirm_versions: 是
confirm_versions -> update_files -> root_change
root_change -> sync_kimi_code: 是
root_change -> uv_sync: 否
sync_kimi_code -> sync_kagent
sync_kagent -> uv_sync
uv_sync -> gen_docs -> new_branch -> open_pr -> monitor_pr -> post_merge -> END