name: qkpr description: Quick Pull Request CLI with AI-powered commit message generation. Use for creating GitHub/GitLab/Gitee pull requests, generating Angular-style commit messages, and creating semantic branch names. allowed-tools: Bash(qkpr:), Bash(git:)
qkpr - Quick Pull Request CLI
Quick Start
# Interactive menu (shows all options)
qkpr
# Create a pull request
qkpr pr
# Generate AI commit message
qkpr commit
# Generate branch name
qkpr branch
Commands
Interactive Menu (Default)
qkpr
Shows an interactive menu with all available features:
- ๐ง Create Pull Request
- ๐ค Generate Commit Message
- ๐ฟ Generate Branch Name
- โ Configure API Key
- ๐ง Configure Model
Create Pull Request
# Interactive branch selection
qkpr pr
# Specify target branch directly
qkpr pr main
qkpr pr develop
Features:
- Interactive branch selection with search
- Protected branch highlighting (main, master)
- Smart branch categorization by prefix (feat/, fix/, merge/, etc.)
- Auto-generated PR description with commit summaries
- Clipboard integration (copies PR description automatically)
- Browser integration (opens PR comparison page)
- Merge branch suggestion for conflict resolution
- Multi-platform support (GitHub, GitLab, Gitee)
Generate Commit Message (AI-Powered)
qkpr commit
Features:
- ๐ค Uses Google Gemini 2.0 Flash AI
- ๐ Follows Angular commit message convention
- ๐ฟ Suggests semantic branch names
- ๐ Analyzes staged changes (git diff --cached)
- โ Interactive: choose to commit, copy, or regenerate
- ๐ Option to auto-push after commit
First-time Setup for AI Features
- Get Gemini API Key from Google AI Studio
- Configure API key:
# Method 1: Use config command
qkpr config
# Method 2: Environment variable
export QUICK_PR_GEMINI_API_KEY=your_api_key_here
# or legacy variable name
export GEMINI_API_KEY=your_api_key_here
Model Configuration
qkpr config:model
Available models (as of 2025):
gemini-2.5-pro(latest pro)gemini-2.5-flash(latest flash)gemini-2.0-flash(default)gemini-2.0-flash-expgemini-flash-latest
Or set via environment:
export QUICK_PR_GEMINI_MODEL=gemini-2.5-pro
Generate Branch Name
qkpr branch
Generates a semantic branch name based on staged changes using AI.
Configuration
# Configure API key
qkpr config
# Configure model
qkpr config:model
Version & Help
qkpr --version # or qkpr -v
qkpr --help # or qkpr -h
Workflow Examples
Example 1: Create a Pull Request
# Make your changes
git add .
git commit -m "feat: add new feature"
# Create PR with qkpr
qkpr pr
# Select target branch interactively
# PR description copied to clipboard, browser opens automatically
Example 2: AI-Generated Commit Message
# Stage your changes
git add .
# Generate commit message with AI
qkpr commit
# Review the generated message
# Choose to commit, copy, or regenerate
Example 3: Complete Workflow with AI
# Stage changes
git add .
# Generate commit and create branch name
qkpr commit # Generates message, suggests branch name
qkpr branch # Get semantic branch name suggestion
# Commit and push
git checkout -b suggested-branch-name
git commit -m "generated message"
git push
# Create PR
qkpr pr main
Commit Message Convention
qkpr follows Angular commit message format:
<type>(<scope>): <subject>
<body>
<footer>
Types
feat- New featurefix- Bug fixdocs- Documentation changesstyle- Code style changes (formatting, etc.)refactor- Code refactoringperf- Performance improvementstest- Adding or updating testschore- Maintenance tasksci- CI/CD changesbuild- Build system changes
Configuration File
API keys and settings are stored locally in:
~/.qkpr/config.json
Requirements
gitversion 2.0+- Node.js version 18+
- Gemini API key (for AI features)
License
MIT License ยฉ KazooTTT