π 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 π