Skip to content

Installation

Engineering Runtime is a single binary. It carries its own configuration, authoring specs, command cheatsheets and example capabilities inside it, so a fresh machine needs nothing else — no Go toolchain, no source checkout, no cloud CLI.

Requirements

OS macOS, Linux or Windows
Arch amd64 or arm64
Runtime deps None. The binary is statically linked (CGO_ENABLED=0)
Optional gh, git, kubectl, terraform, … — only for the Command Engine binaries you actually use

Available artifacts

Releases are published to kishore-gutta/engineering-runtime-releases. Every release ships six archives plus a SHA256SUMS.txt:

Platform Arch Archive
macOS Apple Silicon engineering-runtime-<version>-darwin-arm64.tar.gz
macOS Intel engineering-runtime-<version>-darwin-amd64.tar.gz
Linux x86_64 engineering-runtime-<version>-linux-amd64.tar.gz
Linux arm64 engineering-runtime-<version>-linux-arm64.tar.gz
Windows x86_64 engineering-runtime-<version>-windows-amd64.zip
Windows arm64 engineering-runtime-<version>-windows-arm64.zip

Each archive contains the runtime binary plus README.md and LICENSE. It also carries reference copies of commands/ and configs/ — those are for browsing only. Nothing reads them at install time; the binary seeds its own copies during Bootstrap.

The releases repository is private

A plain curl of a download URL will not work — it needs an authenticated request. The examples below use the gh CLI, which is the simplest way to do that. Without gh, download the archive from the Releases page in a browser and skip to the extract step.

gh auth login    # once, if you haven't already

Install

VERSION=v0.5.2
ARCH=$([ "$(uname -m)" = "arm64" ] && echo arm64 || echo amd64)
ARCHIVE=engineering-runtime-$VERSION-darwin-$ARCH.tar.gz

cd ~/Downloads
gh release download $VERSION -R kishore-gutta/engineering-runtime-releases \
  -p "$ARCHIVE" -p SHA256SUMS.txt --clobber

# Verify the download before trusting it
shasum -a 256 -c SHA256SUMS.txt --ignore-missing

tar -xzf "$ARCHIVE"
sudo mv engineering-runtime-$VERSION-darwin-$ARCH/runtime /usr/local/bin/runtime
sudo chmod +x /usr/local/bin/runtime

# macOS quarantines downloaded binaries — clear it, or the OS refuses to run it
sudo xattr -d com.apple.quarantine /usr/local/bin/runtime 2>/dev/null || true

runtime version

No sudo? Install into your home directory instead:

mkdir -p ~/.local/bin
mv engineering-runtime-$VERSION-darwin-$ARCH/runtime ~/.local/bin/runtime
chmod +x ~/.local/bin/runtime
xattr -d com.apple.quarantine ~/.local/bin/runtime 2>/dev/null || true
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc && source ~/.zshrc
VERSION=v0.5.2
ARCH=$([ "$(uname -m)" = "aarch64" ] && echo arm64 || echo amd64)
ARCHIVE=engineering-runtime-$VERSION-linux-$ARCH.tar.gz

cd ~/Downloads
gh release download $VERSION -R kishore-gutta/engineering-runtime-releases \
  -p "$ARCHIVE" -p SHA256SUMS.txt --clobber

sha256sum -c SHA256SUMS.txt --ignore-missing

tar -xzf "$ARCHIVE"
sudo install -m 0755 engineering-runtime-$VERSION-linux-$ARCH/runtime /usr/local/bin/runtime

runtime version
$Version = "v0.5.2"
$Arch    = if ($env:PROCESSOR_ARCHITECTURE -eq "ARM64") { "arm64" } else { "amd64" }
$Archive = "engineering-runtime-$Version-windows-$Arch.zip"

cd ~\Downloads
gh release download $Version -R kishore-gutta/engineering-runtime-releases `
  -p $Archive -p SHA256SUMS.txt --clobber

# Verify — compare against the matching line in SHA256SUMS.txt
Get-FileHash $Archive -Algorithm SHA256
Select-String -Path SHA256SUMS.txt -Pattern $Archive

Expand-Archive $Archive -DestinationPath . -Force
New-Item -ItemType Directory -Force "$env:LOCALAPPDATA\Programs\engineering-runtime" | Out-Null
Copy-Item "engineering-runtime-$Version-windows-$Arch\runtime.exe" `
          "$env:LOCALAPPDATA\Programs\engineering-runtime\runtime.exe" -Force

# Add to PATH permanently — restart the terminal afterwards
setx PATH "$env:PATH;$env:LOCALAPPDATA\Programs\engineering-runtime"

runtime version

Windows SmartScreen may warn on first run because the binary is unsigned. Choose More info → Run anyway, or unblock it first:

Unblock-File $env:LOCALAPPDATA\Programs\engineering-runtime\runtime.exe

Use the shared composite action from engineering-runtime-samples, which downloads, checksum-verifies and bootstraps in one step:

- uses: kishore-gutta/engineering-runtime-samples/.github/actions/setup-runtime@main
  with:
    runtime_github_token: ${{ secrets.RUNTIME_GITHUB_TOKEN }}
    github_organization: my-org      # optional — seeds Runtime Context
    version: v0.5.2                  # optional — empty installs latest

See CI/CD for the full job contract.

Always verify the checksum

The verification step is not optional ceremony. SHA256SUMS.txt is published alongside every archive precisely so that a truncated download or a tampered artifact fails loudly instead of silently installing.

Verify the install

runtime version
runtime bootstrap
runtime config validate

runtime config validate is the single best "is my machine set up correctly" check. It reports where your config, policy, context and capabilities live, which auth providers are enabled and whether they actually authenticate, which allowed binaries are installed, and any policy rule that can never match. It modifies nothing.

Uninstall

Remove the binary and, if you want a clean slate, the Runtime Home:

sudo rm -f /usr/local/bin/runtime      # or ~/.local/bin/runtime
rm -rf ~/.engineering-runtime          # deletes your config, policy and audit log
Remove-Item -Recurse -Force "$env:LOCALAPPDATA\Programs\engineering-runtime"
Remove-Item -Recurse -Force "$env:USERPROFILE\.engineering-runtime"

Removing the Runtime Home discards your config.yaml, policy-config.yaml, context.yaml, any capabilities you wrote, and the entire audit log. Back it up first if any of that matters.

Next