DEV Community

Cover image for How to Create a Good Pull Request Template (and Why You Should Add Gifs)
BekahHW for OpenSauced

Posted on • Updated on

How to Create a Good Pull Request Template (and Why You Should Add Gifs)

I wasn’t in tech when Pull Requests (PRs) were first introduced by GitHub back in 2008. And when I graduated from bootcamp four years ago, I had probably created only a handful of PRs. I quickly learned how vital PRs were when I started my first job on a team though. And my appreciation for a good Pull Request has only increased as I spend more time as a maintainer.

The great things about Pull Requests are that they allow for collaboration between contributors and maintainers, offer an opportunity to communicate changes that have been made and why they are important, and the ability for maintainers to provide feedback. Because contributors come from different backgrounds, have varying degrees of experience, and speak different languages, sometimes creating good PRs can be tricky. But there are some ways to optimize the experience for everyone–including adding gifs.

How to Create a Pull Request Template

Maintainers can help to improve the experience for both reviewing Pull Requests and for contributors submitting them by creating a template.

I like to think of Pull Request templates as a kind of contributor onboarding. It helps to guide them through the process of writing a good pull request and communicating with the maintainers. Although good templates may vary according to different organizations, their standards, and their needs, there are some basic checklists that you can use to generate your own.

To create a PR template in GitHub, create a .github folder in the root of your repository and a file called

At OpenSauced, we used forem’s Pull Request template for inspiration for
our template.

gif of OpenSauced’s PR template

You can use markdown to create your template, and include sections like:

  • What type of PR is this?
  • Description of the changes
  • Related Tickets & Documents
  • Mobile & Desktop Screenshots/Recordings
  • Tests
  • Documentation
  • Post-deployment tasks
  • What gif best describes this PR or how it makes you feel?

Let Them Add Gifs!

That last one might seem out of place to you, but it can actually make the PR experience more fun, engaging, and effective. Here's why:

  • Gifs can bridge language gaps and help contributors express themselves more clearly.
  • Gifs can showcase contributors' personalities and add a personal touch to the PR.
  • Gifs can increase engagement and make the review process more enjoyable for everyone.

How to add Gifs to Your PR

If you’re a contributor, you might be wondering, “What’s the easiest way to add a gif?” I use the GIFs for GitHub chrome extension. Once it’s installed, you’ve got a quick way to add all your favorite gifs to enhance that PR experience. Just search for the gif you want, and click it. You can even add a caption to describe the gif or explain how it relates to the PR 👏

adding a gif of leslie knope and april with the caption “How much fun is it working here!?

You can read more about PRs with @Brian Douglas’ post on Tips for getting your Pull Request reviewed on GitHub. Or check out the hottest repos and how they handle PRs on OpenSauced hot repositories. And if you have tips for creating great pull requests, let us know in the comments below.

header image created using midjourney.

Top comments (34)

cicirello profile image
Vincent A. Cicirello

Nice post. Might be worth mentioning where you explain how to create a template that if you put it in a repository named .github that it applies to all of the repositories that you own, and you only need to maintain it there.

Anyway, nice template. I've been considering making changes to mine and yours gave me some ideas.

bekahhw profile image

I thought of adding that, but then decided I could do a whole post on that.

codergirl1991 profile image
Jessica Wilkins

I love this PR template.

I definitely want to use this for my open source projects and want to suggest it for the teams I am on

Thank you for sharing.

bekahhw profile image

Thanks, Jessica! Not gonna lie, OpenSauced's PR template is my favorite. I looked at a lot of other ones, but this my favorite.

0vortex profile image
TED Vortex (Teodor Eugen Duțulescu)

have a dream of upgrading those templates from checkboxes to selects but never get to it in real life :<

bekahhw profile image

Why do you think selects will be better?

0vortex profile image
TED Vortex (Teodor Eugen Duțulescu)

Humans are biased to the scanning effect of the first page of content, that is currently taken up by the options of the "type of pull request" selector being spread as checkbox options; this makes it difficult for them to scan the other important sections of the pull request template (description, related tickets, docs, etc)

