> For clean Markdown content of this page, append .md to this URL. For the complete documentation index, see https://docs.nvidia.com/dynamo/llms.txt. For full content including API reference and SDK examples, see https://docs.nvidia.com/dynamo/llms-full.txt.

# Contributor Getting Started

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](/dynamo/dev/contributing/contribution-flow).

#### Choose a contribution

Browse [good first issues](https://github.com/ai-dynamo/dynamo/labels/good-first-issue),
[help wanted issues](https://github.com/ai-dynamo/dynamo/labels/help-wanted), or the complete
[issue list](https://github.com/ai-dynamo/dynamo/issues).

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](/dynamo/dev/contributing/contribution-flow#decide-whether-to-open-an-issue).

#### Fork and clone the repository

[Fork the Dynamo repository](https://github.com/ai-dynamo/dynamo/fork), then clone your fork and
add the upstream repository:

```bash
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
```

#### Prepare the development environment

Follow [Building from Source](/dynamo/dev/advanced-customizations/building-from-source) for system packages,
Rust, Python, and build instructions.

You can also use the repository's
[development container](https://github.com/ai-dynamo/dynamo/tree/main/.devcontainer) for a
preconfigured environment.

#### Install pre-commit hooks

Install the hooks once in your checkout:

```bash
uv pip install pre-commit
pre-commit install
```

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

```bash
pre-commit run
```

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

#### Configure DCO sign-off

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

```bash
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`:

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

For the full requirement and repair instructions, see
[DCO and Licensing](/dynamo/dev/contributing/dco-and-licensing).

#### Verify the commit

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

```bash
git show -s --format='%B' HEAD
```

The output must end with a line like:

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

Then inspect the change you are about to submit:

```bash
git status
git diff upstream/main...HEAD
```

#### Continue to the pull request flow

Follow [Contribution Flow](/dynamo/dev/contributing/contribution-flow) to decide whether an issue is required, push
your branch, open the pull request, and work through CI and review.