Skip to content

Release v0.11.0

项目配置与智能 Diff - 团队共享配置与智能 Diff 截断

引入项目级配置支持团队共享规范定义,新增 Commit 规范配置(Conventional/Gitmoji/Custom),以及文件级智能 Diff 截断替代旧的字节级方案。

新增

项目级配置

  • 新增 .gcop/config.toml 用于团队共享的非敏感配置
  • 从工作目录向上查找,以 .git 为边界
  • 与用户级配置合并,项目配置优先级高于用户配置
  • 安全检查:项目配置中包含 api_key 时输出警告
  • 新增 gcop-rs init --project 命令,在仓库根目录创建 .gcop/config.toml

Commit 规范定义

  • 新增 [commit.convention] 配置段,引导 LLM 生成符合规范的 commit message
  • 三种内置风格:conventionaltype(scope): description)、gitmoji:emoji: description)、custom
  • 可选 types 列表限制允许的 commit 类型
  • 可选 templateextra_prompt 实现完全自定义
  • 规范通过 prompt 注入引导 LLM,不做硬校验

智能 Diff 截断

  • 替代旧的字节级一刀切截断,改为文件级智能截断
  • 自动识别生成文件(.lock.min.jspackage-lock.jsonpnpm-lock.yamlgo.sum 等)并降级为仅统计
  • 剩余文件按大小排序,贪心装箱填充 token 预算
  • 所有文件至少保留统计摘要(+N -M lines
  • 新增 FileDiff 结构体和 split_diff_by_file() / smart_truncate_diff() 函数

变更

配置加载优先级更新

  • 新增 5 级优先级(低 → 高):默认值 → 用户配置 → 项目配置 → GCOP__* 环境变量 → CI 模式
  • load_config_from_path() 新增可选的项目配置路径参数

Diff 截断消息优化

  • 旧:「Diff 过大,已截断以避免超出 LLM token 限制」
  • 新:「Diff 过大,部分文件仅显示统计摘要以适应 LLM token 限制」

文档更新

  • init 命令文档:新增 --project 选项说明
  • 配置指南:新增项目级配置章节,含优先级表和安全建议
  • Provider 和安装文档:修正 macOS 路径和 Gemini 相关说明

升级

bash
# Homebrew
brew upgrade gcop-rs

# Cargo
cargo install gcop-rs

# pip
pip install --upgrade gcop-rs