Development

Set up the project and run its complete local validation before submitting a change:

uv sync --group dev
uv run ruff check .
uv run mypy src/rot
uv run pytest
uv build
uv run twine check dist/*

Use uv run rot doctor to verify the media stack. Unit tests cover timeline and filter logic; small integration tests generate synthetic media during the test run instead of storing binary fixtures in the repository.