Pull Request Guide
This guide explains our pull request process and best practices.
Before Creating a PR
- Ensure your changes follow our Code Style Guide
- Update relevant documentation
- Add or update tests
- Test your changes locally
Creating a Branch
# For new features
git checkout -b feature/your-feature-name
# For bug fixes
git checkout -b fix/your-bug-fix
# For documentation
git checkout -b docs/your-doc-change
Branch Naming
Use descriptive names that reflect the change:
feature/add-datepicker
fix/button-alignment
docs/update-setup-guide
Making Changes
- Make focused, specific changes
- Commit regularly with clear messages
- Keep commits atomic (one logical change per commit)
- Rebase on main if needed
Preparing Your PR
1. Update Your Branch
git fetch upstream
git rebase upstream/main
2. Run Tests
# Run Java tests
./gradlew test
# Run web tests
cd web && npm test
3. Build the Project
./gradlew clean build
Submitting Your PR
-
Push your changes:
git push origin feature/your-feature-name
-
Create a PR through GitHub
-
Fill out the PR template:
## Description
Brief description of changes
## Related Issues
Fixes #123
## Testing Performed
- [ ] Unit tests added/updated
- [ ] Manual testing completed
- [ ] Documentation updated
## Screenshots
(if applicable)
## Checklist
- [ ] Code follows style guide
- [ ] Tests passing
- [ ] Documentation updated
- [ ] Commits are clean
PR Review Process
What to Expect
- Automated checks will run
- Maintainers will review your code
- You may receive feedback requesting changes
- Once approved, your PR will be merged
Handling Feedback
- Address all comments
- Make requested changes
- Push new commits
- Request re-review when ready
Review Response
- Respond to all comments
- Ask for clarification if needed
- Be open to feedback
- Keep discussions professional
After Merge
- Delete your branch
- Update your local repository
- Celebrate your contribution! 🎉
Common PR Issues
Size
- Keep PRs focused and manageable
- Split large changes into smaller PRs
- Link related PRs in descriptions
Documentation
- Update relevant docs
- Include code comments
- Add examples if needed
Tests
- Add unit tests
- Update existing tests
- Verify all tests pass
Tips for Success
-
Communication
- Describe changes clearly
- Respond promptly to feedback
- Ask questions if unsure
-
Quality
- Follow code style
- Include tests
- Update documentation
-
Process
- Keep commits clean
- Rebase when needed
- Be patient during review
Need Help?
- Check our Code Style Guide
- Ask in GitHub discussions
Remember, every contribution helps make the project better! Thank you for your efforts! 🙏