DEV Community

Cover image for PR Summarizer: Your GitHub Sidekick for Faster and Funnier Reviews! 🎉
Tandap Noel Bansikah
Tandap Noel Bansikah

Posted on • Edited on

PR Summarizer: Your GitHub Sidekick for Faster and Funnier Reviews! 🎉

🚀 PR Summarizer: Making Code Reviews Fun and Efficient

👋 A Developer’s Struggle with PR Reviews

It was another late night. Coffee in one hand, I clicked on yet another pull request with 37 file changes. 😩

"Alright, let’s go through this."

Five minutes in, I was already scrolling endlessly through modified files, trying to figure out:

  • What actually changed?
  • Why were these changes made?
  • Do I really have to read every file to understand?

By the time I got halfway, my focus was gone, and I hadn’t even left a single review comment yet.

And then it hit me:

Why do we still manually analyze PRs in 2025? Can’t we automate this?

That’s when I decided to build PR Summarizer—a tool that does the hard work for you and even makes code reviews fun! 🎉


🚀 Meet PR Summarizer

PR Summarizer is a Custom GitHub Action written in Rust 🦀 that:

Detects modified, added, and deleted files

📜 Generates a clean summary of PR changes

💬 Posts a helpful comment on the PR

🤣 Includes a random programming joke (because why not?)


🎯 The Problem: Code Reviews Are Overwhelming

PRs can be a nightmare, especially when they:

  • Contain too many files
  • Lack a clear description
  • Have vague commit messages

This wastes time, slows down development, and makes reviewing a chore. 😤

💡 The Solution?

🚀 PR Summarizer automates PR analysis so you can:

✔ Quickly understand changes at a glance

Save time reviewing PRs

✔ Enjoy a fun programming joke along the way 😆


🔥 Example Output

Imagine opening a PR and instantly seeing this comment:

🚀 PR Summary

📝 Changes Overview

✨ Implemented user authentication

✅ Added JWT token handling

✅ Created registration API

📚 Updated API docs

📂 Affected Files

🟢 [+] src/auth/jwt.rs

🔵 [M] src/routes/users.rs

🔵 [M] README.md

😄 Code Humor

"Why do programmers prefer dark mode? Because light attracts bugs!" 🤓

Now, reviewers immediately understand the changes without digging through commits.


⚙️ How It Works

1️⃣ A PR is opened or updated

2️⃣ PR Summarizer analyzes the changes

3️⃣ It creates a summary

4️⃣ It fetches a joke

5️⃣ It posts everything as a comment

All automated. No extra work needed. 🎉


🚀 How to Use It

Add this workflow to your repo’s .github/workflows/pr-summary.yml:

name: PR Summarizer

on:
  pull_request:
    types: [opened, synchronize, reopened]

permissions:
  pull-requests: write  # Required to comment on PRs
  issues: write        # Required for PR comments via issues API

jobs:
  summarize:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@v3
        with:
          fetch-depth: 0  # Ensures full history for diff analysis

      - name: Run PR Summarizer
        uses: bansikah22/pr-summarizer@v1.0.0  # Uses the lastest actions tag
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}
Enter fullscreen mode Exit fullscreen mode

That’s it! PR Summarizer will now automatically summarize every PR in your repo.


🔧 Development

Want to contribute or run it locally? Here’s what you need:

  • Rust 1.83+ 🦀
  • Cargo 📦

Clone the repo and start hacking:

git clone https://github.com/bansikah22/pr-summarizer.git
cd pr-summarizer
cargo build
Enter fullscreen mode Exit fullscreen mode

🌎 See It in Action

Check out Test PR Summarizer to see it working on external PRs!


🔥 Final Thoughts

Code reviews don’t have to be boring or time-consuming. PR Summarizer makes them:

Faster 🚀

Simpler 🎯

More fun 😆

If you find this useful, give it a ⭐ on GitHub and try it out! Please give me some feedback or maybe some suggestions on new feature on how We can better develop this.

👉 GitHub Repo: PR Summarizer

Happy coding! 😃

Top comments (6)

Collapse
 
francis-pouatcha profile image
Francis Pouatcha

Excellent work @bansikah !!!

Collapse
 
bansikah profile image
Tandap Noel Bansikah

Thank you sir😊😊

Collapse
 
igadii profile image
Idris Gadi

This looks really nice, good job. Will try to keep an eye as the project grows.

One feedback: I think the jokes part is unnecessary (and if they are generic ones than it even damages the UX), it hurts reach of the overall project.

All the best 👍🏼

Collapse
 
bansikah profile image
Tandap Noel Bansikah

Thank you so much @igadii for the feedback, really appreciate😊

Collapse
 
emee profile image
John

Hey, nice job for the github action. Keep it up.

Collapse
 
bansikah profile image
Tandap Noel Bansikah

Thank you @emee 🙏