getting-started.mdx
September 1, 2026 ยท View on GitHub
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.
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](contribution-flow.mdx#decide-whether-to-open-an-issue).
```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
```
You can also use the repository's
[development container](https://github.com/ai-dynamo/dynamo/tree/main/.devcontainer) for a
preconfigured environment.
```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.
```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 automatic trusted-CI approval of a fork pull request, configure
[GitHub-supported commit signing](https://docs.github.com/en/authentication/managing-commit-signature-verification/signing-commits)
too. GitHub must show every commit in the pull request as `Verified`; `git commit -s` adds a
DCO sign-off but does not add a cryptographic signature. Signing does not itself qualify a
pull request for automatic approval. A maintainer can instead review the current head and
comment `/ok to test <sha>` to start CI.
For the full requirement and repair instructions, see
[DCO and Licensing](dco-and-licensing.md).
```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
```