Last updated 2026-05-07
Installation
stax ships as a single Go binary plus a Node.js runner. The CLI works
standalone for stacked-diff features; the runner is required if you
want to execute workflows locally. Repo-backed secrets use the external
sops CLI for file encryption; Stax manages the age identity
and orchestration around it.
1. Install the CLI
Homebrew (macOS / Linux)
brew install elloloop/tap/stax
Installs the latest stable release from the
elloloop/homebrew-tap
formula. Auto-detects darwin/arm64,
darwin/amd64, linux/arm64, and
linux/amd64. Upgrade with
brew upgrade stax.
One-line installer (macOS / Linux)
curl -fsSL https://raw.githubusercontent.com/elloloop/stax/main/install.sh | sh
Downloads the latest stax binary from GitHub Releases and
installs to $HOME/.local/bin. Override the install
directory with STAX_INSTALL_DIR=/usr/local/bin, pin a
specific version with STAX_VERSION=2.4.3, or force a
source build with STAX_FROM_SOURCE=1. The installer
detects linux/amd64, linux/arm64,
darwin/amd64, and darwin/arm64.
GitHub Releases
Prebuilt release assets are available for macOS, Linux, and Windows on the GitHub Releases page. macOS users can also install the signed universal DMG when they want the desktop app in addition to the CLI.
Windows (PowerShell)
iwr -useb https://raw.githubusercontent.com/elloloop/stax/main/install.ps1 | iex
Detects windows/amd64 and windows/arm64.
Installs to %LOCALAPPDATA%\stax\bin by default.
From source
git clone https://github.com/elloloop/stax.gitcd stax/platform/cli-gogo build -o stax ./cmd/stax./stax --versionRequirements: Go 1.26+. The CLI has no runtime dependencies — the binary is statically linked and self-contained.
Verify
stax --versionstax features # should print "(no features yet)" inside any directoryOptional: install SOPS for repo-backed secrets
brew install sops
# age CLI is optional. Stax can generate age identities itself:stax secrets keygenstax secrets pubkey
The sops binary is required for stax secrets edit,
verify, export, and runner sync. The standalone
age CLI is useful for manual debugging, but Stax can create
and read age identities without it.
2. Install the runner
The runner is a Node.js server. It is shipped under
platform/runner/ in the same repository as the CLI; you
can either clone the repo or install @stax/runner from
npm once it is published.
From the repository
git clone https://github.com/elloloop/stax.gitcd stax/platform/runnernpm installnpm run buildRequirements:
- Node.js ≥ 18 (the runner is tested on 22)
- Git (used for sandbox worktrees and to download marketplace actions)
- Docker (optional — only needed for Docker-based actions and
services:blocks)
Start the runner
# Foreground (development)cd platform/runner && npm run dev
# Background, via the CLI (preferred)stax runner start --workspace /path/to/your/project --port 4800The runner banner confirms which workspace it is serving:
Local GitHub Actions runner started API: http://localhost:4800/api Events: http://localhost:4800/api/events Health: http://localhost:4800/health Workspace: /path/to/your/project3. Install the web dashboard (optional)
The dashboard is a Next.js application under
platform/web/. It connects to the runner over its REST
and SSE APIs.
cd platform/webpnpm install # or npm installpnpm dev # http://localhost:3000
The CLI shortcut stax dashboard launches the dashboard
in dev mode and opens it in your default browser.
4. Container images (RunPod / remote dev)
stax also publishes prebuilt container images for remote
development. Three flavours, all available at
ghcr.io/elloloop/stax:
| Tag | Purpose | Size |
|---|---|---|
base / latest | General development. No CUDA. | Light |
inference | Run LLMs. CUDA 12.4, PyTorch, vLLM, AutoGPTQ, AutoAWQ. | Heavy |
train | Training. CUDA 12.8, PyTorch 2.9, autoresearch, wandb. | Heavy |
docker pull ghcr.io/elloloop/stax:basedocker pull ghcr.io/elloloop/stax:inferencedocker pull ghcr.io/elloloop/stax:trainSee Containerized Dev Pods for the SSH connection helper, environment variables, and tooling reference.
Requirements summary
| Component | Requirement |
|---|---|
| CLI | None (statically-linked binary) |
| CLI from source | Go ≥ 1.26 |
| Runner | Node.js ≥ 18, Git |
| Runner — Docker actions | Docker ≥ 20.10 |
| Web dashboard | Node.js ≥ 22, pnpm or npm |
| Repo-backed secrets | sops; age CLI optional |