A pull request template pre-fills every PR description with the structure your
reviewers expect: what changed, how it was tested, and a self-review checklist.
This builder assembles a clean PULL_REQUEST_TEMPLATE.md from the sections you
turn on.
How it works
GitHub looks for a Markdown file at .github/PULL_REQUEST_TEMPLATE.md and copies
its contents into the description box whenever someone opens a pull request. The
“Type of Change” block uses Markdown task-list syntax, which GitHub renders as
interactive checkboxes:
## Type of Change
- [ ] Bug fix
- [ ] New feature
- [ ] Documentation update
- [ ] Refactor / chore
Headings (##) divide the template into sections, and a checklist of
- [ ] items lets authors confirm they ran tests, updated docs, and removed
debug logging before requesting review.
Tips and notes
Keep the template short — a wall of mandatory sections gets deleted rather than
filled in. The Testing section pays for itself by letting reviewers reproduce
verification steps. For multiple templates (feature, hotfix, release), use a
.github/PULL_REQUEST_TEMPLATE/ directory and pass ?template=name.md on the
compare URL. To actually block merges on the checklist, wire a GitHub Action
status check.