diff --git a/contributing.md b/contributing.md new file mode 100644 index 00000000..91cf80ee --- /dev/null +++ b/contributing.md @@ -0,0 +1,56 @@ +# Contributing File + +# Welcome to pyQuARC! +This page is meant to help you learn how you can contribute to pyQuARC! We are passionate about NASA's Open Science initiative and are open to a variety of contributions. Read below to find ways that you can contribute to our project, either through reporting bugs, suggesting new features, or even directly editing the code yourself. + +## How you can contribute to pyQuARC: + +1. **Report a Bug:** for when you find something within the code that does not respond the way you expected/wanted it to. + * To start you will need to proceed to the [**Issues** tab](https://github.com/NASA-IMPACT/pyQuARC/issues) within the pyQuARC Github page. + * From here, look for the green button on the right side of the page labeled **New issue**. + * Select **Bug Report** from the list that appears, so that you can create a report to help us improve an aspect of pyQuARC. + * The page you are directed to will provide a prompt to add a title and explain how to fill in the bug you want to report. + * If you change your mind about reporting a bug, there is a white button on the bottom right of the page labeled **Cancel** where you can either decide to keep editing or close and discard your issue. + * Beneath the description box, select "Issue Type" and "Bug". + * When you are finished describing the bug you wish to report, you can click the big green button at the bottom of the page labeled **Create**. This will make your Issue visible to all pyQuARC contributors, and pyQuARC developers will automatically be assigned to the Issue and notified. + * You can see your new issue if you return to the **Issues** page of the pyQuARC GitHub and look for your title followed by the red __bug__ tag. + +2. **Suggest a New Feature:** for when you think of something that could enhance pyQuARC for other users. + * Suggesting a new feature is very similar to reporting a bug. You will start at the [**Issues** tab](https://github.com/NASA-IMPACT/pyQuARC/issues) within the pyQuARC Github page. + * Select the green **New Issue** button found on the top right side of the page. + * From the menu that appears, select **Feature Request** so that you can suggest an idea for our project. + * The page you are directed to will provide a prompt to add a title and explain how to make a new suggestion. + * If you change your mind about making a feature request, there is a white button on the bottom right of the page labeled **Cancel** where you can either decide to keep editing or close and discard your issue. + * Beneath the description box, select "Issue Type" and "Feature". + * When you are finished describing your suggestion, you can click the big green button at the bottom of the page labeled **Create**. This will make your Issue visible to all pyQuARC contributors. + * You can see your new issue if you return to the **Issues** page of the pyQuARC GitHub and look for your title followed by the green __new check__ tag. + +3. **Directly Contribute to PyQuARC Content:** for when you want to directly edit the code to add checks or new features. + * Fork the repository + * To edit the code, you will need to first create your own 'fork' of the repository. A fork is a new repository that shares code and visibility settings with the original repository and allows you to create your edits. Read more about Forks [here](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/fork-a-repo). + * To create your fork of pyQuARC, return to the [**Code**](https://github.com/NASA-IMPACT/pyQuARC) tab of the pyQuARC GitHub. + * On the top right of the page, select the **Fork** tab. + * Under the "Owner" dropdown menu, select yourself as the owner of the new forked repository. + * The fork name will default to 'pyQuARC'. If you wish to name your fork something different, edit the 'Repository Name' field. + * You can set an optional description in the 'Description' field below. + * Make sure the checkbox next to 'Copy the master branch only' is selected. + * Click **Create fork** when you are finished to create your fork! + * After completing the steps above, you should be on a new page titled the same as your new fork, with "forked from NASA-IMPACT/pyQuARC" beneath the title. You have successfully created a fork of pyQuARC! + * Clone your fork locally + * Now we will store the files locally on your computer so you will be able to edit the code. Click the green dropdown button labeled **<> Code**. + * Under the **HTTPS** tab, copy the link to the repository. + * Open a Python terminal in your preferred coding location. + * Change your working directory to wherever you want your cloned pyQuARC repository to be stored. + * Type '__git clone__' and then paste the URL you copied a few steps above. + * Press **Enter** and your local clone of pyQuARC will be created! You can now explore all of the files on your local computer. + * Create a new branch and make your desired changes. + * Create a PR + * Once your changes are made, push your commits. + * You can then open a Pull Request (PR) on the [**Pull requests** tab](https://github.com/NASA-IMPACT/pyQuARC/pulls) within the pyQuARC Github page. + * Set the base repository to "NASA-IMPACT/pyQuARC" and the base to "dev". + * Fill out a title and description, then submit! + * Feedback may be provided on your PR. Once it is approved, a pyQuARC team member will merge your changes. + +## Thank you for your interest in pyQuARC! +We appreciate your interest in pyQuARC! Everyone is encouraged to help improve pyQuARC, and we welcome your comments, suggestions, and new ideas! +Please contact earthdata-support@nasa.gov with any questions.