Skip to main content
This guide covers installing the roz CLI, pulling a simulation container, and configuring an LLM provider so the agent can reason about your robot.

Prerequisites

RequirementMinimum
Rust1.92 or later (rustup.rs)
DockerDocker Desktop or Docker Engine (docker.com)
LLM API keyAnthropic, OpenAI, Google, or local Ollama
Docker must be running before you start a simulation. The code editor, agent runtime, and WASM sandbox work without Docker, but you need a sim container to actually control a robot.

Install the CLI

Install from crates.io:
cargo install roz-cli
Or clone and build from source:
git clone https://github.com/BedrockDynamics/roz-oss.git
cd roz-oss
cargo install --path crates/roz-cli
Verify the installation:
roz --version

Pull a Sim Container

Each supported robot has a Docker sim container that bundles Gazebo, the robot’s middleware stack, and an MCP server. Pull the one you want to use:
docker pull bedrockdynamics/substrate-sim:ros2-manipulator
A 6-DOF UR5 arm in Gazebo with MoveIt2. MCP tools: move_to_pose, get_joint_state, stop_arm. WASM channels: 6 joint velocities.

Configure Your LLM Provider

The agent needs an LLM to reason about tasks and generate control code. Set the API key for your provider:
export ANTHROPIC_API_KEY=sk-ant-...
Uses Claude by default. Recommended for WASM code generation — Claude produces the most reliable WAT output.

Verify Everything

Run the built-in diagnostic to check that all dependencies are configured correctly:
roz doctor
This checks for:
  • Rust toolchain version
  • Docker availability and daemon status
  • LLM provider connectivity
  • Sim container images on disk
If everything passes, you are ready to start. Head to the Quick Start to control your first robot.