# ---------------------------------------------------------------------------
# porter-workflow
# ---------------------------------------------------------------------------

# Python
__pycache__/
*.py[cod]
*$py.class
*.so
.Python
build/
dist/
*.egg-info/
.eggs/
wheels/
sdist/
MANIFEST

# Virtualenvs / tooling caches
.venv/
venv/
ENV/
.pytest_cache/
.mypy_cache/
.ruff_cache/
.coverage
.coverage.*
coverage.xml
htmlcov/
.tox/
.hypothesis/

# ---------------------------------------------------------------------------
# Secrets & local configuration  (NEVER commit)
# ---------------------------------------------------------------------------
config.json
porter.json
porter_config.json
.env
.env.*
!.env.example
*.cookies
*.cookie
cookies.txt

# ---------------------------------------------------------------------------
# Pipeline media output & scratch
# ---------------------------------------------------------------------------
porter_output/
output/
downloads/
*.mp4
*.mkv
*.webm
*.mov
*.flv
*.wav
*.mp3
*.flac
*.aac
*.m4a
*.jpg
*.jpeg
*.png
*.webp
*.part
*.ytdl
*.ass
*.srt
*.vtt
.tmp/
tmp/
*.tmp

# ---------------------------------------------------------------------------
# Local-only working area  (kept on disk, never published)
# ---------------------------------------------------------------------------
docs/

# Skill assets are the one place media is source, not output: a subtitle sample
# must be committable. Pipeline output dropped anywhere else is still ignored by
# the rules above.
!skills/**/*.png
!skills/**/*.jpg
!skills/**/*.jpeg
!skills/**/*.webp
!skills/**/*.gif
!skills/**/*.svg
!skills/**/*.srt
!skills/**/*.ass

# ---------------------------------------------------------------------------
# Agent / editor / OS
# ---------------------------------------------------------------------------
.pi/**
.memory/
.cache/
.idea/
.vscode/
*.swp
*.swo
*~
.DS_Store
Thumbs.db
desktop.ini

# Pi session exports & local scratch
pi-session-*.html
*.session.html
scratch/
