Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
## 变更

<!-- 这个 PR 解决什么问题;为什么现在做。 -->

## 自查

- [ ] README / 用法 / 示例与代码一致;链接、版本、CHANGELOG 已同步
- [ ] 注释只写为什么、约束、反直觉处,没有复述代码
- [ ] 没有新增第二份正文、重复入口或第二套默认值
- [ ] 协议 / 导出 / 序列化变更已有测试与影响说明
- [ ] 没有引入领域包依赖或 UI / IO 逻辑
- [ ] 已跑 `pnpm check`、`pnpm test`、`pnpm typecheck`、`npm pack --dry-run`

## 审核重点

- 架构 / 边界 / 取舍:
- 风险 / 未覆盖:
23 changes: 19 additions & 4 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,14 @@

> 给贡献者与 AI 的最短协作规则。协议与用法见 [README](./README.md)。

## 工作流
## Git 流程

1. 从 `main` 切 `feat/<主题>` / `fix/<主题>`。
2. 完成后 `git rebase main` 再合并;主分支不保留中间提交。
3. 一次提交一件事,提交信息用 `type(scope): subject`。
1. 从 `main` 切 `feat/<主题>` / `fix/<主题>` / `docs-<主题>`。
2. 开发完成后 `git rebase main`;一次提交一件事,提交信息用 `type(scope): subject`。
3. push 分支并开 PR;CI 必须通过,评论必须解决。
4. 用 rebase / squash 合并,删除分支;`main` 不保留中间提交。
5. 不直接 push `main`,不 force push、不删除 `main`;`main` 受保护,管理员也一样。
6. 发布按包版本打 tag,由 CI 执行;tag 规则见仓库保护设置。

## 改动规则

Expand All @@ -15,6 +18,18 @@
- 协议字段变更会影响所有领域包:先改 studio,再发依赖包。
- 改导出或序列化必须有「同输入逐字节相同」测试。

## Review

提交 PR 前自查五件事:

- **文档**:README / 用法 / 示例是否仍准确;链接、版本、CHANGELOG 是否同步。
- **注释**:只写为什么、约束、反直觉处;不复述代码。
- **冗余**:同一事实只有一份正文;新增说明先改真源,其他位置只留指针。
- **缺漏**:新增能力是否有入口、示例与验证命令。
- **漂移**:`package.json` / README / `CHANGELOG` / VERSION(及适用的 AI 文档)版本是否一致。

机械检查交给 CI;人审看架构、边界、语义与取舍。

## 验证

```bash
Expand Down
Loading