Supercharge your GitHub PRs with AI-generated titles, descriptions, and quality checks.
Make every PR shine ✨
Writing great pull requests is hard. Most devs (including us!) struggle with:
- Vague or low-effort PR titles and descriptions
- Forgetting to link issues, docs, or tickets
- Missing tests or unclear testing instructions
- Inconsistent PR templates across teams
prpolish fixes this by using AI to generate high-quality, context-aware PR titles and descriptions, and to run "vibe checks" for PR quality—all from your terminal.
- Python 3.7+
- OpenAI API key (for AI features)
- GitHub CLI (for auto PR creation, optional)
pip install prpolish
export OPENAI_API_KEY=sk-...
prpolish generate- Instantly get a polished PR title and description, ready to copy or edit.
- Optionally, run vibe checks to catch low-quality commits or missing tests.
- Use your own PR templates, or let prpolish auto-detect them.
- AI-Powered PR Title & Description Generator: Context-aware, customizable, and always editable.
- Vibe Check Warnings: Flags low-quality commits, missing tests, and more.
- CLI Interface: Simple, interactive, and scriptable.
- Custom Templates: Use your own PR templates (string or file).
- LLM-Powered: Uses OpenAI API for best results
- Failsafe Defaults: Always allows user editing and review.
- Analyzes your branch:
Reads your commit messages, changed files, and branch name. - Generates PR content:
Uses OpenAI GPT to create a professional PR title and description. - Runs vibe checks:
Optionally, flags issues like vague commits or missing tests. - Lets you edit and save:
Copy to clipboard, save drafts, or open in your editor. - Creates the PR:
Pushes your branch and opens a PR via GitHub CLI (optional).
# Generate PR title and description
prpolish generate [--template <str|path>] [--save, -s title|description|both] [--fast, -f]
# Generate only the PR title
prpolish generate-title [--template <str|path>] [--save, -s]
# Generate only the PR description
prpolish generate-desc [--template <str|path>] [--save, -s]--save, -s: Save title, description, or both to draft files.--fast, -f: Automatically create the PR and commit it.
Provide your own template using the --template flag (string or file path).
If a pull_request_template.md exists, prpolish will auto-detect and use it.
What if I don't have GitHub CLI (gh)?
You can still copy the PR title/description and create the PR manually.
Can I use my team's PR template?
Yes! Use --template or place a pull_request_template.md in your repo.
MIT
Made by @yashg4509