Install Ptah

The release installer downloads the archive for your OS and architecture, verifies its SHA-256 checksum, and installs ptah, ptah-compat and ptah-ls without administrator rights.

Current release v0.3.0 · pre-GA: the native command tree and public Go API can still change · MIT

macOS
$ curl -fsSL https://ptah.run/install.sh | sh

Installs to ~/.local/bin. Needs a terminal, tar, and curl. Homebrew works too: brew install stokaro/ptah/ptah. Fetch archives with curl or gh, not a browser — browser downloads carry a quarantine attribute that Gatekeeper rejects on the ad-hoc-signed binaries.

Linux
$ curl -fsSL https://ptah.run/install.sh | sh
# without curl
$ wget -qO- https://ptah.run/install.sh | sh

Installs to ~/.local/bin. Archives: ptah_0.3.0_linux_amd64.tar.gz, ptah_0.3.0_linux_arm64.tar.gz.

Windows
PS> irm https://ptah.run/install.ps1 | iex

PowerShell 5.1 or later. Installs to %LOCALAPPDATA%\Ptah\bin and updates the user Path unless disabled. Pin a version with $env:PTAH_INSTALL_VERSION = 'v0.3.0'.

Homebrew
$ brew install stokaro/ptah/ptah
# development branch, builds from source
$ brew install --HEAD stokaro/ptah/ptah-edge

macOS or Linux. Both formulas provide binaries with the same names; remove one before switching to the other.

Go
$ go install go.5x5.cz/ptah/cmd/ptah@v0.3.0
$ go install go.5x5.cz/ptah/cmd/ptah-compat@v0.3.0
$ go install go.5x5.cz/ptah/cmd/ptah-ls@v0.3.0

Binaries land in GOBIN, or $(go env GOPATH)/bin when unset. That directory is not automatically on PATH.

Source
$ git clone https://github.com/stokaro/ptah.git
$ cd ptah
$ make build

make build writes ptah, ptah-compat, ptah-ls and the integration-test runner under bin/, using the toolchain declared in go.mod.

Expected output
ptah: sha256 verified against checksums.txt
ptah: installed ptah, ptah-compat, ptah-ls in <install directory>
Version: <installed version>

The Version: line comes from the installed binary — the script runs it before reporting success. On Linux and macOS, if the destination is not on PATH, the installer prints export PATH="$HOME/.local/bin:$PATH".

Verify
$ ptah version
$ ptah-compat version
$ ptah-ls --version

Each prints a version, commit, build date, Go toolchain and platform. ptah-compat uses a version command rather than a --version flag.

Pin a releaseinstall.sh | sh -s -- --version v0.3.0
Verify the signaturechecksums.txt is signed with Sigstore; verify with cosign verify-blob or pass --verify-signature.
Inspect before runningcurl -fsSL https://ptah.run/install.sh -o install.sh && less install.sh