Release v0.12.0
Workspace 支持 - Monorepo 检测与 Commit Scope 推断
自动检测 6 种 monorepo 类型(Cargo、pnpm、npm、Lerna、Nx、Turbo),将变更文件映射到对应包,并将 scope 建议注入 LLM prompt 以生成更准确的 commit message。零配置即可使用,支持完整的手动覆盖。
新增
Monorepo Workspace 检测
- 新增
src/workspace/模块,检测 Cargo workspace、pnpm-workspace.yaml、npm/yarn workspaces、lerna.json、nx.json 和 turbo.json - 解析 workspace member glob 模式(如
packages/*、crates/**)为匹配前缀 - 检测优先级:Cargo > Pnpm > Npm > Lerna > Nx > Turbo
- 所有检测错误非致命:输出 warning 日志并返回 None
Commit Scope 推断
- 将变更文件映射到 workspace 包
- Scope 规则:1 个包 → 包短名,2-3 个包 → 逗号分隔,4+ 个包 → None(由 LLM 自行判断)
- 在 LLM user prompt 中注入
## Workspace:段,包含 monorepo 类型、受影响包和建议 scope -v模式下显示检测结果,默认静默
Workspace 配置
- 新增
[workspace]配置段,含enabled、members、scope_mappings字段 members:手动指定 workspace 模式,跳过自动检测scope_mappings:将自动推断的包名重映射为自定义 scope 字符串- 默认启用;设置
enabled = false可关闭
测试
workspace_e2e_test.rs中 14 个端到端测试覆盖全部 6 种 workspace 类型- scope 推断、prompt 注入和 glob 转前缀的单元测试
变更
发布流程改进
- 发布改为先创建草稿,所有构建/发布任务完成后再正式发布
- 资产下载使用
gh release download替代curl,提升可靠性
依赖更新
- 新增
toml和serde_yml用于 workspace 配置文件解析
升级
bash
# Homebrew
brew upgrade gcop-rs
# Cargo
cargo install gcop-rs
# pip
pip install --upgrade gcop-rs