Thank you for taking the time to contribute.
KeyTune is a media player. Contributions should preserve the existing structure: avoid mouse-only flows, prefer small and focused changes over broad refactors, and keep changes aligned with the existing architecture.
- Fork the repository
- Create a feature branch
- Read the README to understand the current scope and project layout
- Use the issue templates for bugs and feature requests, and open Discussions for ideas, questions, and broader feedback
- Create and activate a virtual environment.
- Install dependencies with
pip install -r requirements.txt. - Download the MPV runtime with
python scripts/download_mpv_runtime.pyif you do not already have a compatible libmpv installation. - Run the app with
python src/main.py.
- Keep changes aligned with the existing module boundaries in
src/player/. - Avoid introducing unrelated refactors.
- Keep the Windows release flow compatible with the existing build scripts and workflow.
Use the narrowest validation that fits the change:
python -m compileall srcfor a quick syntax checkpython -m unittest discover -s testswhen changing backend, parsing, or service logic- A focused manual check for UI and behavior changes
Please include:
- A short summary of what changed
- Any validation you ran
- Notes about behavior changes, especially if they affect playback, playlists, or the update flow
If you are unsure where a change belongs, start from the existing module structure described in the README and keep the edit as small as possible.