Skip to content

Command line tool for easily creating pull requests for part of your changes without interrupting your flow.

License

Notifications You must be signed in to change notification settings

annervisser/pr-cli

Repository files navigation

PR-CLI

Pull Request - Command Line Interface

✨ Functionality

Picking commits (pr-cli pick)

Quickly cherry-pick one or more commits from your current branch onto a new one and create a pull request for these commits.

Very useful when doing a quick bugfix/cleanup/change unrelated to your branch. Or when creating frequent, small commits.

  • No need to leave your current branch!
  • Uncommitted changes are not a problem, no need to stash

pr-cli achieves this by creating a new worktree in a temporary directory, so that your main worktree is completely unaffected

  • Interactive settings / confirmation screen

It also has all the PR title/body features of pr-cli pr

Usage

  1. Run pr-cli pick (or pr-cli p) in a git repository
  2. Choose the commits you want to pick (If there is more than one)
  3. Choose how to set the pull request title (will also be used as branch name)
  4. Confirm/Change settings
  5. Press Enter to create Pull Request

Creating a pull request (pr-cli pr)

Create a GitHub pull request based on your current branch, like gh pr create but better.

  • Quick options for setting the PR title
    • Use one of the commit's titles
    • Use the branch name
    • Type a custom one
  • Automatically generate PR body based on all commits

Demo

pr-cli pick demo

📥 Installation

⬆️ Upgrading

To upgrade your installation to the latest version:

deno install --reload --force --global --name pr-cli --allow-run --allow-read --allow-env jsr:@annervisser/pr-cli

🔲 Completions

Enable auto-completion of pr-cli commands by running the command for your shell:

Bash

echo 'source <(pr-cli completions bash)' >> ~/.bashrc

ZSH

echo 'source <(pr-cli completions zsh)' >> ~/.zshrc

Fish

echo 'source (pr-cli completions fish | psub)' >> ~/.config/fish/config.fish: