qkpr - AI-Powered Pull Request CLI

VerifiedCaution

Generates pull requests on GitHub, GitLab, and Gitee, along with AI-powered commit messages and semantic branch names. It uses Google Gemini to analyze staged Git changes and produce Angular-style commits. Helps streamline the PR workflow with interactive menus and clipboard integration.

Sby Skills Guide Bot
DevelopmentBeginner
806/2/2026
Claude CodeCopilot
#pull-request#commit-message#cli#git#ai

Recommended for

Our review

A CLI tool for quickly creating pull requests and generating AI-powered commit messages following Angular conventions.

Strengths

  • AI-powered commit message generation following Angular convention
  • Interactive pull request creation with branch selection, clipboard copy, and browser launch
  • Multi-platform support (GitHub, GitLab, Gitee)
  • Semantic branch name generation

Limitations

  • Requires a Google Gemini API key for AI features
  • Only works with Git repositories
  • AI only analyzes staged changes
When to use it

When you need to quickly create a pull request or generate standardized commit messages without leaving the terminal.

When not to use it

When you need a full GUI-based code review or when you don't have access to the Gemini API.

Security analysis

Caution
Quality score92/100

The tool uses network calls to Google's Gemini API, which is a documented feature for AI-powered commit messages. The user must explicitly configure an API key, so it's not hidden. However, sending source code to a third-party service may pose confidentiality risks. The tool also uses Bash and git, but that's normal for its purpose.

Findings
  • β€’Sends git diffs (staged changes) to external Google Gemini API for commit message generation. Users should ensure they have permission to share code with external services.

Examples

Create a pull request interactively
Use qkpr to create a pull request for my current branch against main.
Generate an AI commit message
Run qkpr commit to generate an Angular-style commit message from my staged changes.
Generate a semantic branch name
Use qkpr branch to suggest a branch name based on my staged changes.

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

  1. Get Gemini API Key from Google AI Studio
  2. 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-exp
  • gemini-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 feature
  • fix - Bug fix
  • docs - Documentation changes
  • style - Code style changes (formatting, etc.)
  • refactor - Code refactoring
  • perf - Performance improvements
  • test - Adding or updating tests
  • chore - Maintenance tasks
  • ci - CI/CD changes
  • build - Build system changes

Configuration File

API keys and settings are stored locally in:

~/.qkpr/config.json

Requirements

  • git version 2.0+
  • Node.js version 18+
  • Gemini API key (for AI features)

License

MIT License Β© KazooTTT

Related skills