๐ 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 }}
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
๐ 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)
Excellent work @bansikah !!!
Thank you sir๐๐
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 ๐๐ผ
Thank you so much @igadii for the feedback, really appreciate๐
Hey, nice job for the github action. Keep it up.
Thank you @emee ๐