Skip to content

Install

One binary is the TUI, the agent, and the updater.

Terminal window
curl -fsSL https://pub-320c65d12c95410aa947b2b539e51834.r2.dev/install.sh | sh
steelframe version

The same binary provides:

Terminal window
steelframe # operator TUI (multi-project console)
steelframe agent run # run a project agent
steelframe setup # install host tools (RustFS, coding runtime)
steelframe agent install # install the systemd unit
steelframe update # pull a newer build from the release channel

Set STEELFRAME_NO_UPDATE=1 to skip the launch-time update check and the agent’s release-channel poll.

  • Rust — the binary is self-contained; Rust is only needed to build from source (edition 2024, 1.85+).
  • Coding CLIclaude and/or grok, codex, opencode, or pi, authenticated on the agent host. Workers spawn it from PATH (or coding_runtime_binary).
  • gh CLI — GitHub operations. A dedicated GitHub App is recommended for production (see GitHub App setup).
  • Chrome — only if you use frontend safety checks.
Terminal window
steelframe setup

Installs host tooling including RustFS (WAL/object storage) and the selected coding runtime.

Terminal window
export STEELFRAME_MASTER_KEY='<a long random secret>'
steelframe agent install

The agent binds 127.0.0.1:7700 by default. For remote consoles, terminate TLS at nginx and expose only the agent API. Production VMs use make deploy from a checkout (see Deploy).

Terminal window
git clone https://github.com/chipcolate/steelframe
cd steelframe
cargo build --release
# point git at .husky so `git push` runs lint-before-push (clippy)
make hooks
# local dev agent (reads .env)
make dev
# multi-project TUI console
cargo run -p steelframe-tui
# GUI Desktop (not a workspace member)
cargo run --manifest-path gui/Cargo.toml --locked

Pull-request CI (cargo test --workspace --locked and clippy) lives in infra/github-actions/ci.yml; copy it into .github/workflows/ with make install-github-ci.

The agent polls latest.json on the release channel every auto_update_minutes (default 5; 0 disables). When a newer version is pending, dispatch is locked until in-flight workers finish; the agent then applies the binary and re-execs. See Releases and auto-update.

Manual update:

Terminal window
steelframe update