:github_url: https://github.com/SunshineStream/Sunshine/tree/nightly/docs/source/contributing/contributing.rst

Contributing
============

.. Tip:: If this is your first time contributing to an open source project, it is a good idea to read
   MDN's `Basic etiquette for open source projects`_ first. There are a few best practices to adopt that will help
   ensure that you and the other project contributors feel valued and safe, and stay productive.

#. Fork the repo on GitHub
#. Create a new branch for the feature you are adding or the issue you are fixing

   .. Tip:: Base the new branch off the `nightly` branch. It will make your life easier when you submit the PR!

#. Make changes, push commits, etc.
#. Files should contain an empty line at the end.
#. Document your code!
#. Test your code!
#. When ready create a PR to this repo on the `nightly` branch.

   .. Hint:: If you accidentally make your PR against a different branch, a bot will comment letting you know it's on
      the wrong branch. Don't worry. You can edit the PR to change the target branch. There is no reason to close the
      PR!

   .. Note:: Draft PRs are also welcome as you work through issues. The benefit of creating a draft PR is that an
      automated build can run in a github runner.

   .. Attention:: Do not expect partially complete PRs to be merged. These topics will be considered before merging.

      - Does the code follows the style guidelines of this project?

         .. Tip:: Look at examples of existing code in the project!

      - Is the code well commented?
      - Were documentation blocks updated for new or modified components?

   .. Note:: Developers and maintainers will attempt to assist with challenging issues.

.. _Basic etiquette for open source projects: https://developer.mozilla.org/en-US/docs/MDN/Contribute/Open_source_etiquette
