通用指南
无论何种类型的贡献,请牢记以下几点:
- 遵循 "fork and pull request" 工作流程。
- 在提交拉取请求时,请填写已提交的拉取请求模板。注意相关的 issue,并标记相关的维护者。
- 在请求审查之前,请确保您的 PR 通过了格式、代码检查和测试检查。
- 向后兼容是关键。您的更改不应造成破坏性更改,除非是临时的错误和安全修复。
- 在提交新的 PR 或 issue 之前,请查找是否已有重复的 PR 或 issue。
- 保持更改的范围尽可能独立。通常情况下,您的更改一次不应影响多个包。
Bug修复
我们鼓励并感谢 Bug 修复。我们要求您:
- 详细说明 Bug,以便维护者能够重现该 Bug。
- 如果有相关的 issue,请链接到它。添加
Fixes前缀,这样当 PR 合并时,相关的 issue 将会自动关闭。
- 如果有相关的 issue,请链接到它。添加
- 尽可能避免破坏性更改。
- (如果适用)包含在没有 Bug 修复的情况下会失败的单元测试。
如果您遇到一个 Bug 但不知道如何修复,我们要求您提交一个 issue,详细描述您遇到 Bug 的环境。
新功能
我们旨在为新功能设定高标准。我们通常不接受来自外部贡献者提出的新的核心抽象、基础设施更改、依赖项更改或新的 agents/chains,除非有现有的 GitHub 讨论或 issue 表明其迫切需求。
- 新功能必须附带文档、单元测试,以及(如果适用)集成测试。
- 新集成必须附带文档、单元测试,以及(如果适用)集成测试。
- 有关贡献新集成的更多详细信息,请参阅此页面。
- 新功能不应继承或使用已弃用的方法或类。
- 我们将拒绝可能导致安全漏洞或报告的功能。
- 不要添加任何硬性依赖项。集成可以添加可选依赖项。