Skip to main content
This page gets the cerulion CLI and its sibling daemons onto your machine and verified. The install script fetches prebuilt binaries; cargo install and a source checkout build them from source. Cerulion runs on Linux and macOS.

Prerequisites

Rust toolchain

Rust 1.93 or later (stable), with cargo. Install via rustup.

cargo on PATH

Required at runtime. cerulion node build shells out to cargo, and cerulion graph run loads the compiled node libraries it produces.

Cerulion Studio (optional)

The desktop app for visualization. It runs the cerulion CLI for discovery, so install the CLI first. Studio is not open source; book 30 minutes with us for access.
cargo must be on your PATH even after installation. The CLI shells out to cargo build when you build a node, and it loads the resulting compiled libraries (.dylib on macOS, .so on Linux) when you run a graph. Without cargo, those commands fail.
Install the Rust toolchain with rustup if you do not already have it:
Confirm cargo is available:

Install the CLI

Downloads the release archive for your platform and installs all three binaries — cerulion, cerulion-netd, and cerulion-connectd — side by side:
The script needs curl and tar. It resolves the latest stable release, downloads the archive and its .sha256 sidecar, and refuses to install if the checksums do not match. Because all three binaries land together, cerulion connect and cerulion pair work without a source build.It installs into $CERULION_INSTALL_DIR, defaulting to ~/.cerulion/bin. Nothing puts that directory on your PATH for you, so the script prints the line to add to your shell profile when it is not there already:
Pass options through the pipe with sh -s --. --dir picks a different destination, and --version pins a specific release:
Prebuilt archives exist for x86_64 and arm64 on both Linux and macOS. On any other platform the script exits with error: unsupported platform; build from source, so use one of the other two tabs. Under WSL2 it warns that WSL2 is unverified and unsupported, then installs the Linux artifact anyway.
The script selects the latest stable release, so it skips prereleases. If the only release is a prerelease, it exits with GitHub lists no stable release of Cerulion yet — pass --version vX.Y.Z-PRERELEASE to install it explicitly.
macOS: the release binaries are not notarized. Binaries this script installs are fine — curl sets no quarantine flag. But an archive you download in a browser is quarantined, and Gatekeeper then blocks all three binaries on first run. Clear the flag on all three from the extracted directory, since the CLI spawns its siblings:
Open a new shell so the updated PATH takes effect, then check that the binary resolves:
Keep cerulion-netd beside the cerulion binary. The CLI spawns it for live runs and for topic discovery, and it looks for it next to itself unless CERULION_NETD_BIN points elsewhere. Both the install script and cargo install put them in the same directory, so this is already true unless you move one.

How generated workspaces resolve their dependencies

cerulion workspace create writes the root Cargo.toml for you, and it picks where cerulion_core and native_ros2_messages come from based on where the cerulion binary itself lives: The CLI prints which one it chose on the line under the created path, so the choice is never silent.

Verify the installation

Confirm everything is wired up: print the version, list the available commands, set up completions, and scaffold a throwaway workspace.

Check the version

List the commands

Confirm the CLI runs and prints its help:
You should see the top-level commands: workspace, node, graph, topic, schema, bag, flashback, ros2, viz, connect, pair, login, account, tui, trace, completions, and clean.

Install shell completions

Optional, but it makes the CLI much easier to explore. cerulion completions supports bash, zsh, fish, elvish, and powershell:

Create a smoke-test workspace

Create a scratch workspace to confirm the CLI can scaffold a project:
Expected output, with the second line naming the dependency source it picked:
cerulion --version printed a version, cerulion --help listed the commands, and cerulion workspace create install_check created a new workspace. Your installation is working. You can delete the install_check directory once you are satisfied.
A robotic hand lights a switch as sensors glow blue to celebrate a verified installation

Questions or setup help?

The Cerulion CLI is open source. If you have a question, want help with your first run, or want to try the separate Studio desktop app or Hindsight (not open source), book 30 minutes with us.

Get help in 30 minutes

Bring a setup question, your use case, or a run you want to investigate.

Next steps

Quickstart

Build and run your first two-node graph end to end.

Concepts

Understand workspaces, nodes, graphs, topics, and schemas.