Install
One binary is the TUI, the agent, and the updater.
Install the binary
Section titled “Install the binary”curl -fsSL https://cdn.steelframe.work/install.sh | shsteelframe versionThe same binary provides:
steelframe # operator TUI (multi-project console)steelframe agent run # run a project agentsteelframe setup # install host tools (RustFS, coding runtime)steelframe agent install # install the systemd unitsteelframe update # pull a newer build from the release channelSet STEELFRAME_NO_UPDATE=1 to skip the launch-time update check and the
agent’s release-channel poll.
Priorities and host requirements
Section titled “Priorities and host requirements”- Rust — the binary is self-contained; Rust is only needed to build from source (edition 2024, 1.85+).
- Coding CLI —
pi, installed or migrated bysteelframe setup. Workers spawn it fromPATH(orcoding_runtime_binary). Setup runshttps://pi.dev/install.sheven whenpiis already present, so a pre-1.0 npm install migrates to the managed Pi 1.0 package (@earendil-works/pi-coding-agent). Later updates arepi update. ghCLI — GitHub operations. A dedicated GitHub App is recommended for production (see GitHub App setup).- Chrome — only if you use frontend safety checks.
Host setup
Section titled “Host setup”steelframe setupInstalls host tooling including RustFS (WAL/object storage) and the Pi coding runtime.
Run as a systemd service
Section titled “Run as a systemd service”export STEELFRAME_MASTER_KEY='<a long random secret>'steelframe agent installThe 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). agent install does
not install the agent sentinel; install that unit beside the agent so a dead
database still restarts the process and can alert Discord
(Agent sentinel).
Build from source
Section titled “Build from source”git clone https://github.com/chipcolate/steelframecd steelframecargo 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 consolecargo run -p steelframe-tui
# GUI Desktop (not a workspace member)cargo run --manifest-path gui/Cargo.toml --lockedPull-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.
Updating
Section titled “Updating”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:
steelframe update