Thank you for wanting to contribute to this project. The below provides guidance how you can propose new features, raise bugs, or contribute with code.
To raise a new feature request, please go through the following steps:
- Check in the open and closed issues if this feature has already been requested before creating a new one
- Open only feature requests that are within scope of decluttarr: clear up the download pipeline; managing complete torrents is not in scope
- Add [Feature request] at the beginning of the issue title
- Add a short description of what you would like to have
- Be willing to provide more details if asked for them and help testing the feature
Bugs in this application are scarce. If there are any, they're most likely features ;-) Please go follow these steps to submit a bug:
- Check if this bug has previously been reported
- Add [Bug] at the beginning of the issue title
- Describe the problem (what is it you experience and what is it that you would have expected to see)
- Create meaningful logs by:
- Switch decluttarr to debug mode (setting LOG_LEVEL: DEBUG)
- Turn off all remove functions but one where you expect a removal (example: REMOVE_STALLED: True and the rest on False)
- Let it run until the supposed remove should be trigged
- Paste the full logs to a pastebin
- Share your settings (docker-compose or config.conf)
- Optional: If helpful, share screenshots showing the problem (from your arr-app or qbit)
- Be responsive and provide more details if asked for them, and help testing the bug fix
Code contributions are very welcome - thanks for helping improve this app!
- Always branch out from the "dev" branch, not from the "main" branch
- Test your code locally
- Only commit code that you have written yourself and is not owned by anybody else
- Create a PR against the "dev" branch
- Be responsive to code review
- Once the code is reviewed and OK, it will be merged to dev branch, which will create the "dev"-docker image
- Help testing that the dev image works 7= Finally, we will then commit the change to the main branch, which will create the "latest"-docker image
You do not need to know about how to create docker images to contribute here. To get started:
- Create a fork of decluttarr
- Clone the git repository from the dev branch to your local machine
git clone -b dev https://github.com/yourName/decluttarr
- Create a virtual python environment (
python3 -m venv venv
) - Activate the virtual environment (
source venv/bin/activate
) - Install python libraries (
pip install -r docker/requirements.txt
) - Adjust the config/config.conf to your needs
- Adjust the code in the files as needed
- Run the script (
python3 main.py
) - Push your changes to your own git repo and use a descriptive name for the branch name (e.g. add-feature-to-xyz; bugfix-xyz)
- Test the dev-image it creates automatically
- Create the PR from your repo to ManiMatter/decluttarr (dev branch)
- Make sure all checks pass
- Squash your commits
- Test that the docker image works that was created when you pushed to your fork