# Cerulion Docs - [Cerulion](https://docs.cerulion.com/index.md): Rust robotics middleware with shared-memory transport and replay. - [Installation](https://docs.cerulion.com/cerulion/installation.md): Install the Cerulion CLI with the install script, from crates.io, or from a source checkout, and verify it works. - [Quickstart](https://docs.cerulion.com/cerulion/quickstart.md): Build and run a two-node Cerulion graph from scratch, then watch its messages live with topic echo. - [Core concepts](https://docs.cerulion.com/cerulion/concepts.md): The mental model behind Cerulion: workspaces, nodes, graphs, topics, and schemas, and how they fit together. - [Execution order](https://docs.cerulion.com/cerulion/execution-order.md): See how your graph determines node order, trigger timing, process layout, and replay behavior. - [Why Cerulion](https://docs.cerulion.com/cerulion/why-cerulion.md): See how Cerulion keeps single-machine robotics latency flat, makes execution replayable, and surfaces deadline misses. - [Define a node](https://docs.cerulion.com/cerulion/guides/define-a-node.md): Create a node type with ports and a trigger policy, then write its tick() in Rust. - [Wire and run a graph](https://docs.cerulion.com/cerulion/guides/wire-and-run-a-graph.md): Create a graph, stage node instances, wire their inputs, validate, and run it. - [Inspect topics](https://docs.cerulion.com/cerulion/guides/inspect-topics.md): Discover and watch live local and remote topics, measure rates, and open the TUI. - [Messages and schemas](https://docs.cerulion.com/cerulion/guides/messages-and-schemas.md): Use built-in ROS 2 message types in a node, and define a custom workspace schema. - [Backpressure and deadlines](https://docs.cerulion.com/cerulion/guides/backpressure-and-deadlines.md): Choose a queue policy for a fast producer, cap a node's rate, and react when data arrives late or a publish is missed. - [Record and replay a run](https://docs.cerulion.com/cerulion/guides/record-and-replay.md): Record a run to an MCAP bag, inspect it, play it back as a robot substitute, and re-execute your nodes against it. - [Connect an MCP client](https://docs.cerulion.com/cerulion/guides/connect-an-mcp-client.md): Install the Cerulion MCP server and connect Claude Code, Codex, Cursor, Claude Desktop, or VS Code to your robot workspace. - [Run a graph across processes](https://docs.cerulion.com/cerulion/guides/run-multi-process.md): How Cerulion splits a graph into worker processes by default, how to declare or derive process groups, and what happens when a worker dies. - [Network a graph and reach remote robots](https://docs.cerulion.com/cerulion/guides/network-and-remote-robots.md): How cross-machine visibility works by default, how to restrict it with the network block, and how to find, pair with, and pull topics from a robot. - [Bridge a ROS 2 system](https://docs.cerulion.com/cerulion/guides/bridge-ros2.md): Discover an existing ROS 2 robot's DDS topics with cerulion ros2 attach, generate a bridge graph, and consume the topics in Cerulion. - [Cerulion Studio](https://docs.cerulion.com/cerulion/studio.md): The desktop app you watch your robot in: live topics on a stage, the running graph, recordings, Hindsight, and an agent dock. Not open source — contact Cerulion for access. - [Visualize a running graph](https://docs.cerulion.com/cerulion/guides/visualize-in-studio.md): Watch live local or remote topics on the Cerulion Studio stage — no visualization node, no YAML, no config file. - [Hindsight](https://docs.cerulion.com/cerulion/hindsight.md): Point Hindsight at a robot recording and find the moment the run went sideways, with every claim cited to a real topic and timestamp. Not open source — contact Cerulion for access. - [CLI reference](https://docs.cerulion.com/cerulion/reference/cli.md): Complete reference for every cerulion command, subcommand, flag, and argument. - [Node macro reference](https://docs.cerulion.com/cerulion/reference/node-macro.md): Complete reference for the #[cerulion_node] and #[cerulion_node_impl] macros, the #[input]/#[output] field attributes, and #[on_event] callbacks. - [Trigger policies](https://docs.cerulion.com/cerulion/reference/trigger-policies.md): The trigger policy SPEC grammar, macro-attribute equivalents, the defaulting matrix, and policy short labels. - [Graph and schema files](https://docs.cerulion.com/cerulion/reference/graph-and-schema-files.md): Exact YAML field specifications for graph files and schema files, including the network and process_groups blocks. - [Message types](https://docs.cerulion.com/cerulion/reference/message-types.md): The native_ros2_messages packages, the ROS 2 to Rust type mapping, and how fixed and variable fields are written. - [Environment variables](https://docs.cerulion.com/cerulion/reference/environment-variables.md): Every environment variable Cerulion reads: logging, networking, recording, and live-run tuning. - [MCP tools](https://docs.cerulion.com/cerulion/reference/mcp-tools.md): Every tool the Cerulion MCP server lists, what it does, and what it reaches. - [Community](https://docs.cerulion.com/cerulion/community.md): Meet roboticists building with Cerulion, get help, and find your first contribution. This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.