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 - 三种内置风格:
conventional(type(scope): description)、gitmoji(:emoji: description)、custom - 可选
types列表限制允许的 commit 类型 - 可选
template和extra_prompt实现完全自定义 - 规范通过 prompt 注入引导 LLM,不做硬校验
智能 Diff 截断
- 替代旧的字节级一刀切截断,改为文件级智能截断
- 自动识别生成文件(
.lock、.min.js、package-lock.json、pnpm-lock.yaml、go.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