Installation
Homebrew
Section titled “Homebrew”brew install starhaven-io/tap/pinprickcrates.io
Section titled “crates.io”cargo install pinprickFrom source (unreleased HEAD)
Section titled “From source (unreleased HEAD)”cargo install --git https://github.com/starhaven-io/pinprickFrom releases
Section titled “From releases”Download a prebuilt binary from GitHub Releases. Binaries are available for:
- Linux amd64, glibc —
x86_64-unknown-linux-gnu - Linux arm64, glibc —
aarch64-unknown-linux-gnu - Linux amd64, musl (static) —
x86_64-unknown-linux-musl - Linux arm64, musl (static) —
aarch64-unknown-linux-musl - macOS Apple Silicon —
aarch64-apple-darwin
The gnu builds link against the system glibc. They are built on Ubuntu 24.04, so they require glibc 2.39 or newer (Ubuntu 24.04+, Debian 13+, Fedora 40+). On older releases — Ubuntu 22.04, Debian 12, RHEL 9 and the like — use the statically linked musl builds instead. The musl builds carry no glibc requirement and also run on musl-based distributions such as Alpine, as well as minimal or distroless containers.
GitHub Action
Section titled “GitHub Action”For CI audit runs without hand-rolling the install step, use starhaven-io/pinprick-action. The action installs a pinned pinprick release, verifies the downloaded archive checksum, runs pinprick audit, and can upload SARIF to GitHub code scanning.
See GitHub Action for a SHA-pinned workflow example and input reference.
Shell completions
Section titled “Shell completions”Generate completions for your shell:
pinprick completions zsh > ~/.zfunc/_pinprickpinprick completions bash > /etc/bash_completion.d/pinprickpinprick completions fish > ~/.config/fish/completions/pinprick.fishGitHub authentication
Section titled “GitHub authentication”pinprick uses the GitHub API to resolve tags, check releases, and fetch action source code.
It looks for a token in this order:
GITHUB_TOKENenvironment variableGH_TOKENenvironment variablegh auth tokenCLI fallback
The pin and update commands require a token. The audit command works without one but with reduced coverage — only local run: blocks are scanned.