25 releases (9 stable)

1.4.2 Feb 8, 2024
1.4.0 Dec 25, 2023
1.2.1 Nov 23, 2023
0.9.5 Jun 29, 2023

#1501 in Command line utilities

29 downloads per month

MIT license

365KB
725 lines

Propr

crates.io npm GitHub Workflow Status (with event)

Generate GitHub PR descriptions from the command line with the help of AI. propr aims to populate a basic PR description right from your terminal so you can focus on more important things.

Install

sh -c "$(curl -fsSL https://raw.githubusercontent.com/segersniels/propr-cli/master/scripts/install.sh)"

Cargo

cargo install propr

NPM

npm install -g @segersniels/propr

Binary

Grab a binary from the releases page and move it into your desired bin (eg. /usr/local/bin) location.

mv propr-<os> /usr/local/bin/propr
chmod +x /usr/local/bin/propr

Usage

Generate your PRs from the command line with AI

Usage: propr <COMMAND>

Commands:
  init      Initializes propr with a base configuration
  create    Creates a PR with a generated description
  generate  Generates a PR description and outputs it
  config    Configure propr to your liking
  help      Print this message or the help of the given subcommand(s)

Options:
  -h, --help     Print help
  -V, --version  Print version

Creating a PR

Creating a PR from the CLI is as easy as running propr create. If you want to specify which base branch to target you can provide the --branch flag. By default propr assumes that the main branch of the repository needs to be targeted.

Creates a PR with a generated description

Usage: propr create [OPTIONS]

Options:
  -b, --branch <branch>  The base branch to point your changes to
  -m, --model <model>    Instructs propr to use a specific model [possible values: gpt-3.5-turbo, gpt-3.5-turbo-16k, gpt-4, gpt-4-32k]
  -h, --help             Print help

You can regenerate a PR description at any time, even after the PR has already been created using propr generate.

Automatically generating a title

There is the option to allow propr to automatically generate a PR title based on the generated description. To enable this refer to propr config generate-title.

Using an assistant

You can configure propr to use a custom assistant using propr config assistant. This may be interesting if you want to share prompts and templates between devices and/or want to control everything externally.

Dependencies

~25–43MB
~741K SLoC