---
slug: contributing/overview
title: 🛠️ Contributing to FastVideo
---

<a id="contributing-to-fastvideo"></a>

Thank you for your interest in contributing to FastVideo. We want the process
to be smooth and beginner‑friendly, whether you are adding a new pipeline,
improving performance, or fixing a bug.

## Quick prerequisites {#quick-prerequisites}

- **OS**: Linux is the primary development target (WSL can work).
- **GPU**: NVIDIA GPU recommended for inference and training workflows.
- **CUDA**: Use a recent CUDA 12.x toolchain (see the installation guide for
  the current recommendation).

For a full install checklist, see `docs/getting_started/installation/gpu.md`.

## Local development (UV + editable install) {#local-development-uv-editable-install}

If you previously used Conda for local setup, switch to uv for a faster and more stable development environment.

Install `uv`:

```bash
curl -LsSf https://astral.sh/uv/install.sh | sh
# or
wget -qO- https://astral.sh/uv/install.sh | sh
```

Create and activate a uv environment (recommended):

```bash
uv venv --python 3.12 --seed
source .venv/bin/activate
```

Conda alternative (supported):

```bash
conda create -n fastvideo python=3.12 -y
conda activate fastvideo
```

Clone the repo:

```bash
git clone https://github.com/hao-ai-lab/FastVideo.git && cd FastVideo
```

Install FastVideo in editable mode and set up hooks:

```bash
UV_TORCH_BACKEND=cu126 uv pip install -e ".[dev]"  # use cu130 on CUDA 13

# Optional: FlashAttention (builds native kernels)
uv pip install flash-attn --no-build-isolation -v

# Linting, formatting, static typing
pre-commit install --hook-type pre-commit --hook-type commit-msg
pre-commit run --all-files

# Unit tests
pytest tests/
```

If you are on a Hopper GPU, installing FlashAttention 3 can improve
performance (see `docs/inference/optimizations.md`).

## Docker development (optional) {#docker-development-optional}

If you prefer a containerized environment, use the dev image documented in
`docs/contributing/developer_env/docker.md`.

## Testing {#testing}

See the [Testing Guide](/FastVideo/contributing/testing) for how to add and run tests in FastVideo.

## Cookbook configuration metadata {#cookbook-configuration-metadata}

See [Extending cookbook configuration metadata](/FastVideo/contributing/cookbook_configuration) for
where to declare model options, ranges and defaults, and how they reach the UI.

## Attention backend development {#attention-backend-development}

If you are adding a new attention kernel or backend, follow
[Attention Backend Development](/FastVideo/contributing/attention_backend).

## Contributing with coding agents {#contributing-with-coding-agents}

For a step‑by‑step workflow on adding pipelines or components with coding
agents, see `docs/contributing/coding_agents.md`.

