diff --git a/FIRST_CONTRIBUTION_GUIDE.md b/FIRST_CONTRIBUTION_GUIDE.md new file mode 100644 index 0000000..75be819 --- /dev/null +++ b/FIRST_CONTRIBUTION_GUIDE.md @@ -0,0 +1,137 @@ +# Contributing to Good-first-Issue + +Thank you for your interest in contributing to this project! We welcome contributions from developers of all experience levels. + +## Before You Start + +Please: + +1. Read the README.md file. +2. Check existing issues and pull requests before creating new ones. +3. Look for issues labeled `good first issue` if you're a new contributor. +4. Follow the coding standards and project structure. + +--- + +## First-Time Contributors + +If this is your first contribution, please read: + +👉 FIRST_CONTRIBUTION_GUIDE.md + +This guide provides a detailed walkthrough of the entire contribution process, including: + +- Forking the repository +- Cloning locally +- Creating a feature branch +- Making changes +- Committing changes +- Pushing to GitHub +- Opening a Pull Request +- Addressing review comments +- Updating branches after changes are requested + +--- + +## Contribution Workflow + +### 1. Fork the Repository + +Create your own copy of the repository on GitHub. + +### 2. Clone Your Fork + +```bash +git clone https://github.com/YOUR_USERNAME/Good-first-Issue.git +cd Good-first-Issue +``` + +### 3. Create a Branch + +```bash +git checkout -b feature/your-feature-name +``` + +### 4. Make Your Changes + +Implement your feature, bug fix, or documentation improvement. + +### 5. Commit Changes + +```bash +git add . +git commit -m "Add meaningful commit message" +``` + +### 6. Push Changes + +```bash +git push origin feature/your-feature-name +``` + +### 7. Open a Pull Request + +Open a Pull Request against the main repository and provide: + +- Clear description of changes +- Screenshots (if applicable) +- Related issue number + +--- + +## Pull Request Guidelines + +Please ensure: + +- Code builds successfully. +- Existing functionality is not broken. +- Changes are focused on a single issue. +- Documentation is updated where necessary. + +--- + +## Code Reviews + +Maintainers may request changes before merging. + +When review comments are provided: + +1. Make the requested updates. +2. Commit the changes. +3. Push the updates to the same branch. +4. The Pull Request will update automatically. + +--- + +## Updating Your Branch + +If the main branch has changed: + +```bash +git checkout main +git pull upstream main + +git checkout feature/your-feature-name +git merge main +``` + +Resolve any merge conflicts and push your changes again. + +--- + +## Reporting Issues + +When opening an issue, include: + +- Steps to reproduce +- Expected behavior +- Actual behavior +- Screenshots (if applicable) + +--- + +## Questions + +If you have any questions, feel free to open a discussion or issue. + +Thank you for contributing! \ No newline at end of file