Skip to main content

Installation

Homebrew

brew tap lets-cli/tap
brew install lets-cli/tap/lets

Arch

Install the latest binary release from AUR lets-bin.

If you use yay as your AUR helper:

yay -S lets-bin

You can also install the bleeding edge version from AUR lets-git.

yay -S lets-git

Shell Script

curl -fsSL https://lets-cli.org/install.sh | bash

This installs the latest lets binary to $HOME/.lets/bin/lets.

The installer will make lets available in your PATH by creating a symlink in the first existing preferred directory from this list:

  • $HOME/.local/bin
  • $HOME/bin
  • $HOME/.bin

If none of these directories are in PATH, the installer creates $HOME/.local/bin, links lets there, and adds $HOME/.local/bin to your shell profile.

For CI and other non-interactive installs, set LETS_INSTALL_NO_PROMPT=1 to skip shell profile prompts. When PATH setup is needed, the installer will use the same non-interactive behavior and update the detected shell profile.

curl -fsSL https://lets-cli.org/install.sh | LETS_INSTALL_NO_PROMPT=1 bash

To install a specific version of lets (for example v0.0.21):

curl -fsSL https://lets-cli.org/install.sh | bash -s -- v0.0.21

You can also use LETS_VERSION. If both LETS_VERSION and a positional version are provided, LETS_VERSION wins.

curl -fsSL https://lets-cli.org/install.sh | LETS_VERSION=v0.0.21 bash

To install into a custom lets home directory, set LETS_HOME. The binary will be installed to $LETS_HOME/bin/lets.

curl -fsSL https://lets-cli.org/install.sh | LETS_HOME=$HOME/tools/lets bash

Binary (Manual)

Download the version you need for your platform from Lets Releases.

Once downloaded, the binary can be run from anywhere.

Ideally, install it somewhere in your user PATH, such as $HOME/.local/bin.

Build from source

Ensure you have a supported version of Go installed and configured. You can find the minimum required Go version in the project's go.mod.

You can install the latest release globally with:

go install github.com/lets-cli/lets/cmd/lets@latest

Or install it into another directory:

env GOBIN=$HOME/.local/bin go install github.com/lets-cli/lets/cmd/lets@latest

GitHub Action

Use lets-cli/lets-action in a GitHub Actions workflow:

- name: Install Lets
uses: lets-cli/lets-action@v1.1
with:
version: latest

Update

Self Upgrade

Starting from version 0.0.30, lets has a built-in self-upgrade command.

It updates the binary located at which lets.

lets self upgrade

Self upgrade is intended for installer-managed and manual user-owned installs. If lets was installed by Homebrew, Arch, or another package manager, use that package manager instead.

If your lets version is below 0.0.30, use the shell script and specify the latest version.

Homebrew

brew upgrade lets-cli/tap/lets

Arch

AUR packages provide the latest version.

yay -Syu lets-bin

For the bleeding edge package:

yay -Syu lets-git

Shell Script

Run the install script again to update lets to the latest version.

curl -fsSL https://lets-cli.org/install.sh | bash

To update to a specific version:

curl -fsSL https://lets-cli.org/install.sh | LETS_VERSION=v0.0.21 bash

Binary

Download the latest version from Lets Releases and replace your existing lets binary.

Uninstall Lets

Self Upgrade

Self upgrade is not a separate install source. If your current binary came from Homebrew or Arch, use the package manager uninstall instructions below. Otherwise, use the Shell Script or Binary instructions.

Homebrew

brew uninstall lets-cli/tap/lets

Optionally remove the tap after uninstalling:

brew untap lets-cli/tap

Arch

yay -R lets-bin

For the bleeding edge package:

yay -R lets-git

Shell Script

Remove the install script binary and common PATH symlinks:

rm -f "$HOME/.local/bin/lets" "$HOME/bin/lets" "$HOME/.bin/lets"
rm -rf "$HOME/.lets"

If you installed with a custom LETS_HOME, remove that directory instead of $HOME/.lets.

If the installer added $HOME/.local/bin to your shell profile, remove the # lets block from that profile.

Binary

Remove the binary from the location where you installed it.

For example, if it is the active lets on your PATH and is not managed by Homebrew or Arch:

rm -f "$(command -v lets)"