main,并提供足够证据,便于维护者审查行为、兼容性和用户影响。
编码前
- 搜索已有问题单和 PR,确认是否存在重叠工作。
- 阅读架构概览,找到行为归属组件。
- 检查当前实现、配置结构、相邻组件和公开文档。
- 适用时,根据官方代码仓库、API、论文或 provider 文档建立上游契约。
- 广泛契约变更或维护成本较高的集成,应先创建问题单或设计讨论。
派生与克隆
遵循 GitHub 的参与项目贡献流程:origin 应指向你的派生,upstream 应指向 open-compass/AgentCompass。
创建聚焦分支
从最新上游分支开始:围绕归属契约开发
实现期间:- 把行为放在拥有它的组件中。
- 应用推断默认值前保留用户显式设置。
- 通过组件配置契约添加公共参数。
- 确定性规划代码中不能调用 provider 或 model。
- 保留错误类别,并在所有退出路径清理资源。
- 来源变更影响用户时同步更新文档。
- 绝不能提交凭证、私有端点、数据集、容器层或完整结果目录。
编写原子提交
提交信息主题行和 PR 标题使用相同的变更类型前缀:
提交信息主题行应简洁并使用祈使语气。避免
update code、fix issue 或把多个无关变更写进一个摘要。推荐使用如下原子提交历史:
验证变更
先运行覆盖修改契约的最小检查,再扩展到代表性端到端行为。在 PR 中记录准确命令和重要结果。 Python 格式和检查使用代码仓库当前 pre-commit 配置:mint dev 预览。
文档与实现同步
变更影响公共选项、SDK 接口、组件 ID、参数、默认值、兼容性、安装、依赖、结果格式或推荐命令时,应在同一 PR 中更新文档。- 安装和首次运行行为放在快速开始。
- 配置、操作和故障排查放在用户指南。
- 架构、实现契约、扩展规则和验证标准放在开发者指南。
- 除非维护者明确同意分阶段本地化,否则中英文页面保持相同相对路径。
- 在
docs/docs.json中添加或删除页面,使用各语言版本相对于站点根目录的链接,并验证生成的命令。
变基与推送
创建或更新 PR 前:创建易于审查的 PR
PR 应说明:- 问题,以及它为什么属于 AgentCompass。
- 归属组件和重要设计决定。
- 变更前后的用户可见行为和兼容性。
- 准确且脱敏的冒烟测试或复现命令。
- 验证结果和相关得分或产物证据。
- 与实现同步更新的文档。
- 本次范围明确不包含的工作。
堆叠基础与集成变更
一项贡献依赖可复用基础设施时:- 从
upstream/main创建基础分支。 - 在基础分支上创建集成分支,用于本地组合测试。
- 先提交基础 PR。
- 合并后,把集成分支变基到更新后的
upstream/main。 - 检查提交范围并重新运行受影响验证,再通过
--force-with-lease推送。
