Thanks for your interest in improving Multimedia Downloader! The default branch
is Source_Code; every merged pull request automatically increments the patch
version, creates a vX.Y.Z tag, and starts the release build.
See Project layout in the README. In short:
engine/ (Python: yt-dlp + ffmpeg), engine_sidecar.py (stdio IPC),
web_app.py (Flask + SSE web backend), ai/ (OpenRouter orchestration),
frontend/ (Svelte + TS + Tailwind), src-tauri/ (Rust shell), locales/
(i18n JSON), tests/.
git clone https://github.com/SpaceSquare640/Multimedia_Downloader.git
cd Multimedia_Downloader
npm install # Tauri CLI + frontend toolchain (needs Node, Rust, Python 3.8+)
npm run tauri dev # desktop app in dev mode
# or the web version:
pip install -r requirements-web.txt
npm run build:frontend:web && npm run web- Tests:
python -m unittest discover -s tests(all should pass). - Frontend types:
npm run check(svelte-check, 0 errors/warnings). - i18n: if you add user-facing strings, add the key to all three
locales/*.jsonfiles. - Changelog: note user-facing changes under the Unreleased section in
CHANGELOG.md. New entries are written in English. - Release: the
Unreleasednotes are promoted automatically when your PR merges intoSource_Code; no manual version bump or tag is needed. - Dependency updates: Dependabot groups minor and patch updates by
ecosystem. Dependabot PRs merge automatically after the complete CI workflow
passes; major updates remain separate PRs. PRs that change files under
.github/workflows/require manual merging. - Keep changes focused and match the surrounding code style.
Open a PR against Source_Code with a clear description of what and why. Small,
reviewable PRs are easier to merge. See the PR template for the checklist.
Use the issue templates. For security issues, see SECURITY.md.