Skip to content

RBM

Install, update, and manage workbenches from the command line so your workshop stays consistent and your assistant always knows where everything lives.

rbm is the Redstone workbench manager. It installs workbenches into your workshop, keeps them updated, and maintains the registry file (WORKSHOP.md) that maps what is installed. Your CLI agent reads that registry on startup to understand the layout of your workshop. Without it, the agent cannot route tasks to the right workbench.

Think of rbm the way you think of a package manager for software: once it is on your machine, you run a command to install a new capability, another to update it, and everything else (file placement, version tracking, conflict handling) is handled for you.

Installing rbm brings two things:

  • The rbm CLI – the command you use to install, update, and inspect workbenches.
  • Launchpad – the optional desktop app that visualizes your workshops and provides a point-and-click interface for the same actions. Launchpad requires rbm to be on your PATH. It shells out to rbm for every operation.

You do not need Launchpad to use rbm. But if you use Launchpad, rbm must be installed and on your PATH first.

Run the one-liner for your platform. The installer downloads the correct binary, verifies its checksum, and places it in ~/.cargo/bin (or %USERPROFILE%\.cargo\bin on Windows) by default.

macOS and Linux

Terminal window
curl -L https://raw.githubusercontent.com/Redstone-Logic/redstone-workbench-manager/main/install.sh | bash

Windows (PowerShell)

Terminal window
irm https://raw.githubusercontent.com/Redstone-Logic/redstone-workbench-manager/main/install.ps1 | iex

Options (macOS/Linux)

Terminal window
# Install a specific version
curl -L .../install.sh | bash -s -- --version v0.9.4
# Install to a different directory (must be on your PATH)
curl -L .../install.sh | bash -s -- --dir /usr/local/bin

After installation, confirm it works:

Terminal window
rbm --version

A workshop is the root directory where your workbenches live. Initialize one with:

Terminal window
mkdir my-workshop && cd my-workshop
rbm init

rbm init creates the WORKSHOP.md registry file and AGENTS.md (the root instructions your CLI agent reads on startup). Run it once per workshop. It is safe to re-run – it will not overwrite files you have already edited.

Terminal window
# See all workbenches available from your configured sources
rbm search
# Filter by keyword
rbm search compliance
# Install a workbench into the current workshop directory
rbm install foundation
rbm install branded-docs
Terminal window
# Show the health of every workbench in the current workshop
rbm status
# Check a specific workbench
rbm status --workbench foundation
# Machine-readable output (for scripting or agent consumption)
rbm status --json

Workbench health states:

Status Meaning
READY Configured and working normally
UNCONFIGURED Freshly installed. Your assistant will guide you through setup
UPDATE_AVAILABLE A newer version is in the source
LOCKED Blocked by a fleet policy or a manual lock
UNHEALTHY Missing files or corrupted state. Run rbm doctor
Terminal window
# Fetch the latest source data and update all installed workbenches
rbm update
# Update a single workbench
rbm update foundation

rbm update is safe to run at any time. It uses a conffile-style strategy: files you have edited since install are preserved, and any incoming change is placed alongside your file as <file>.new so you can review the diff.

Terminal window
# Show all installed workbenches
rbm list
# Show only workbenches that have updates waiting
rbm list --outdated
# Show details for one workbench
rbm info foundation
Terminal window
rbm sync

rbm sync fetches the latest source data, reconciles the on-disk state, enforces any remote locks, and flags workbenches that have drifted from their approved configuration (when the workbench is running in locked mode). Run this after changes to your source list or when you want a full reconcile rather than an upgrade.

Sources are the upstream repositories your workbenches are installed from. The Redstone free source is added automatically by rbm init.

Terminal window
# List configured sources
rbm source list
# Fetch the latest manifest from all sources (happens automatically during rbm update)
rbm source update
# Browse all workbenches across all sources
rbm source browse
# Add a custom source (signed workbench-repo)
rbm source add <url> --key <ed25519-public-key-hex>
Terminal window
rbm remove foundation

Add --force to skip the confirmation prompt.

Terminal window
# Report common issues: missing files, config problems, source failures
rbm doctor
# Automatically fix issues where safe to do so
rbm doctor --fix

Each workbench runs in one of two modes:

Mode Behavior
edit-in-place Your local edits are preserved on update (default)
locked Drift from the approved configuration is detected and reported by rbm sync
Terminal window
# Show current mode and overlay details
rbm mode foundation
# Set a workbench to locked mode
rbm mode foundation locked
# Return to the default
rbm mode foundation edit-in-place

