Skip to content

Wowu/pro

Repository files navigation

pro - Pull Request Opener

A single command to open current PR in browser. Supports GitHub and GitLab. Available for macOS, Linux and Windows.

pro

Demo

pro

Installation

Homebrew (macOS/Linux) - recommended

brew install wowu/tap/pro

Scoop (Windows)

scoop bucket add wowu https://github.com/wowu/scoop.git
scoop install wowu/pro

dpkg (Ubuntu/Debian)

wget https://github.com/wowu/pro/releases/latest/download/pro-linux-amd64.deb
dpkg -i pro-linux-amd64.deb

Replace amd64 with arm64 if you are on ARM.

Download latest binary (Linux)

curl -sSL -o /usr/local/bin/pro https://github.com/wowu/pro/releases/latest/download/pro-linux-amd64
chmod +x /usr/local/bin/pro

Replace amd64 with arm64 if you are on ARM.

Go package

go install github.com/wowu/pro@latest

Go 1.18 is required. pro binary will be installed in $GOPATH/bin (most likely ~/go/bin/pro).

Compile from source

  1. Install Go 1.18 (brew install go or see offical docs)

  2. Clone the repository and build the project:

    git clone git@github.com:Wowu/pro.git && cd pro
    go build

Precompiled binaries

Download binaries from the releases page.

Usage

Authorize GitHub / GitLab

pro uses GitHub or GitLab API to find Pull Request related to current branch. Access is granted via personal access tokens.

GitHub

Use auth command to login:

pro auth github

You will be asked to generate personal access token and paste it in the prompt. It's recommended to change "Expiration" to "No expiration" before creating the token. Token will be stored in ~/.config/pro/config.yml.

GitLab

Use auth command to login:

pro auth gitlab

You will be asked to generate personal access token and paste it in the prompt. Token will be stored in ~/.config/pro/config.yml.

Open Pull Request in default browser

To open current Pull Request simply type:

pro

If you're on the main branch (main, master, trunk, etc.) repository homepage will be opened instead. If no PR matching current branch is found, a URL to create new Pull Request will be printed.

Use -p | --print flag to print the Pull Request URL instead of opening it in default browser:

pro -p

Use -c | --copy flag to copy the Pull Request URL to clipboard instead of opening it in default browser:

pro -c