Getting started
This is the shortest path from zero to a working agent.
1. Install the binary
Section titled “1. Install the binary”One binary is the TUI, the agent, and the updater.
curl -fsSL https://pub-320c65d12c95410aa947b2b539e51834.r2.dev/install.sh | shsteelframe versionSee Install for host setup, systemd, and building from source.
2. Install host tools
Section titled “2. Install host tools”steelframe setupThis installs the host tools, including RustFS and your chosen coding runtime.
The coding CLI must be authenticated on the agent host (for example claude,
grok login, or codex login).
3. Run an agent
Section titled “3. Run an agent”export STEELFRAME_MASTER_KEY='<a long random secret>'steelframe agent runThe agent binds 127.0.0.1:7700 by default. Put it behind nginx for remote
access, or use make dev for a local development loop.
4. Register the agent in a console
Section titled “4. Register the agent in a console”The TUI and Desktop GUI connect to agents listed in
~/.config/steelframe/projects.toml. The first launch of the TUI opens a
project wizard:
steelframeFor a remote agent:
ssh root@HOST cat /root/steelframe-tui.token > /tmp/steelframe-tui.tokensteelframe config \ --name my-project \ --url https://my-project.example.com \ --token-file /tmp/steelframe-tui.token \ --operator your-github-loginSee Multi-project for the registry and Auth for tokens.
5. Configure the project
Section titled “5. Configure the project”Open the console and go to Config:
- GitHub repo —
owner/name. - Pickup labels — which issues the agent may pick up.
- Coding runtime —
claude(default),grok,codex,opencode, orpi. - Health checks — used for staging and production promotion gates.
- Credentials — Grafana, GitHub App, Discord (stored encrypted).
Then trigger a sync (Sync issues in the TUI, or POST /api/tasks/sync).
6. Watch a task
Section titled “6. Watch a task”Create an issue in the repository with a clear specification and the pickup label, then open Dashboard → Workflows in a console and drill into the run.
For a source-only project (no live cluster), set delivery_profile=source:
once CI is green the PR is merged to main and the task is done.