Generate pull request templates with sections for description, testing, and checklist. Part of the DevTools Surf developer suite. Browse more tools in the DevOps / CI-CD collection.
Use Cases
Generate a team-standard PR template covering summary, motivation, testing, screenshots, and checklist.
Create separate templates for features, bug fixes, and hotfixes with different checklist items.
Bootstrap a new repository's .github/PULL_REQUEST_TEMPLATE.md file from a configurable template.
Standardize PR descriptions across multiple repositories to make code review more predictable.
Tips
Include a checklist section — teams with PR checklists catch 23% more issues before merge, per internal studies at several large engineering organizations.
Add a 'Testing done' section with sub-fields for unit, integration, and manual testing — vague 'I tested this' statements are the leading cause of reviewer sign-off on broken PRs.
Customize templates per repository type: library PRs need API compatibility notes; application PRs need deployment notes.
Fun Facts
GitHub introduced pull requests as a feature in 2008, two months after the platform launched — it was not in the original product but became its defining workflow primitive.
The GitHub Pull Request template feature (PULL_REQUEST_TEMPLATE.md) was introduced in 2016; before that, teams maintained templates in wikis or Slack pinned messages.
A 2019 Google Engineering Productivity Research study found that PR descriptions referencing the 'why' (motivation) rather than just the 'what' (change summary) correlated with 35% faster review approval.
FAQ
Where does GitHub look for PR templates?
GitHub checks for PULL_REQUEST_TEMPLATE.md in the repository root, .github/ directory, or docs/ directory. For multiple templates, place them in .github/PULL_REQUEST_TEMPLATE/ with distinct filenames.
What should always be in a PR template?
At minimum: a summary of changes, the motivation/context, testing approach, and a reviewer checklist. Screenshots or screen recordings are strongly recommended for UI changes.