审核流程
概述
本文档概述了 LangChain 维护者用于审核拉取请求 (PR) 的流程。此流程的主要目标是提升 LangChain 开发者的体验。
审核状态
我们使用三个主要状态对 PR 进行分类,这些状态在右侧边栏中标记为项目状态,并且可以在此处查看详细信息。
-
初步评估:
- 所有新提交的 PR 的初始状态。
- 需要维护者将其分类为其他状态之一。
-
需要支持:
- 在向前推进之前需要社区反馈或其他输入的 PR。
- 如果收到 5 个赞,将自动提升到积压。
- 应用此状态时,会自动生成评论,解释流程和赞的要求。
- 如果 PR 在此状态下保持 25 天,它将通过自动评论标记为“陈旧”。
- 如果 30 天内未采取进一步操作,PR 将自动关闭。
-
审核中:
- 我们的团队正在积极审核的 PR。
- 这些 PR 会定期审查和监控。
注意: 一个 PR 一次只能有一种状态。
注意: 您可能会注意到其他 3 个状态:完成、已关闭和内部,这些状态在此生命周期之外。完成和已关闭的 PR 分别表示已合并或已关闭。内部用于核心维护者提交的 PR,这些 PR 归提交者所有。
审核指南
-
涉及 /libs/core 的 PR:
- 直接影响核心代码并且可能影响最终用户的 PR。
- 初步评估指南:大多数 PR 应直接进入
审核中
或关闭。 - 这些 PR 被赋予最高优先级,并以最快的速度进行审核。
- 没有对其动机进行简洁描述(在 PR 摘要或链接的问题中)的 PR 很可能会在没有深入审核的情况下关闭。请不要使用 LLM 生成冗长的 PR 描述。
- 没有单元测试的 PR 很可能会被关闭。
- 功能请求应首先作为 GitHub 问题打开,并与 LangChain 维护者讨论。未经事先讨论而提交的大型 PR 很可能会被关闭。
-
涉及 /libs/langchain 的 PR:
- 高影响力的 PR,与核心 PR 密切相关,但优先级略低。
- 初步评估指南:大多数 PR 应直接进入
审核中
或关闭。 - 这些 PR 会像核心 PR 一样被积极审核和关闭。
- 新的功能请求应事先在 issue 中与核心维护团队讨论。
-
涉及 /libs/partners/ 的 PR:
- 涉及集成包的 PR。
- 初步评估指南:大多数 PR 应直接进入
审核中
或关闭。 - 审核可能由我们的团队进行,或者根据 PR 的内容移交给合作伙伴的开发团队。
- 我们与大多数合作伙伴开发团队保持沟通渠道,以促进此流程。
-
社区 PR:
- 大多数社区 PR 的初始状态为“需要支持”。
- 初步评估指南:大多数 PR 应转到
需要支持
。高流量集成的错误修复应直接转到审核中
。 - 初步评估指南:所有新功能和集成都应转到
需要支持
,如果它们没有获得足够的支持(通过赞或评论衡量),将被关闭。 - 处于
需要支持
状态 20 天的 PR 将被标记为“陈旧”,如果 30 天内未采取任何操作,将被关闭。
-
文档 PR:
- 涉及 docs/docs 中文档内容的 PR。
- 初步评估指南:
- 修复单个文件中的错别字或小错误并通过 CI 的 PR 应直接转到
审核中
。 - 对已在 issue 中讨论并达成一致的更改进行更改的 PR 应直接转到
审核中
。 - 添加新页面或更改文档结构的 PR 应转到
需要支持
。
- 修复单个文件中的错别字或小错误并通过 CI 的 PR 应直接转到
- 我们努力标准化文档格式,以简化审核流程。
- CI 作业针对文档运行,以确保遵守标准,从而自动化大部分审核工作。
-
PR 必须使用英语:
- 非英语的 PR 将在不经审核的情况下关闭。
- 这是为了确保所有维护者都可以有效地审核 PR。
如何查看 PR 的状态
请参阅屏幕截图
要查看所有打开的 PR 的状态,请访问 LangChain 项目看板。
审核优先级
我们的目标是通过专注于制造以下软件来提供最佳的开发体验:
- 有效:按预期工作(无错误)。
- 有用:通过开箱即用的组件和简化应用程序构建的运行时来改进 LLM 应用程序开发。
- 易用:直观易用且文档齐全。
我们相信此流程反映了我们的优先级,如果您认为它没有反映,我们欢迎您的反馈。
Github 讨论
我们欢迎您对此流程的反馈。请随时在此 GitHub 讨论中添加评论。