Skip to content

sagwaco/pretty-plz

Repository files navigation

pretty-plz

Natural-language to shell-command CLI. Ask for what you want, pick a command, run it. The chosen command is printed to stdout for you to run.

Demo

Quickstart

Install:

Use the install script:

curl -fsSL https://raw.githubusercontent.com/sagwaco/pretty-plz/main/install.sh | sh

Or, use a package manager instead:

brew install sagwaco/tap/plz
npm install -g @sagwaco/plz

Configure:

plz configure   # pick a provider, model, and enable shell auto-prefill

Optional configuration:

Build from source (requires Rust 1.85+)
git clone git@github.com:sagwaco/pretty-plz.git && cd pretty-plz
cargo install --path .

Make sure ~/.cargo/bin is on your PATH if you built from source.

Set credentials manually (optional):
export ANTHROPIC_API_KEY=sk-ant-...
plz list files in cwd

Updating

When a newer release is available, plz prints a one-line hint to stderr. Upgrade with:

plz update
# or
plz configure update

Usage

plz <natural-language query>...

Quotes are optional — everything after the flags is the query. Run plz --help for all flags.

# Usage with flags
plz --provider openai show disk usage of subdirs sorted descending
plz --model claude-haiku-4-5 convert input.svg to a transparent 512x512 png

Available commands:

plz login                  # login to an LLM service
plz status                 # show sign-in status
plz update                 # upgrade to the latest release
plz uninstall              # remove plz, credentials, and shell integration
plz configure              # full guided setup
  plz configure login        # sign in (alias for `plz login`)
  plz configure model        # change the default model
  plz configure update       # update plz (alias for `plz update`)

See docs/ for shell integration, authentication, and configuration.

Privacy

plz sends your query, OS, shell, current directory, and a truncated listing of the current directory to the selected model. It does not send shell history, and it has no telemetry or usage tracking.

Development

cargo build
cargo build --release
cargo run -- "list files in cwd"

Install your development build:

cargo install --path .

Uninstall your development build:

cargo uninstall plz

License

Apache 2.0. See LICENSE.

About

Yet another CLI utility that converts natural language to bash command.

Resources

License

Stars

3 stars

Watchers

0 watching

Forks

Contributors