Thread Thread
sinewalker profile image
Mike Lockhart • Edited

I use labels instead, for better scanning, and also selecting PRs for review by type using the labels.

This does need pointing out to contributors, though. You can add HTML comments to PR templates for instructions or guidance.

xanderrubio profile image
Alexander Clemens

Thanks @bekahhw for sharing and adding this to my open source project no to come back to in the furute to enhance or pull request template.

sergeyleschev profile image
Sergey Leschev

Adding gifs to the template can also bring more engagement and make the review process more enjoyable. It's good to see that OpenSauced is using forem's template for inspiration.

jesserweigel profile image
Jesse R Weigel

That is an awesome cover photo! You could be an AI art prompt engineer!

bekahhw profile image

Hahahah. Thanks for generating it for me.

jesserweigel profile image
Jesse R Weigel

You're welcome! Anytime!

developerdoran profile image
Jake Doran

Great article! One of the things I miss the most about GitHub (my team use BitBucket currently) is the ability to create PR templates they are super handy!

bekahhw profile image

Yes! I love issue templates too.

bestwebdevelopment profile image
ReactJS Development Company • Edited

Great post, very informative and helpful for me as a Web developer beginner.

bekahhw profile image

Thanks for reading!

umeya_kassim profile image
umeya kassim

Nice content il consider adding it in my next personal project new repository.

bekahhw profile image


oakamel profile image
Omar Kamel

Gifs is a great idea 💡 that i would like to suggest to my team, thanks 🙏

satriopamungkas profile image
Muhammad Raihan Satrio Putra Pamungkas

Great explanation. However, I often struggle with providing an appropriate title message when submitting a pull request. I have noticed that many open source repositories have unstructured or messy title messages, which can make it difficult to maintain the repository.

Some people use problems or features as the title, while others add tags for additional information. I believe that it is important to consider the impact of clear and concise title message, as it can save a lot of time when searching.

bekahhw profile image

I’m writing a blog post about submitting your first PR. I’ll try to make sure I cover titles.

bhupesh profile image
Bhupesh Varshney 👾

From the maintainer side, if anyone wants to spice up PRs

GitHub logo Bhupesh-V / memer-action

A GitHub Action for Programmer Memes xD

Memer Action


Github marketplace GitHub release (latest by date) Lint Integration Test Twitter: Bhupesh Varshney




Example workflow

  • You can use the following workflow as it is, just copy/paste in a file named greetings.yml inside your workflows folder.
  • The reply action is performed by create-or-update-comment
name: Memer Workflow

on: [pull_request]

    runs-on: ubuntu-latest
      - uses: actions/checkout@master
      - name: Run Memer Action
        id: memer

        uses: Bhupesh-V/memer-action@master
          filter: "new"

      - name: Check Outputs
        run: |
          echo "${{ }}"
          echo "${{ steps.memer.outputs.title }}"
          echo "${{ steps.memer.outputs.source }}"

      - name: Create comment
        uses: peter-evans/create-or-update-comment@v1.3.0
        id: couc
          issue-number: ${{ github.event.number }}
          body: |
            🎉🎉 Thanks for opening this PR/Issue 🤗
            Please wait while the maintainer(s) review it

            Meanwhile have a look at this 😝 :

            > **${{ steps.memer.outputs.title }}**
            ![meme](${{ }})
            <sub>ℹ️ <a href="${{ steps.memer.outputs.source }}">Source</a> [ Powered By 🔥 <a href="">Memer Action</a> ]</sub>


Memer Action accepts following input variables.

  • filter (optional) : Sort Memes posts from reddit…
teddyboirin profile image

Good idea but for the first part of the description, Github tags are more practical

clericcoder profile image
Abdulsalaam Noibi

Thanks for sharing🤗

shirleykohler6730 profile image
Shirley Kohler

Great post, thx!

Some comments may only be visible to logged-in visitors. Sign in to view all comments.