Skip to main content
All commands support --help for detailed usage. Run cerulion --help to see the full list.

Quick Reference

CategoryCommandDescription
workspaceworkspace create <name>Create a new workspace
workspace init <location>Initialize in existing directory
nodenode create <type>Create a new node
node modify <type>Add inputs/outputs to a node
node build <type>Compile and validate
node run <type>Run single node (testing)
graphgraph create <name>Create a graph definition
graph run <name>Execute a graph
topictopic listList all active topics
topic info <topic>Show topic details
topic echo <topic>Print messages in real-time
topic hz <topic>Measure publish rate
tuituiLaunch interactive terminal UI

Workspace Commands

Workspaces are the top-level container for your Cerulion project. They hold nodes, graphs, and configuration.

workspace create

Create a new workspace with scaffolded structure.
cerulion workspace create <name>
ArgumentDescription
nameName of the workspace to create
cerulion workspace create my-robot
Initialize a workspace in an existing directory.
cerulion workspace init <location>
ArgumentDescription
locationPath to initialize (use . for current directory)
cd existing-project
cerulion workspace init .
Use workspace init when adding Cerulion to an existing project without creating a new folder.

Node Commands

Nodes are the building blocks of Cerulion applications. Each node is a processing unit with typed inputs and outputs.

node create

Create a new node from a template.
cerulion node create <type> [options]
ArgumentDescription
typeNode type name (becomes the node identifier)
OptionDescription
--period-ms <N>Run periodically every N milliseconds
--ext-triggerTrigger from external event instead of timer
# Runs every 100ms
cerulion node create sensor_reader --period-ms 100
Add inputs, outputs, or bindings to an existing node.
cerulion node modify <type> <modification>
ModificationDescription
-i <schema> [name]Add an input port with the given schema
-o <schema> <topic>Add an output port publishing to topic
--ext-bindBind to external trigger source
cerulion node modify sensor_reader -i SensorData
cerulion node modify processor -i ImageFrame camera_input
Input and output schemas must be defined first using cerulion schema create.
Compile a node and validate its configuration.
cerulion node build <type>
ArgumentDescription
typeNode type to build
cerulion node build sensor_reader
Build validates schemas, checks port connections, and compiles the node code.
Run a single node directly (useful for testing).
cerulion node run <type>
ArgumentDescription
typeNode type to run
cerulion node run sensor_reader
For production, use cerulion graph run to run multiple connected nodes. Use node run for testing individual nodes in isolation.

Graph Commands

Graphs compose multiple nodes into a connected pipeline. Nodes communicate via topics.

graph create

Create a new graph definition.
cerulion graph create <name> [options]
ArgumentDescription
nameGraph name
OptionDescription
-n <prefix>Namespace prefix for all topics in this graph
cerulion graph create perception
Namespacing allows running multiple instances of the same graph with isolated topics.
Execute a graph (runs all staged nodes).
cerulion graph run <name>
ArgumentDescription
nameGraph name to run
cerulion graph run perception

Topic Commands

Topics are named channels for pub/sub communication between nodes.

topic list

List all active topics.
cerulion topic list
Example output:
TOPIC                      TYPE              PUBLISHERS  SUBSCRIBERS
sensors/temperature        TemperatureData   1           2
sensors/humidity           HumidityData      1           1
camera/front/image         ImageFrame        1           3
Show detailed information about a topic.
cerulion topic info <topic>
cerulion topic info sensors/temperature
Print messages from a topic in real-time.
cerulion topic echo <topic>
cerulion topic echo sensors/temperature
Press Ctrl+C to stop echoing. Add --count N to echo only N messages.
Measure the publish rate of a topic.
cerulion topic hz <topic>
cerulion topic hz sensors/temperature

Interactive UI

cerulion tui

Launch the terminal user interface for visual system monitoring.
cerulion tui
Features:
  • Real-time node status monitoring
  • Topic message inspection
  • Graph visualization
  • Performance metrics
  • Keyboard-driven navigation
KeyAction
qQuit
TabSwitch panels
EnterSelect / Expand
eEcho selected topic
?Show help

Global Options

These options work with any command:
OptionDescription
--helpShow help for command
--versionShow Cerulion version
--verboseEnable verbose output
--quietSuppress non-error output
--config <path>Use custom config file

Next Steps