# --- Secrets. Never commit; only .env.example is tracked. ---
.env
.env.*
!.env.example

# --- Python ---
__pycache__/
*.py[cod]
*.egg-info/
dist/
build/

# --- Virtualenvs & tooling caches ---
.venv/
venv/
.pytest_cache/
.ruff_cache/
.ty_cache/
.mypy_cache/
.coverage
.coverage.*
htmlcov/
coverage.xml

# --- Pipeline intermediates and output, written beside whatever video you ran on. ---
.shortsmaker/
.vsc/
clips/

# --- Media. Source videos and extracted audio are inputs/scratch, never artefacts.
# The vendored font and model are the exception: they are declared dependencies,
# and the pipeline is not reproducible without them. ---
*.mp4
*.mov
*.mkv
*.webm
*.avi
*.mp3
*.wav
*.m4a
!src/shortsmaker/assets/**
# docs/ holds the README's demo clip — the one place a committed .mp4 is intentional.
!docs/**
# docs/ holds the README's demo assets — the one place a committed .mp4 is intentional.
!docs/**

# --- Editors / OS ---
.idea/
.vscode/
*.swp
.DS_Store
Thumbs.db
