The Problem
Every time I write a PR description, I start with raw notes like this:
fixed bug with authService
added JWT validation to middleware
refactored userController to use async await
fixes 287
closes 301
And then I have to manually clean it up to capitalize everything, wrap code identifiers in backticks, format bullets, add # to issue numbers. Every. Single. Time.
So I built a tool that does it automatically.
How It Works
Paste your raw notes. Get back clean GitHub-flavored Markdown instantly.
Input
fixed bug with authService
added JWT validation to middleware
refactored userController to use async await
fixes 287
closes 301
Output
- Fixed bug in `authService`
- Added JWT validation to `middleware`
- Refactored `userController` to use async/await
Fixes #287
Closes #301
The Formatting Pipeline
The tool runs a deterministic rule-based pipeline on every line:
-
Issue reference detection
fixes 123→Fixes #123 -
Code identifier detection wraps
snake_case,CamelCase,functions(), andfile.tsin backticks automatically -
Bullet generation detects action verbs like
added,fixed,refactoredand converts them to bullet points - Sentence capitalization capitalizes the first letter of every line
No AI required for any of this. It's fast, deterministic, and works offline.
AI Mode
There's also an optional AI enhancement mode powered by Groq's Llama 3.3 70B. Toggle it on and the rule-based output gets passed to the AI for grammar correction and clarity improvements without adding or inventing content.
The rule-based formatter runs first. AI just polishes the result.
What I Learned
I'm a Java developer learning the JavaScript ecosystem. This was my first real Next.js project. A few things I picked up:
- The difference between server-side and client-side rendering in Next.js (and why hydration errors happen)
- How to build a custom React hook for localStorage persistence
- How to proxy API calls through a Next.js API route to keep secrets off the client
- How Tailwind CSS compares to writing raw CSS
Try It
Live → https://github-markdown-formatter.vercel.app
GitHub → https://github.com/taniy8/github-markdown-formatter
Would love feedback - especially from developers who write a lot of PRs. What formatting rules would you add?
Top comments (0)