Homebrew (macOS)

brew install kan/roji/roji

Works on Linux and macOS:

curl --proto '=https' --tlsv1.2 -fsSL https://raw.githubusercontent.com/kan/roji/main/install.sh | bash

This will:

  • Download the roji binary for your platform (Linux/macOS, x86_64/arm64)
  • Verify it against the release’s checksums.txt, and its build provenance with gh attestation verify when the GitHub CLI is installed and logged in
  • Install to ~/.local/bin by default (interactive prompt for location)
  • Run roji doctor --fix to set up the environment
  • Install CA certificate to system trust store
  • Register and start roji as a system service

Options

curl -fsSL ... | bash -s -- --global       # Install to /usr/local/bin
curl -fsSL ... | bash -s -- --local        # Install to ~/.local/bin (default)
curl -fsSL ... | bash -s -- --no-service   # Skip service registration
curl -fsSL ... | bash -s -- --upgrade      # Skip upgrade prompts
curl -fsSL ... | bash -s -- --version 1.2.0  # Install a specific version (or: | ROJI_VERSION=1.2.0 bash)

Manual Installation

Download from GitHub Releases or build from source:

git clone https://github.com/kan/roji.git && cd roji && make build
sudo ./bin/roji doctor --fix    # Set up environment
sudo ./bin/roji ca install      # Install CA certificate
sudo ./bin/roji service install && sudo ./bin/roji service start

A downloaded archive can be checked against its build provenance with the GitHub CLI, the way the installer does. Put the version you downloaded in --source-ref:

gh attestation verify roji_Linux_x86_64.tar.gz --repo kan/roji \
  --signer-workflow kan/roji/.github/workflows/release-build.yml \
  --source-ref refs/tags/vX.Y.Z

--signer-workflow limits the check to archives built by the release workflow, and --source-ref to the ones built from that version’s tag. For v1.3.0, the signer workflow is kan/roji/.github/workflows/release.yml. Earlier releases carry no attestation.

Upgrading

Re-run the install script. It detects existing installations and upgrades automatically:

curl --proto '=https' --tlsv1.2 -fsSL https://raw.githubusercontent.com/kan/roji/main/install.sh | bash

Or with Homebrew:

brew upgrade kan/roji/roji

Verifying Installation

roji version    # Show version info
roji doctor     # Check environment

All doctor checks should pass. If not, run sudo roji doctor --fix to auto-repair.

Next Steps