Skip to content

Effortlessly generate polished pull request titles and descriptions for your Git repositories with AI.

License

Notifications You must be signed in to change notification settings

yashg4509/prpolish

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AI PR Helper PyPI version License

prpolish: AI-Powered Pull Request Helper 🚀

Supercharge your GitHub PRs with AI-generated titles, descriptions, and quality checks.
Make every PR shine ✨


💡 Why prpolish?

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.


⚙️ Requirements


⚡ Quickstart

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.

Demo on 𝕏


🚧 Features

  • 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.

🛠️ How It Works

  1. Analyzes your branch:
    Reads your commit messages, changed files, and branch name.
  2. Generates PR content:
    Uses OpenAI GPT to create a professional PR title and description.
  3. Runs vibe checks:
    Optionally, flags issues like vague commits or missing tests.
  4. Lets you edit and save:
    Copy to clipboard, save drafts, or open in your editor.
  5. Creates the PR:
    Pushes your branch and opens a PR via GitHub CLI (optional).

💻 CLI Usage

# 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.

📝 Custom PR Templates

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.


❓ FAQ & Troubleshooting

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.


📄 License

MIT
Made by @yashg4509


🏆 Shoutout

Big thanks to Graphite for their excellent guides on PR best practices, which inspired the prompts and structure in prpolish.

About

Effortlessly generate polished pull request titles and descriptions for your Git repositories with AI.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages