|
| 1 | +# Contributing to the BluePhos Pipeline Project |
| 2 | + |
| 3 | +Thank you for your interest in contributing to the BluePhos pipeline project! As a contributor, you’ll work from your fork of the main repository. This document outlines the steps to set up your development environment, guidelines for coding, and instructions for submitting contributions. |
| 4 | + |
| 5 | +## Repository Information |
| 6 | + |
| 7 | +- **Main Repository**: [BluePhos Main Repo](https://github.com/ssec-jhu/bluephos.git) |
| 8 | + |
| 9 | +## How to Fork the Repository |
| 10 | + |
| 11 | +1. **Go to the Repository on GitHub**: |
| 12 | + - Open your web browser and navigate to the main repository you want to fork. For the BluePhos pipeline, the URL is [https://github.com/ssec-jhu/bluephos.git](https://github.com/ssec-jhu/bluephos.git). |
| 13 | + |
| 14 | +2. **Click the Fork Button**: |
| 15 | + - In the upper-right corner of the repository page, you’ll see a button labeled **Fork**. Click it. |
| 16 | + - GitHub will ask you to select your GitHub account or organization where you want the fork to be created. |
| 17 | + |
| 18 | +3. **Wait for the Fork to Complete**: |
| 19 | + - GitHub will create a copy of the repository under your account. This new repository is your fork, and you’ll be directed to the forked repository page (e.g., `https://github.com/your-username/bluephos`). |
| 20 | + |
| 21 | +4. **Clone Your Fork Locally**: |
| 22 | + - Once your fork is created, you can clone it to your local machine to start working: |
| 23 | + ```bash |
| 24 | + git clone https://github.com/your-username/bluephos.git |
| 25 | + cd bluephos |
| 26 | + ``` |
| 27 | + |
| 28 | +You now have your own copy (fork) of the repository where you can make changes independently from the main repository. When you’re ready to contribute back, you can create a pull request from your fork to the main repository. |
| 29 | + |
| 30 | +## Getting Started |
| 31 | + |
| 32 | +1. **Fork the Repository**: First, create a fork of the main repository in your own GitHub account. This will allow you to freely make changes without affecting the main repository. |
| 33 | + |
| 34 | +2. **Clone Your Fork**: Clone your fork to your local machine: |
| 35 | + ```bash |
| 36 | + git clone https://github.com/your-username/bluephos.git |
| 37 | + cd bluephos |
| 38 | + ``` |
| 39 | + |
| 40 | +3. **Add the Main Repository as Upstream**: To keep your fork in sync with the latest updates from the main repo, add it as a second remote named `upstream`: |
| 41 | + ```bash |
| 42 | + git remote add upstream https://github.com/ssec-jhu/bluephos.git |
| 43 | + ``` |
| 44 | + |
| 45 | +4. **Create a Branch**: Create a new branch for each feature or bug fix: |
| 46 | + ```bash |
| 47 | + git checkout -b feature/your-feature-name |
| 48 | + ``` |
| 49 | + |
| 50 | +## Making Changes |
| 51 | + |
| 52 | +- **Coding Standards**: Follow PEP 8 for Python code. Use `tox -e format` to ensure code formatting aligns with the repository’s requirements. |
| 53 | +- **Testing**: Ensure your changes pass all tests. Include relevant tests for any new features you add. |
| 54 | +- **Documentation**: Update the documentation for any significant code changes. This includes comments, docstrings, and relevant updates to the `README.md`. |
| 55 | + |
| 56 | +## Keeping Your Fork Updated |
| 57 | + |
| 58 | +Regularly pull updates from the main repository to keep your fork in sync: |
| 59 | +```bash |
| 60 | +git fetch upstream |
| 61 | +git merge upstream/main |
| 62 | +``` |
| 63 | + |
| 64 | +## Submitting a Pull Request |
| 65 | + |
| 66 | +When you’re ready to contribute your changes: |
| 67 | + |
| 68 | +1. **Commit Your Changes**: Write concise and descriptive commit messages. |
| 69 | + ```bash |
| 70 | + git add -u # Use 'git add .' if adding new files |
| 71 | + git commit -m "Description of changes" |
| 72 | + ``` |
| 73 | + |
| 74 | +2. **Push to Your Fork**: |
| 75 | + ```bash |
| 76 | + git push origin feature/your-feature-name |
| 77 | + ``` |
| 78 | + |
| 79 | +3. **Open a Pull Request**: |
| 80 | + - Go to your forked repository on GitHub. |
| 81 | + - Click on **New Pull Request**. |
| 82 | + - Ensure the base repository is `ssec-jhu/bluephos` and the base branch is `main`. |
| 83 | + - Provide a title and description for your pull request. |
| 84 | + - Submit the pull request for review. |
| 85 | + |
| 86 | +## Code Review Process |
| 87 | + |
| 88 | +Once you submit a pull request: |
| 89 | +- The maintainers will review your changes and may request modifications. |
| 90 | +- Please address any feedback and re-submit for review. |
| 91 | + |
| 92 | +## Issues and Support |
| 93 | + |
| 94 | +If you encounter issues or have questions, feel free to open an issue on GitHub. We’ll do our best to assist. |
| 95 | + |
| 96 | +## License |
| 97 | + |
| 98 | +By contributing, you agree that your contributions will be licensed under the same open-source license as the project. |
| 99 | + |
| 100 | +--- |
| 101 | + |
| 102 | +Thank you for your contributions to the BluePhos pipeline! We’re excited to work with you. |
0 commit comments