This Open-Source CLI Generates Release Notes from Your Merged PRs
If you've ever been the person stuck combing through 30+ merged pull requests to write release notes after a sprint, you know the pain. It's tedious, time-consuming, and feels like work a computer should be doing. A developer just open-sourced a CLI tool that does exactly that—and it's surprisingly elegant.
The Problem: Release Notes Are a Tax on Shipping
The scenario is familiar to anyone working on a team with regular releases:
- The sprint ends
- Someone (often the same unlucky person every time) has to compile what changed
- They click through dozens of merged PRs
- They categorize changes, extract descriptions, and format everything
- Thirty minutes to an hour later, the release notes are finally done
It's not intellectually demanding work—it's just manual aggregation. The information already exists in your pull requests. The structure is predictable. Yet teams keep doing it by hand because setting up automation often feels like overkill for a "quick" task that happens every week or two.
That friction adds up. Over a year, a team doing weekly releases spends 25+ hours on this. That's time that could go toward building, not documenting what you already built.
Enter the Solution: A CLI That Reads Your Git History
The newly released open-source tool approaches this with a simple premise: your merged PRs already contain everything you need for release notes. Pull request titles describe changes, labels categorize them (bug fix, feature, breaking change), and the merge commits are already in your Git history.
The CLI works by:
- Scanning your repository for merged PRs since the last release (or between any two Git refs)
- Extracting PR titles, labels, and metadata
- Grouping changes by category (Features, Bug Fixes, Dependencies, etc.)
- Formatting the output as Markdown, ready to paste into GitHub releases or your changelog
No configuration required for basic use. Point it at your repo, run one command, and you get formatted release notes in seconds.
The tool is built to be composable—it outputs to stdout by default, so you can pipe it into other tools, customize the formatting with templates, or integrate it into your CI/CD pipeline. Teams using GitHub Actions or similar can fully automate release note generation on every tag or release branch.
Why This Matters Beyond Convenience
Tools like this matter because they remove friction from good practices. When writing release notes is painful, teams skip them, write vague summaries, or let them drift out of sync with what actually shipped. Users and downstream developers suffer—they can't easily tell what changed between versions without reading diffs.
By making the process instant, this CLI encourages better release hygiene:
- Consistency: Every release gets notes, formatted the same way
- Accuracy: Notes reflect exactly what merged, not what someone remembers merging
- Discoverability: Proper categorization helps users find relevant changes quickly
There's also a forcing function at play. When release notes are auto-generated from PR titles, teams start writing better PR titles. If your release notes are going to say "fix thing" because that's what you titled the PR, you're incentivized to write "Fix authentication timeout on Safari" instead.
This is the kind of small automation that compounds. A one-time 10-minute setup saves hours over the year and improves quality as a side effect.
The Takeaway: Automate the Boring, Predictable Work
The best developer tools solve problems that are tedious, not hard. Writing release notes manually isn't difficult—it's just a tax on your time. Tools like this CLI remind us that if you're doing the same manual aggregation work every release cycle, there's probably a way to script it.
If your team ships regularly and you're still writing release notes by hand, this is worth trying. It's open source, zero-config for basic use, and solves a problem that affects nearly every team doing continuous delivery.
The broader lesson: look at your recurring manual tasks. If the input is structured data you already have (Git commits, PR metadata, issue labels), there's likely a simple automation waiting to be built. Sometimes the best tools are the ones that feel obvious in hindsight—because they solve problems we've been tolerating for too long.