+# Config
+*.conf
+*.spec
+cookies
+*cookies.txt
+
+# Downloaded
+*.srt
+*.ttml
+*.sbv
+*.vtt
+*.flv
+*.mp4
+*.m4a
+*.m4v
+*.mp3
+*.3gp
+*.webm
+*.wav
+*.ape
+*.mkv
+*.flac
+*.avi
+*.swf
+*.part
+*.part-*
+*.ytdl
+*.dump
+*.frag
+*.frag.urls
+*.aria2
+*.swp
+*.ogg
+*.opus
+*.info.json
+*.live_chat.json
+*.jpg
+*.jpeg
+*.png
+*.webp
+*.annotations.xml
+*.description
+
+# Allow config/media files in testdata
+!test/testdata/**
+
+# Python
*.pyc
*.pyo
-*.class
-*~
-*.DS_Store
+.pytest_cache
wine-py2exe/
py2exe.log
-*.kate-swp
build/
dist/
+zip/
+tmp/
+venv/
+completions/
+
+# Misc
+*~
+*.DS_Store
+*.kate-swp
MANIFEST
-README.txt
-youtube-dl.1
-youtube-dl.bash-completion
-youtube-dl.fish
-youtube-dl
-youtube-dl.exe
-youtube-dl.tar.gz
+test/local_parameters.json
.coverage
cover/
+secrets/
updates_key.pem
*.egg-info
-*.srt
-*.sbv
-*.vtt
-*.flv
-*.mp4
-*.m4a
-*.m4v
-*.part
-*.swp
-test/testdata
.tox
-youtube-dl.zsh
+*.class
+
+# Generated
+AUTHORS
+README.txt
+.mailmap
+*.1
+*.bash-completion
+*.fish
+*.exe
+*.tar.gz
+*.zsh
+*.spec
+test/testdata/player-*.js
+
+# Binary
+/youtube-dl
+/youtube-dlc
+/yt-dlp
+yt-dlp.zip
+*.exe
+
+# Text Editor / IDE
.idea
-.idea/*
+*.iml
+.vscode
+*.sublime-*
+
+# Lazy extractors
+*/extractor/lazy_extractors.py
+
+# Plugins
+ytdlp_plugins/extractor/*
+!ytdlp_plugins/extractor/__init__.py
+!ytdlp_plugins/extractor/sample.py