name: dart-contribute description: DART 贡献工作流程 - 分支命名、PRs、代码审查、bug修复的双重PR
<!-- 自动生成的文件 - 请勿手动编辑 -->
<!-- 来源: .claude/skills/dart-contribute/SKILL.md -->
<!-- 同步脚本: scripts/sync_ai_commands.py -->
<!-- 运行 pixi run sync-ai-commands 以更新 -->
DART 贡献工作流程
加载此技能时,为 DART 贡献代码。
完整文档
完整指南: docs/onboarding/contributing.md
代码风格: docs/onboarding/code-style.md
分支命名
feature/<主题>- 新功能fix/<主题>- 错误修复refactor/<主题>- 重构docs/<主题>- 文档
PR 工作流程
# 创建分支
git checkout -b <类型>/<主题> 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
错误修复需要向 两个 分支提交PR:
release-6.16- 当前发布main- 下一个发布
步骤:
- 首先在
release-6.16上修复 - 将修复cherry-pick到
main - 为每个创建单独的PR
变更日志(PR创建后)
创建 PR 后,检查是否需要更新 CHANGELOG.md:
| 更改类型 | 更新 CHANGELOG? |
|---|---|
| 错误修复 | ✅ 是 |
| 新功能 | ✅ 是 |
| 重大更改 | ✅ 是(在重大更改部分) |
| 文档改进 | ✅ 是(在工具和文档部分) |
| CI/工具更改 | ✅ 是(在工具和文档部分) |
| 重构(无行为更改) | ⚠️ 可能(如果显著) |
| 依赖项升级 | ⚠️ 可能(如果是用户面向的) |
| 拼写错误修复 | ❌ 否 |
格式: - 描述. ([#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 <运行ID> --interval 30
修复失败直到绿色。