本文档介绍了向 AutoGPT 仓库贡献代码的拉取请求(PR)流程。它涵盖了 PR 从初始准备到最终合并的整个生命周期。有关通用贡献指南,请参阅 贡献指南。
下图展示了 AutoGPT 项目中拉取请求的典型生命周期
在提交拉取请求之前,请务必遵循以下准备步骤
避免重复工作:检查现有的 issue 和 PR,确保您没有重复劳动
协作处理大型更改:对于重要的功能或更改,建议
遵循代码指南:确保您的代码遵循项目的风格和质量标准
创建拉取请求时,您需要使用项目的 PR 模板,其中包含几个部分
清楚地解释您正在进行的更改以及为什么需要这些更改。模板会提示您
PR 模板包含一个清单,该清单根据更改的类型而有所不同
.env.exampledocker-compose.yml来源:.github/PULL_REQUEST_TEMPLATE.md1-38
测试计划是 PR 流程的关键部分。模板包含一个示例测试计划,可能包括以下任务
您应该根据 PR 引入的具体更改来定制您的测试计划。
来源:.github/PULL_REQUEST_TEMPLATE.md8-24
AutoGPT 使用自动化标签系统根据 PR 修改的文件对其进行分类。这有助于维护者识别代码库的哪些部分受到影响。
标签系统应用诸如以下之类的标签
| 标签 | 更改包含时应用 |
|---|---|
| Classic AutoGPT Agent | classic/original_autogpt/ 中的文件 |
| Classic Benchmark | classic/benchmark/ 中的文件 |
| Classic Frontend | classic/frontend/ 中的文件 |
| Forge | classic/forge/ 中的文件 |
| documentation | docs/ 中的文件 |
| platform/frontend | autogpt_platform/frontend/ 中的文件 |
| platform/backend | autogpt_platform/backend/ 中的文件(不包括模块) |
| platform/blocks | autogpt_platform/backend/backend/blocks/ 中的文件 |
为确保您的 PR 顺利处理
对于修改 autogpt_platform 文件夹的 PR,请注意,贡献将遵循项目的贡献者许可协议,而不是适用于其他文件夹的 MIT 许可证。
下图说明了 PR 流程如何与 AutoGPT 项目的开发工作流集成
来源:CONTRIBUTING.md14-24 .github/PULL_REQUEST_TEMPLATE.md1-38
在审阅 PR 时,维护者会考虑几个因素
PR 模板有助于确保在开始审阅过程之前满足这些标准。
来源:CONTRIBUTING.md14-28 .github/PULL_REQUEST_TEMPLATE.md7-15
AutoGPT 项目的不同组件可能有特定的 PR 要求
autogpt_platform 文件夹的贡献需要同意贡献者许可协议自动化标签系统有助于根据受影响的组件将 PR 路由给相应的维护者。
来源:CONTRIBUTING.md10-11 .github/labeler.yml1-33
遵循本文档概述的 PR 流程将有助于确保您的 AutoGPT 贡献得到高效处理并顺利集成到项目中。请记住,通过开发渠道与社区互动,并创建专注、经过充分测试且更改文档清晰的拉取请求。