All contributions must have first been discussed within an Issue or Discussion. Pull Requests opened without an accompanying Issue are considered to be unsolicited, and unsolicited Pull Requests may be rejected without review and/or converted into an Issue.
By submitting a contribution to this project, you agree to the following:
- You have the legal right to make this contribution and to assign its copyright.
- You irrevocably assign all copyright and related rights in your contribution to the project maintainer(s).
- You grant the project maintainer(s) the right to use, modify, distribute, and relicense your contribution under any license of their choosing.
This application is currently released under the AGPL 3.0 license.
If you used AI tools (such as ChatGPT, Copilot, Claude, etc.) to assist with your contribution, you must clearly disclose this in your Pull Request, including:
- Which AI tool(s) you used
- How you used them (e.g., code generation, refactoring suggestions, documentation help)
- Which parts of your contribution were AI-assisted
Contributors are expected to fully understand and take responsibility for all code they submit, regardless of how it was produced. Contributions made entirely by AI are not welcome and will be rejected.
- Comment on the Issue you'll be working on so others know you're working on it. You may also ask a maintainer to assign it to you.
- Fork the repository, then clone it and run
git checkout masterto ensure you are on the master branch. - Create a new branch for your change with
git checkout -b <your-branch-name>be descriptive, but terse. - Make your changes. When finished, push your branch with
git push origin --set-upstream <your-branch-name>. - Create a Pull Request in the source repository to merge
<your-branch-name>intomaster. - A maintainer will review your Pull Request and may make comments, ask questions, or request changes. When all feedback has been addressed the Pull Request will be approved, and after all checks have passed it will be merged by a maintainer, or you may merge it yourself if you have the necessary access.
- Delete your branch, unless you plan to submit additional pull request from it.
Note that we require that all branches are up to date with target branch prior to merging. If you see a message about this
on your pull request, use git fetch to retrieve the latest changes, git merge origin/master to merge the changes from master
into your local branch, then git push to update your branch.
You'll need .NET 8.0 to build and run the back end (slskd), and you'll need Nodejs to build and debug the front end (web).
You're free to use whichever development tools you prefer. If you don't yet have a preference, we recommend the following:
Visual Studio Code for front or back end development.
Visual Studio for back end development.
Run ./bin/watch from the root of the repository.
Run ./bin/watch --web from the root of the directory. Make sure the back end is running first.