Version: 2.0
Date: November 12, 2025
GUI Framework: PyQt5 (PyQt6 migration planned)
# Activate virtual environment
.venv\Scripts\activate
# Run the GUI
python launch_gui.pybootstrap.bat- Setup and activate virtual environmentrun_jelly_rancher.bat- Quick launch script
JellyRancher/
├── 📄 launch_gui.py # Main entry point
├── 📄 requirements-jelly-rancher.txt # Python dependencies
├── 📄 pytest.ini # Test configuration
├── 📄 README.md # This file
│
├── 📁 scripts/ # Main application code
│ ├── core/ # Core GUI and backend modules
│ ├── ai/ # AI integration
│ ├── media/ # Media organization logic
│ ├── utils/ # Utility functions
│ └── _common/ # Shared modules
│
├── 📁 docs/ # Documentation
│ ├── WORKFLOW_SPEC.md # 9-point workflow specification
│ ├── ARCHITECTURE.md # Library choices and design
│ ├── SESSION_STARTER.md # IDE AI context template
│ ├── COMMON_PITFALLS.md # Best practices and warnings
│ ├── PYQT6_MIGRATION_PLAN.md # PyQt6 migration guide
│ ├── CLEANUP_GIT_CHROMADB_20251112.md # Recent cleanup report
│ └── USER_GUIDE.md # User guide
│
├── 📁 tools/ # Development utilities
│ ├── analyze_unused_code.py # Code analysis
│ ├── build_*_index.py # Index builders
│ ├── cleanup*.py # Cleanup scripts
│ ├── generate_*.py # Documentation generators
│ └── bootstrap*.py/bat # Setup scripts
│
├── 📁 data/ # Data files and caches
│ ├── *.json # Index and cache files
│ ├── config.json # Configuration
│ └── managed_folders.json # Folder registry
│
├── 📁 reports/ # Analysis and audit reports
│ └── help_*.txt # Help coverage reports
│
├── 📁 archive/ # Archived/legacy code
│ ├── deprecated/ # Old implementations
│ ├── gui_files_*/ # Legacy GUI versions
│ └── documentation_*/ # Old documentation
│
├── 📁 Jellyfin Organizer/ # Legacy standalone version
├── 📁 RavenMaven/ # Legacy RavenMaven tool
├── 📁 logs/ # Application logs
├── 📁 audit-logs/ # Immutable audit trail
├── 📁 temp/ # Temporary files
└── 📁 .venv/ # Virtual environment
- Hierarchical folder scanning and inventory
- TMDB/TVDB metadata lookup
- LLM-powered reorganization proposals
- Color-coded action tables by confidence
- Snapshot & rollback support
- Multi-provider downloads (OpenSubtitles, Subscene, etc.)
- Automatic language detection
- Forced subtitle support
- Coverage gap analysis
- Queue-based processing
- Progress tracking
- Error handling and retry logic
- Media coverage statistics
- Subtitle gap reports
- Operation history
- API credentials (TMDB, TVDB, etc.)
- Media paths configuration
- Provider preferences
- Folder Scanning - Generate master file list
- Hierarchical Overview - Display folder tree with size stats
- LLM Reorganization Proposal - AI-powered organization suggestions
- Metadata Database Building - Fetch from TMDB/TVDB/Wikipedia
- Editable Action Table - Color-coded review interface
- Snapshot & Transaction Log - MD5 verification, rollback support
- Execute Reorganization - Safe file operations with send2trash
- Subtitle Coverage Evaluation - Gap analysis via ffprobe
- Subtitle Acquisition - Multi-provider downloads with rate limiting
See docs/WORKFLOW_SPEC.md for complete implementation details.
- PyQt5 - GUI framework (PyQt6 migration planned)
- tmdbv3api - TMDB API wrapper
- tvdb_v4_official - TVDB API wrapper
- subliminal - Multi-provider subtitle downloader
- ffmpeg-python - Media file analysis
- rapidfuzz - Fuzzy string matching
- tenacity - Exponential backoff
- ratelimit - Rate limiting decorators
- send2trash - Safe file deletion
- anthropic - Claude AI integration
See requirements-jelly-rancher.txt for complete list.
# Create virtual environment
python -m venv .venv
# Activate
.venv\Scripts\activate
# Install dependencies
pip install -r requirements-jelly-rancher.txtpytestpython tools/build_help_index.py
python tools/build_function_index_enhanced.py- ✅ Git removed -
.git/,.github/,.gitignoredeleted - ✅ ChromaDB removed - All semantic search functionality removed (~285MB freed)
- ✅ Memory tab removed - GUI reduced from 7 to 6 tabs
- ✅ Root folder organized - Moved 46 files to
tools/,data/,docs/,reports/,archive/ - ✅ Clean root directory - Only 5 essential files remain in root
See docs/CLEANUP_GIT_CHROMADB_20251112.md for details.
- TMDB API Key - https://www.themoviedb.org/settings/api
- TVDB API Key - https://thetvdb.com/api-information
- Anthropic API Key (optional) - For Claude AI integration
Configure in Settings tab or via credential manager.
Import errors for backend modules:
- These are runtime-resolved from the
scripts/directory - Ensure virtual environment is activated
- Check
sys.pathmodifications in main files
GUI doesn't launch:
- Check Python version (3.12+ required)
- Verify PyQt5 is installed:
pip list | Select-String pyqt5 - Check logs in
logs/directory
API rate limits:
- TMDB: 40 requests per 10 seconds
- TVDB: Check current limits
- Rate limiting is built-in via
tenacity+ratelimit
See docs/COMMON_PITFALLS.md for more troubleshooting tips.
This is a personal project, but suggestions are welcome via issues.
Personal Use Only
Developer: JellyRancher Project
AI Assistance: Claude (Anthropic)
Inspired By: Jellyfin media server ecosystem
For issues or questions:
- Check
docs/directory for detailed guides - Review
docs/COMMON_PITFALLS.mdfor known issues - Check logs in
logs/directory - Review audit trail in
audit-logs/
Last Updated: November 12, 2025
Status: Active Development (PyQt6 migration in progress)