tRPC RFCs

October 18, 2023 · View on GitHub

English | 中文

tRPC RFCs

介绍

在开始之前,请先通过官方网站了解 tRPC 项目。

本仓库主要用于记录 tRPC 中重大功能演进的提案。它可以

  • 提供 tRPC 即将发生的大功能更新以及未来的规划。
  • 记录过大的不适用于 issue 的功能。
  • 规范大型功能的开发流程。
  • 鼓励基于设计文档的开放式讨论。

提案类型

  • #An 影响所有语言的通用功能。
  • #Ln 各个语言相关的改动。
  • #Gn 协议层的改动。
  • #Pn 该流程本身的改动。

使用 4 个 label 来记录最大 tRPC 编号。为新提案分配编号时,取对应 label 编号,然后将 label 编号加一。

流程

  1. 提 issue,确定功能的 tRPC 编号。
  2. 克隆 repo,拷贝模板 TEMPLATE.md,并将它重命名为 $Type-$Summary,
    • 对于特定编程语言的提案,需要在在名字中插入语言名 $Type-$Language-$Summary。
  3. 提交 MR。MR 的标题中需要带上 tRPC 编号。
  4. OWNER 完成初版提案后,可以开启 review。
  5. review 需要邀请尽可能多的人,收集反馈,更新提案。选择合适的讨论方式:
    • 如果提案影响广泛(比如,An 类提案),需要在对应的 issue 中开启话题进行讨论,并将讨论链接更新到提案中。
    • 如果提案与实现细节相关(比如,Ln 类提案),可以只在 MR 中讨论。
  6. 提案通过后,合并 MR。
    • 为了保证干净的历史,必须使用 rebase + squash 的方式进行合并。
    • commit 信息必须以 tRPC 编号开始。
  7. 对已经接受的提案的更新需要在 MR 中注明 tRPC 编号。根据修改程度,决定是否需要开启新的讨论。