rbm ui opens a loopback-only browser interface where you can install, update, and inspect workbenches without typing commands.

Terminal window
# Launch the web UI (opens in your browser automatically)
rbm ui
# Install a desktop launcher so it appears in your app menu (Linux)
rbm ui install
# Remove the desktop launcher
rbm ui uninstall

The UI binds to 127.0.0.1 only and is never reachable from outside your machine.

Some workbenches are available on paid plans and require a license token. When you purchase a plan, you receive a token that starts with rbml_.

Terminal window
# Install a license token
rbm license add rbml_your-token-here
# Install from a file
rbm license add @/path/to/token.txt
# List installed licenses and which workbenches each unlocks
rbm license list

Once a valid license is installed, rbm install and rbm update will include the licensed workbenches automatically. A license stored on one machine does not transfer automatically to another. Run rbm license add on each machine you use.

If you use Claude Code as your CLI agent harness, rbm hooks wires a routing hook that lets rbm intercept certain commands and filter their output. This is optional and does not affect other harnesses.

Terminal window
# Install routing hooks into .claude/settings.json
rbm hooks install
# Remove the hooks
rbm hooks uninstall

rbm is not on PATH after install. The installer places the binary in ~/.cargo/bin (or %USERPROFILE%\.cargo\bin on Windows). If your shell does not include that directory in PATH, both rbm commands and Launchpad will fail to find the binary. See the PATH tip in the install section.

Launchpad cannot start workbench actions. Launchpad calls rbm for every operation. If rbm is not on the system PATH (not just your interactive shell’s PATH), Launchpad will report errors or show workbenches as unavailable. Confirm with:

Terminal window
which rbm # macOS/Linux
where rbm # Windows (cmd)

If rbm is found in your interactive terminal but Launchpad still fails, your GUI application environment may not inherit your shell’s PATH. Add the install directory to your system PATH rather than only your shell profile.

Your edits are overwritten on update. They should not be. rbm update uses conffile-style upgrade logic: it compares the current file against the hash recorded at install time. Only files that are identical to what was installed can be overwritten. If you have edited a file, the incoming version is written as <file>.new and your copy is left intact. If you are seeing edits overwritten, run rbm doctor to check the health of the install record.

Workbench stays UNCONFIGURED after you fill in the answers. Configuration answers live in setup/answers.yaml inside the workbench directory. If the file was written somewhere else, or if the YAML is malformed, rbm status will not detect it. Run rbm status --json and inspect the output, or run rbm doctor --fix to let rbm correct common issues.

Free vs. paid scope. Some workbenches require a paid license (see Paid workbenches). Running rbm install <name> on a licensed workbench without a valid token will fail with an access error, not a “not found” error. Run rbm license list to confirm which packages your installed tokens cover.

Symptom Cause Fix
command not found: rbm rbm is not on PATH Add ~/.cargo/bin (Linux/macOS) or %USERPROFILE%\.cargo\bin (Windows) to your PATH, then open a new terminal
Install script fails with “Release not found” The version tag does not exist or the download URL is unreachable Check your internet connection. Visit the releases page to confirm the version exists
Checksum mismatch during install Download was corrupted in transit Re-run the install one-liner. If it fails repeatedly, download the binary and checksum manually from the releases page
rbm update reports no changes but the status shows UPDATE_AVAILABLE Source cache is stale Run rbm source update first, then rbm update
rbm sync shows drift on a workbench you did not change The workbench is in locked mode and a file was modified outside rbm Run rbm mode <name> to review the drift list. Use rbm mode <name> edit-in-place if you want to allow local edits
rbm doctor reports missing source cache The local source clone was deleted or corrupted Run rbm source update to re-fetch all source caches
License add fails with “invalid token” The token string was truncated, has extra whitespace, or belongs to a different install Copy the full rbml_… string from your account page, or use rbm license add @token.txt to load it from a file
Launchpad shows workbenches as unavailable rbm is not on the system PATH or the license required is not installed Confirm which rbm works in a new terminal, and run rbm license list to verify coverage
rbm status shows UNHEALTHY Required files are missing from the workbench directory Run rbm doctor --fix. If the workbench is still unhealthy, remove it with rbm remove <name> and reinstall
macOS blocks the binary with “unidentified developer” The binary is unsigned (the installer clears the quarantine flag automatically, but manual downloads do not) Run: xattr -d com.apple.quarantine $(which rbm)