name: dart-contribute description: DART贡献工作流 - 分支、PR、代码审查、bug修复的双PR
DART贡献工作流
加载此技能当贡献代码到DART时。
完整文档
完整指南:docs/onboarding/contributing.md
代码风格:docs/onboarding/code-style.md
分支命名
feature/<topic>- 新功能fix/<topic>- Bug修复refactor/<topic>- 重构docs/<topic>- 文档
PR工作流
# 创建分支
git checkout -b <type>/<topic> origin/main
# 做出更改,然后
pixi run lint
pixi run test-all
# 推送并创建PR
git push -u origin HEAD
gh pr create --draft --milestone "DART 7.0"
经验法则:在提交之前运行pixi run lint,以便包含自动修复。
使用.github/PULL_REQUEST_TEMPLATE.md并确保PR描述覆盖摘要、动机、更改、测试、破坏性更改和相关问题。
里程碑(必需)
创建PR时始终设置里程碑:
| 目标分支 | 里程碑 |
|---|---|
main |
DART 7.0(或下一个主要版本) |
release-6.16 |
DART 6.16.x(当前补丁) |
# 在现有PR上设置里程碑
gh pr edit <PR#> --milestone "DART 7.0"
# 列出可用里程碑
gh api repos/dartsim/dart/milestones --jq '.[] | .title'
关键:Bug修复双PR
Bug修复需要PR到两个分支:
release-6.16- 当前发布版本main- 下一个发布版本
步骤:
- 首先在
release-6.16上修复 - Cherry-pick到
main - 为每个创建单独的PR
变更日志(创建PR后)
创建PR后,检查是否需要更新CHANGELOG.md:
| 更改类型 | 更新CHANGELOG? |
|---|---|
| Bug修复 | ✅ 是 |
| 新功能 | ✅ 是 |
| 破坏性更改 | ✅ 是(在Breaking Changes部分) |
| 文档改进 | ✅ 是(在Tooling and Docs部分) |
| CI/工具更改 | ✅ 是(在Tooling and Docs部分) |
| 重构(无行为更改) | ⚠️ 可能(如果重要) |
| 依赖项更新 | ⚠️ 可能(如果面向用户) |
| 拼写错误修复 | ❌ 否 |
格式:- 描述。 ([#PR](https://github.com/dartsim/dart/pull/PR))
# 在CHANGELOG.md中适当部分下的示例条目:
- 添加了AI原生文档与AGENTS.md和模块特定指南。 ([#2446](https://github.com/dartsim/dart/pull/2446))
代码审查
- 处理所有反馈
- 保持更改最小化
- 如果行为更改,更新测试
- 推送修复前运行完整验证
CI循环
gh run watch <RUN_ID> --interval 30
修复失败直到通过。