Skip to content

Getting started

This is the shortest path from zero to a working agent.

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

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

See Install for host setup, systemd, and building from source.

Terminal window
steelframe setup

This 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).

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

The 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.

The TUI and Desktop GUI connect to agents listed in ~/.config/steelframe/projects.toml. The first launch of the TUI opens a project wizard:

Terminal window
steelframe

For a remote agent:

Terminal window
ssh root@HOST cat /root/steelframe-tui.token > /tmp/steelframe-tui.token
steelframe config \
--name my-project \
--url https://my-project.example.com \
--token-file /tmp/steelframe-tui.token \
--operator your-github-login

See Multi-project for the registry and Auth for tokens.

Open the console and go to Config:

  • GitHub repoowner/name.
  • Pickup labels — which issues the agent may pick up.
  • Coding runtimeclaude (default), grok, codex, opencode, or pi.
  • 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).

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.