diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 000000000..cf3ff8da4 --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,360 @@ +# Pull Request Title + + + +## Type of Change + + + +- [ ] Bug Fix +- [ ] New Feature / Enhancement +- [ ] Refactor / Code Cleanup +- [ ] Documentation Update +- [ ] Maintenance / Chore / Dependency Update +- [ ] CI/CD or Build System Update +- [ ] Security Fix +- [ ] Style / Formatting (no logic changes) +- [ ] Performance Improvement +- [ ] Test Addition / Update +- [ ] Revert +- [ ] Other (please specify): + +--- + +## Component(s) Affected + + + +- [ ] **formulus** ([React Native mobile app](formulus/README.md)) +- [ ] **formulus-formplayer** ([React web app](formulus-formplayer/README.md)) +- [ ] **synkronus** ([Go backend server](synkronus/README.md)) +- [ ] **synkronus-cli** ([Command-line utility](synkronus-cli/README.md)) +- [ ] **Documentation** +- [ ] **DevOps / CI/CD** ([CI/CD Documentation](.github/CICD.md)) +- [ ] **Dependencies / Build System** +- [ ] **Other:** + +--- + +## Related Issue(s) + + + +**Closes/Fixes/Resolves:** + + +**Related:** + + +--- + +## Description + + + +### Summary + + + +### Changes Made + + + +- +- +- + +--- + +## Rationale / Context + + + +**Problem:** + + +**Solution:** + + +**Alternatives Considered:** + + +--- + +## Testing Instructions + + + +### Prerequisites + + + +- +- + +### Steps to Test + +1. +2. +3. +4. + +### Expected Behavior + + + +### Test Coverage + +- [ ] Unit tests added/updated +- [ ] Integration tests added/updated +- [ ] End-to-end tests added/updated +- [ ] Manually tested on device(s) / browser(s) +- [ ] Tested on multiple platforms (iOS/Android/Web) +- [ ] Tested with different data sets +- [ ] Not applicable + +### Test Results + + + +--- + +## Breaking Changes + + + +- [ ] This PR introduces breaking changes +- [ ] This PR does NOT introduce breaking changes + +**If breaking changes, please describe:** + +**Migration Steps:** + + +1. +2. +3. + +--- + +## Documentation Updates + +- [ ] Documentation has been updated +- [ ] Documentation update is not required +- [ ] Documentation update will follow in a separate PR + +**Files Updated:** + + +- +- + +**New Documentation:** + + +- +- + +--- + +## Screenshots / Videos + + + +### Before + + +### After + + +--- + +## Performance Impact + + + +- [ ] Performance improvement +- [ ] No performance impact +- [ ] Performance regression (explain below) + +**Details:** + + +--- + +## Security Considerations + + + +- [ ] Security improvement +- [ ] Security fix +- [ ] No security impact + +**Details:** + + +--- + +## Checklist + + + +### Code Quality + +- [ ] Code follows [project style guidelines](CONTRIBUTING.md#coding-standards) +- [ ] Code is self-documenting with clear variable/function names +- [ ] Comments added for complex logic +- [ ] No hardcoded values or magic numbers +- [ ] Error handling is appropriate + +### Testing + +- [ ] All existing tests pass +- [ ] New tests added for new functionality +- [ ] Tests updated for changed functionality +- [ ] Manual testing completed +- [ ] Edge cases considered and tested + +### Linting & Formatting + +- [ ] Linting passes (`npm run lint` / `go fmt` / etc.) +- [ ] Code formatted according to [project standards](CONTRIBUTING.md#coding-standards) +- [ ] No console.log statements left in code +- [ ] No commented-out code blocks +- [ ] No unused imports or variables + +### Git & PR Standards + +- [ ] PR title follows [Conventional Commits format](CONTRIBUTING.md#commit-message-convention) +- [ ] Commit messages follow [Conventional Commits format](CONTRIBUTING.md#commit-message-convention) +- [ ] Branch naming follows [project conventions](CONTRIBUTING.md#branch-naming) +- [ ] Branch is up to date with `main` (or target branch) +- [ ] No merge conflicts +- [ ] Commits are logically organized +- [ ] All relevant labels added + +### Documentation + +- [ ] [README](README.md) updated (if applicable) +- [ ] Component-specific READMEs updated: + - [ ] [formulus/README.md](formulus/README.md) + - [ ] [formulus-formplayer/README.md](formulus-formplayer/README.md) + - [ ] [synkronus/README.md](synkronus/README.md) + - [ ] [synkronus-cli/README.md](synkronus-cli/README.md) +- [ ] Code comments added/updated +- [ ] [API documentation](synkronus/openapi/synkronus.yaml) updated (if applicable) +- [ ] [RELEASE.md](RELEASE.md) updated (if applicable) +- [ ] Migration guide added (for breaking changes) + +### Review Readiness + +- [ ] PR description is complete and clear +- [ ] All sections above are filled out +- [ ] Follows [Contributing Guide](CONTRIBUTING.md) standards +- [ ] Follows [Code of Conduct](CODE_OF_CONDUCT.md) +- [ ] Ready for review + +--- + +## Additional Notes + + + +--- + +## Reviewer Notes + + + +**Suggested Reviewers:** + + +**Priority:** +- [ ] Low +- [ ] Medium +- [ ] High +- [ ] Critical + +--- + +## Related PRs + + + +--- + +**Thank you for contributing to Open Data Ensemble (ODE)!** +