DART Contribution Workflow
Load this skill when contributing code to DART.
Full Documentation
For complete guide: docs/onboarding/contributing.md
For code style: docs/onboarding/code-style.md
Branch Naming
feature/<topic>- New featuresfix/<topic>- Bug fixesrefactor/<topic>- Refactoringdocs/<topic>- Documentation
PR Workflow
bash1# Create branch 2git checkout -b <type>/<topic> origin/main 3 4# Make changes, then 5pixi run lint 6pixi run test-all 7 8# Push and create PR 9git push -u origin HEAD 10gh pr create --draft --milestone "DART 7.0"
Rule of thumb: run pixi run lint before committing so auto-fixes are included.
Use .github/PULL_REQUEST_TEMPLATE.md and ensure the PR description covers Summary, Motivation, Changes, Testing, Breaking Changes, and Related Issues.
Milestones (Required)
Always set a milestone when creating PRs:
| Target Branch | Milestone |
|---|---|
main | DART 7.0 (or next major) |
release-6.16 | DART 6.16.x (current patch) |
bash1# Set milestone on existing PR 2gh pr edit <PR#> --milestone "DART 7.0" 3 4# List available milestones 5gh api repos/dartsim/dart/milestones --jq '.[] | .title'
CRITICAL: Bug Fix Dual-PR
Bug fixes require PRs to BOTH branches:
release-6.16- Current releasemain- Next release
Steps:
- Fix on
release-6.16first - Cherry-pick to
main - Create separate PRs for each
CHANGELOG (After PR Created)
After creating a PR, check if CHANGELOG.md needs updating:
| Change Type | Update CHANGELOG? |
|---|---|
| Bug fixes | ✅ Yes |
| New features | ✅ Yes |
| Breaking changes | ✅ Yes (in Breaking Changes section) |
| Documentation improvements | ✅ Yes (in Tooling and Docs) |
| CI/tooling changes | ✅ Yes (in Tooling and Docs) |
| Refactoring (no behavior change) | ⚠️ Maybe (if significant) |
| Dependency bumps | ⚠️ Maybe (if user-facing) |
| Typo fixes | ❌ No |
Format: - Description. ([#PR](https://github.com/dartsim/dart/pull/PR))
bash1# Example entry in CHANGELOG.md under appropriate section: 2- Added AI-native documentation with AGENTS.md and module-specific guides. ([#2446](https://github.com/dartsim/dart/pull/2446))
Code Review
- Address all feedback
- Keep changes minimal
- Update tests if behavior changed
- Run full validation before pushing fixes
CI Loop
bash1gh run watch <RUN_ID> --interval 30
Fix failures until green.