贡献
相关源文件
本页面提供了为 AutoGPT 项目贡献的指南和说明。它涵盖了贡献工作流程、代码标准、拉取请求流程以及其他希望帮助改进 AutoGPT 的开发人员的重要信息。
概述
AutoGPT 欢迎社区的各种贡献。无论您是修复错误、添加功能、改进文档还是协助测试,您的贡献对项目的成长和成功都至关重要。
来源: CONTRIBUTING.md1-38
贡献类型
AutoGPT 在代码之外的各个领域都需要帮助
- 代码 - 错误修复、新功能和性能改进
- 文档 - 改进 Wiki、README 和代码注释
- 测试 - 编写测试和手动测试功能
- Bug 报告 - 识别和记录问题
- 设计 - 视觉组件的 UX/UI 改进
- 社区支持 - 在论坛和聊天中帮助其他用户
- 翻译 - 使 AutoGPT 易于使用不同语言
贡献流程
1. 准备工作
贡献之前
- 探索路线图:查看项目路线图以了解当前优先级
- 检查现有问题:通过搜索现有问题来避免重复工作
- 加入 Discord:在开发频道与社区联系
- 设置环境:遵循安装指南设置您的开发环境
2. 开始贡献
对于小型更改
- Fork 存储库
- 为您的更改创建一个新分支
- 进行您的更改
- 提交拉取请求
对于大型贡献
- 首先在开发频道讨论您的想法
- 尽早创建一个草稿 PR,以表明您正在处理该功能
- 在取得进展时更新 PR
来源: CONTRIBUTING.md13-21 .github/PULL_REQUEST_TEMPLATE.md1-39
代码指南
在为 AutoGPT 贡献代码时,请遵循以下指南
-
代码质量:
- 编写清晰、可读、易于维护的代码
- 遵循现有的代码风格和约定
- 添加适当的注释和文档
- 确保正确的错误处理
-
测试:
- 为新功能添加测试
- 在提交 PR 之前确保所有测试都通过
- 在更改功能时更新现有测试
-
提交:
- 编写清晰、简洁的提交消息
- 尽可能使提交专注于单个问题
- 在提交消息中引用相关的问题编号
-
文档:
- 更新新功能或已更改功能的文档
- 为函数和类包含文档字符串
- 为复杂代码段添加注释
来源: CONTRIBUTING.md27-28
拉取请求指南
在提交拉取请求时,请遵循以下指南
-
PR 描述:
- 清楚地解释您更改的目的
- 列出 PR 中进行的所有更改
- 引用任何相关问题
-
测试计划:
- 创建一个详细的测试计划
- 执行所有测试并记录结果
- 对于 UI 更改,请尽可能包含屏幕截图
-
PR清单:
- 确保 PR 模板中的所有项目都已完成
- 对于配置更改,请更新示例文件
- 清楚地记录所有配置更改
-
审查流程:
- 对审阅者的评论保持响应
- 解决所有要求的更改
- 保持 PR 专注于一个问题
来源: .github/PULL_REQUEST_TEMPLATE.md1-39
对autogpt_platform文件夹的贡献受特定的贡献者许可协议 (CLA) 管辖,而对代码库其他部分的贡献则遵循 MIT 许可。
贡献平台文件夹时
- 阅读并理解 CLA
- 通过向此文件夹提交 PR,即表示您同意 CLA 的条款
- 遵循所有标准的贡献指南
来源: CONTRIBUTING.md10-11
如果您希望在贡献 PR 之外更深入地参与项目
- 催化师:阅读关于成为项目“催化师”的 Wiki 页面
- Discord:加入 AutoGPT Discord 服务器,与其他贡献者联系
- 问题:帮助分类问题并协助其他贡献者
- 文档:为改进文档和 Wiki 做贡献
AutoGPT 社区重视协作和团队合作。我们鼓励您
- 加入关于正在进行的工作的讨论
- 与其他人在大型功能上进行协作
- 帮助审查其他贡献者的拉取请求
- 与社区分享您的专业知识
来源: CONTRIBUTING.md30-38
测试您的更改
在提交拉取请求之前,请确保您的更改按预期工作
- 单元测试:运行所有单元测试以验证您的更改不会破坏现有功能
- 集成测试:测试您的更改与其他组件的交互方式
- 手动测试:对面向用户的更改执行手动测试
- 边缘情况:考虑并测试边缘情况和错误条件
前端更改的示例测试计划
- 创建并执行一个至少包含 3 个块的代理
- 从文件上传导入代理并确认执行
- 将代理上传到市场
- 从市场导入代理并确认执行
- 从监视器编辑代理并确认执行
来源: .github/PULL_REQUEST_TEMPLATE.md9-24
配置更改
在进行影响配置的更改时
- 更新
.env.example 以反映新的环境变量
- 根据需要确保更新
docker-compose.yml
- 在您的 PR 中清楚地记录所有配置更改
- 考虑向后兼容性
配置更改的示例
- 更改服务端口
- 添加需要通信的新服务
- 环境变量的更改
- 新的基础设施组件,如数据库
来源: .github/PULL_REQUEST_TEMPLATE.md26-38
获取帮助
如果您遇到困难或对贡献有疑问
- 在 Discord 的开发频道提问
- 查看现有的文档和 Wiki 页面
- 查找类似的问题或 PR,可能可以提供指导
- 联系维护者以澄清项目方向
AutoGPT 社区友好且乐于助人——不要犹豫提问!