Files
steel-dev__cli/docs/references/steel-cli.md
junhsss 97b72ff545 feat: steel computer (#98)
* feat(computer): add computer commands with exec and ssh

* fix(computer): flush bridge writes and read gateway error bodies

* test(computer): drive exec and ssh end to end through fake servers

* chore(api): regenerate bindings from the current spec

* feat(computer): list exec and ssh in describe

* chore: bump version
2026-09-10 18:26:14 +09:00

118 lines
4.5 KiB
Markdown

# Steel CLI Reference (High-Level)
This reference captures the stable, high-level command surface of `steel`.
For generated flags and argument schemas, use [../cli-reference.md](../cli-reference.md).
## Command Groups
### Project and Workflow Commands
- `steel forge`: initialize a project from a Steel template.
- `steel run`: execute a Steel workflow from templates/tasks.
### Browser Commands
- `steel browser start`: create or attach a Steel browser session.
- `steel browser stop`: stop active session(s).
- `steel browser sessions`: list session metadata as JSON.
- `steel browser live`: print the active session live-view URL.
- `steel browser <inherited-command>`: pass through to vendored `agent-browser` runtime.
### Profile Commands
- `steel profile import`: import a local Chrome profile into Steel (macOS only).
- `steel profile sync`: sync a local Chrome profile to an existing Steel profile (macOS only).
- `steel profile list`: list all saved Steel browser profiles.
- `steel profile delete`: delete a saved Steel profile (local metadata only).
### Computer Commands
- `steel computer create`: create a cloud computer from a template.
- `steel computer list`, `steel computer get`, `steel computer delete`: inspect and remove computers.
- `steel computer pause`, `steel computer resume`: pause and wake a computer.
- `steel computer use`: remember a default computer so other commands need no id.
- `steel computer exec -- <command>`: run one command; output streams and the exit code is returned.
- `steel computer ssh`: open an SSH shell, or run a command over SSH with `-- <command>`.
### Credentials Commands
- `steel credentials create`: store a new credential for a given origin.
- `steel credentials list`: list stored credentials.
- `steel credentials update`: update an existing credential.
- `steel credentials delete`: delete a stored credential.
### API Tool Commands
- `steel scrape`: scrape webpage content and metadata.
- `steel screenshot`: capture a webpage screenshot URL.
- `steel pdf`: generate a webpage PDF URL.
### Local Runtime Commands
- `steel dev install`: install local runtime assets only.
- `steel dev start`: start local runtime containers.
- `steel dev stop`: stop local runtime containers.
### Account and Utility Commands
- `steel login`: authenticate and save API key in config.
- `steel logout`: clear local auth.
- `steel config`: print current auth/session context.
- `steel settings`: switch persisted local/cloud preference.
- `steel cache`: clean cache.
- `steel update`: update CLI.
- `steel docs`: open docs site.
- `steel support`: open support channel.
- `steel star`: open repository page.
## Global Conventions
- `--help` and `--version` are available globally.
- Browser command paths skip auto-update checks for lower command latency.
- Command help for inherited browser commands is delegated to the vendored browser runtime.
- `steel browser start` and `steel browser sessions` emit display-safe connect
URLs with sensitive query keys redacted.
- `steel scrape`, `steel screenshot`, and `steel pdf` share local/cloud endpoint
resolution conventions with browser lifecycle commands.
- `steel scrape` defaults to markdown-first output for token efficiency; use
`--raw` to print the full API JSON payload.
## Core Config Paths
- Config directory: `~/.config/steel`
- Main config: `~/.config/steel/config.json`
- Telemetry state: `~/.config/steel/telemetry.json`
- Browser session state: `~/.config/steel/browser-session-state.json`
- Profile metadata: `~/.config/steel/profiles/<name>.json`
On the first run where telemetry is enabled, the CLI prints a one-time notice to stderr describing what is collected and how to opt out. The notice is suppressed in JSON/non-TTY output.
Telemetry can be disabled persistently in `config.json` with:
```json
{
"telemetry": {
"disabled": true
}
}
```
## Environment Variables (Common)
- `STEEL_API_KEY`: cloud auth for session API and browser runtime.
- `STEEL_API_URL`: cloud API endpoint override.
- `STEEL_BROWSER_API_URL`: canonical self-hosted local endpoint override.
- `STEEL_LOCAL_API_URL`: backward-compatible self-hosted alias.
- `STEEL_CONFIG_DIR`: override config directory root.
- `STEEL_TELEMETRY_HOST`: override the PostHog ingest host.
- `STEEL_TELEMETRY_DISABLED`: force telemetry off.
- `STEEL_PROFILE`: default profile name for browser sessions.
## Key References
- [Steel Browser Reference](./steel-browser.md)
- [Agent Troubleshooting Playbook](./agent-troubleshooting.md)
- [Browser Compatibility](../browser-compat.md)
- [agent-browser Migration Guide](../migration-agent-browser.md)