评审流程
概述
本文档概述了LangChain维护者用于审查拉取请求(PRs)的流程。该流程的主要目标是提升LangChain开发者的体验。
审核状态
我们使用三种主要状态对PR进行分类,这些状态在右侧边栏中标记为项目项状态,并可以在此处详细查看。
-
分类:
- Initial status for all newly submitted PRs.
- Requires a maintainer to categorize it into one of the other statuses.
-
需要支持:
- PRs that require community feedback or additional input before moving forward.
- Automatically promoted to the backlog if it receives 5 upvotes.
- An auto-comment is generated when this status is applied, explaining the flow and the upvote requirement.
- If the PR remains in this status for 25 days, it will be marked as “stale” via auto-comment.
- PRs will be auto-closed after 30 days if no further action is taken.
-
审核中:
- PRs that are actively under review by our team.
- These are regularly reviewed and monitored.
注意: 一个PR在同一时间只能有一个状态。
注意: 你可能会注意到3个额外的状态:Done、Closed和Internal,这些状态不在这个生命周期内。Done和Closed的PR分别表示已经合并或关闭。Internal是核心维护者提交的PR,这些PR由提交者拥有。
审查指南
-
涉及 /libs/core 的 PRs:
- PRs that directly impact core code and are likely to affect end users.
- Triage Guideline: most PRs should either go straight to
In Review
or closed. - These PRs are given top priority and are reviewed the fastest.
- PRs that don't have a concise descriptions of their motivation (either in PR summary or in a linked issue) are likely to be closed without an in-depth review. Please do not generate verbose PR descriptions with an LLM.
- PRs that don't have unit tests are likely to be closed.
- Feature requests should first be opened as a GitHub issue and discussed with the LangChain maintainers. Large PRs submitted without prior discussion are likely to be closed.
-
涉及 /libs/langchain 的 PR:
- High-impact PRs that are closely related to core PRs but slightly lower in priority.
- Triage Guideline: most PRs should either go straight to
In Review
or closed. - These are reviewed and closed aggressively, similar to core PRs.
- New feature requests should be discussed with the core maintainer team beforehand in an issue.
-
涉及/libs/partners/的PRs:
- PRs involving integration packages.
- Triage Guideline: most PRs should either go straight to
In Review
or closed. - The review may be conducted by our team or handed off to the partner's development team, depending on the PR's content.
- We maintain communication lines with most partner dev teams to facilitate this process.
-
社区PRs:
- Most community PRs will get an initial status of "needs support".
- Triage Guideline: most PRs should go to
Needs support
. Bugfixes on high-traffic integrations should go straight toIn review
. - Triage Guideline: all new features and integrations should go to
Needs support
and will be closed if they do not get enough support (measured by upvotes or comments). - PRs in the
Needs Support
status for 20 days are marked as “stale” and will be closed after 30 days if no action is taken.
-
文档PRs:
- PRs that touch the documentation content in docs/docs.
- Triage Guideline:
- PRs that fix typos or small errors in a single file and pass CI should go straight to
In Review
. - PRs that make changes that have been discussed and agreed upon in an issue should go straight to
In Review
. - PRs that add new pages or change the structure of the documentation should go to
Needs Support
.
- PRs that fix typos or small errors in a single file and pass CI should go straight to
- We strive to standardize documentation formats to streamline the review process.
- CI jobs run against documentation to ensure adherence to standards, automating much of the review.
-
PRs 必须使用英文:
- PRs that are not in English will be closed without review.
- This is to ensure that all maintainers can review the PRs effectively.
如何查看PR的状态
查看截图:
要查看所有开放PR的状态,请访问LangChain项目看板。
审查优先级
我们的目标是通过专注于开发以下软件,提供最佳的开发体验:
- 功能:按预期工作(无错误)。
- 有用:通过即插即用的组件和简化应用构建的运行时,改进LLM应用开发。
- 易于使用:直观且文档齐全。
我们相信这个过程反映了我们的优先事项,如果您觉得没有,我们欢迎反馈。
Github 讨论
我们欢迎您对此过程的反馈。请随时在此GitHub讨论中添加评论。