Contributor Getting Started

Set up a fork and create a signed, validated change
View as Markdown

Use this tutorial to prepare a local checkout and create your first contribution. For the policy that determines whether you should open an issue first, see Contribution Flow.

1

Choose a contribution

Browse good first issues, help wanted issues, or the complete issue list.

You can submit typo corrections and other focused fixes directly. Before beginning a feature, broad refactor, or architectural change, follow the issue-first guidance in Contribution Flow.

2

Fork and clone the repository

Fork the Dynamo repository, then clone your fork and add the upstream repository:

$git clone https://github.com/YOUR-USERNAME/dynamo.git
$cd dynamo
$git remote add upstream https://github.com/ai-dynamo/dynamo.git
$git fetch upstream
3

Prepare the development environment

Follow Building from Source for system packages, Rust, Python, and build instructions.

You can also use the repository’s development container for a preconfigured environment.

4

Install pre-commit hooks

Install the hooks once in your checkout:

$uv pip install pre-commit
$pre-commit install

Before committing, run the hooks against the files in your change:

$pre-commit run

Use pre-commit run --all-files when you need to validate the entire repository.

5

Configure DCO sign-off

Configure the name and email that should appear in your commits:

$git config user.name "Your Name"
$git config user.email "you@example.com"

Every commit must include a Developer Certificate of Origin (DCO) sign-off. Add it with -s:

$git commit -s -m "fix(component): describe the change"

For the full requirement and repair instructions, see DCO and Licensing.

6

Verify the commit

Confirm that the latest commit message contains a Signed-off-by trailer:

$git show -s --format='%B' HEAD

The output must end with a line like:

Signed-off-by: Your Name <you@example.com>

Then inspect the change you are about to submit:

$git status
$git diff upstream/main...HEAD
7

Continue to the pull request flow

Follow Contribution Flow to decide whether an issue is required, push your branch, open the pull request, and work through CI and review.