# Python
__pycache__/
*.pyc
*.pyo
*.egg-info/
dist/
build/

# Test/IDE
.pytest_cache/
.mypy_cache/
.ruff_cache/
htmlcov/
.coverage
.trae/
.idea/
.vscode/

# Pipeline outputs (regenerable — never commit large media)
output/
pipeline/
tests/qa/output/

# Project workspaces (generated assets, renders — all regenerable)
projects/

# User music library (personal royalty-free tracks — not part of repo)
music_library/

# Environment
.env
.env.local
*.env

# Internal docs (strategy, handoffs, playbooks — not shipped)
internal/

# Local agent config (user-specific)
.claude/memory/
.claude/settings.local.json

# Agent skills lock (local install tracking)
skills-lock.json

# Generated images (logo drafts — final logo lives in assets/)
logo_*.png
generated_image.png

# Downloaded music files (Pixabay, Freesound — not source code)
pixabay_music_*

# OS
.DS_Store
Thumbs.db

# Node (for remotion-composer/)
node_modules/

# Remotion build output and copied project assets (regenerable at render time)
remotion-composer/out/
remotion-composer/public/*
# But keep demo props (shipped with the project for zero-key demos)
!remotion-composer/public/demo-props/
# Ignore test/scratch compositions in demo-props (keep only curated demos)
remotion-composer/public/demo-props/test-*
remotion-composer/public/demo-props/talking-head-*
remotion-composer/public/demo-props/caption-burn-*
