I really like using pull requests templates in Github. They're not only useful to collect vital information about a pull request, but also can serve as a checklist reminder for the contributor.
As you can see in the template, I love clean code so it serves to remind team members to use ESLint and Prettier, though recently I have started using lint-stagedand husky to handle that during a pre-commit hook.
I also think that pull request templates don't have to be boring. They should be fun! That's why I like to sprinkle mine with emojis. πͺπ
Here's a template I use for my React Native projects. You can use it as a starter template and tweak it for any of your projects as needed!
# βοΈ Description (Why)
_Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change._
## π― Changes Outline (What)
1.
1.
## π¬ Type of Change
Choose all that apply:
- [ ] N/A
- [ ] π New feature (non-breaking change which adds functionality)
- [ ] π Bug fix (non-breaking change which fixes an issue)
- [ ] π§Ή Refactor (doesn't add or remove features)
- [ ] β‘οΈ Performance
- [ ] π§Ί Chore (dependencies, tooling, etc)
- [ ] π Documentation Update
- [ ] π§ͺ Tests
### Extras
Optional:
- [ ] π₯ Breaking change (fix or feature that would cause existing functionality to not work as expected)
- **Describe**:
- [ ] π¨ Security (concerns security)
- [ ] β€οΈβπ©Ή Hot fix (in between release emergency patch)
## πΉ Screenshots / Video
_None_
## πͺ Contributors Testing Instructions
_How should **other contributors** manually test this Pull Request?_
- [ ] N/A
### π Personas
- while **unauthenticated**
- [ ] as Guest
- while **authenticated**
- [ ] as **Seller**
- [ ] as **Customer**
### πΊοΈ Steps
1.
1.
## β¨ Self Test Checklist
### β I manually tested on
- [ ] iOS [specify version here]
- [ ] iPhone 14 (**Required**)
- [ ] iPhone SE (**Required if visual change**)
- [ ] Android [specify version here]
- [ ] Android Phone [specify model here] (**Required**)
- [ ] PWA Mobile Safari on iPhone
- [ ] PWA Mobile Chrome on Android
- [ ] PWA Desktop Firefox
- [ ] PWA Desktop Chrome
_List any other relevant versions i.e. iOS version, Android version_
### π© Persona Manual Tests
- while **unauthenticated**
- [ ] as Guest
- while **authenticated**
- [ ] as **Seller**
- [ ] as **Customer**
### β»οΈ Automated Testing
Included automated tests
- [ ] unit tests (if applicable)
- [ ] functional tests (if applicable)
- [ ] component tests (if applicable)
- [ ] integration tests (if applicable)
- [ ] end to end tests (if applicable)
## π§Ό Best Practices Checklist
### π«‘ Code Quality: Readability and Maintainability
- [ ] My code follows the [style guidelines](https://example.com/link-to-your-best-practices) of this project
- [ ] I have linted my changes with ESLint (if applicable)
- [ ] I have formatted my code using Prettier (if applicable)
- [ ] My changes generate no new warnings (if applicable)
### π€ Code Review Facilitation
- [ ] I have performed a self-review of my own code
- [ ] I have included all files and commits necessary
- [ ] I have annotated my PR code, particularly in hard-to-understand areas to clarify certain changes (if applicable)
- [ ] I have made corresponding changes to the documentation (if applicable)
## Closes #issue_number, Closes external_issue_link, Closes (add orphan-pr label if no associate issue)
- [ ]
in Github will output an HTML checkbox
For my order lists I like to use just 1.
's instead of 1.
, 2.
, 3.
, etc. By using 1.
's markdown will automatically do the incrementing for us.
1.
1.
1.