annervisser/pr-cli
Command line tool for easily creating pull requests for part of your changes without interrupting your flow.
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
- Run
pr-cli pick(orpr-cli p) in a git repository - Choose the commits you want to pick (If there is more than one)
- Choose how to set the pull request title (will also be used as branch name)
- Confirm/Change settings
- 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
📥 Installation
-
Install prerequisites:
ℹ️ Check if you already have these installed by running
deno --versionandgh --version -
Install pr-cli:
deno install --global --name pr-cli --allow-run --allow-read --allow-env jsr:@annervisser/pr-cli
Installing from a local checkout
-
Installing from a local checkout of this repository requires specifying
--config=deno.json
during installation. (see denoland/deno#26212)deno install --global --name pr-cli --allow-run --allow-read --allow-env --config=deno.json ./main.ts
-
-
Install Gum:
pr-cli install-deps
ℹ️ you can also install Gum manually if you prefer:
https://github.com/charmbracelet/gum#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)' >> ~/.bashrcZSH
echo 'source <(pr-cli completions zsh)' >> ~/.zshrcFish
echo 'source (pr-cli completions fish | psub)' >> ~/.config/fish/config.fish: