tRPC RFCs
October 18, 2023 · View on GitHub
English | 中文
tRPC RFCs
介绍
在开始之前,请先通过官方网站了解 tRPC 项目。
本仓库主要用于记录 tRPC 中重大功能演进的提案。它可以
- 提供 tRPC 即将发生的大功能更新以及未来的规划。
- 记录过大的不适用于 issue 的功能。
- 规范大型功能的开发流程。
- 鼓励基于设计文档的开放式讨论。
提案类型
#An影响所有语言的通用功能。#Ln各个语言相关的改动。#Gn协议层的改动。#Pn该流程本身的改动。
使用 4 个 label 来记录最大 tRPC 编号。为新提案分配编号时,取对应 label 编号,然后将 label 编号加一。
流程
- 提 issue,确定功能的 tRPC 编号。
- 克隆 repo,拷贝模板
TEMPLATE.md,并将它重命名为$Type-$Summary,- 对于特定编程语言的提案,需要在在名字中插入语言名
$Type-$Language-$Summary。
- 对于特定编程语言的提案,需要在在名字中插入语言名
- 提交 MR。MR 的标题中需要带上 tRPC 编号。
- OWNER 完成初版提案后,可以开启 review。
- review 需要邀请尽可能多的人,收集反馈,更新提案。选择合适的讨论方式:
- 如果提案影响广泛(比如,
An类提案),需要在对应的 issue 中开启话题进行讨论,并将讨论链接更新到提案中。 - 如果提案与实现细节相关(比如,Ln 类提案),可以只在 MR 中讨论。
- 如果提案影响广泛(比如,
- 提案通过后,合并 MR。
- 为了保证干净的历史,必须使用 rebase + squash 的方式进行合并。
- commit 信息必须以 tRPC 编号开始。
- 对已经接受的提案的更新需要在 MR 中注明 tRPC 编号。根据修改程度,决定是否需要开启新的讨论。