cli-commands

star 7

Use for dora CLI command questions. Triggers on: dora run, dora build, dora start, dora stop, dora new, dora up, dora destroy, dora list, dora ps, dora logs, dora check, dora graph, dora daemon, dora coordinator, CLI命令, 命令行, 运行数据流, 构建, 启动, 停止

ZhangHanDong By ZhangHanDong schedule Updated 1/21/2026

name: cli-commands description: "Use for dora CLI command questions. Triggers on: dora run, dora build, dora start, dora stop, dora new, dora up, dora destroy, dora list, dora ps, dora logs, dora check, dora graph, dora daemon, dora coordinator, CLI命令, 命令行, 运行数据流, 构建, 启动, 停止" globs: ["/dataflow.yml", "/dataflow.yaml"] source: "https://dora-rs.ai"

Dora CLI Commands

Complete reference for the dora command-line interface

Installation

# Via pip (recommended)
pip install dora-rs-cli

# Via cargo
cargo install dora-cli

# Via shell installer (macOS/Linux)
curl --proto '=https' --tlsv1.2 -LsSf \
  https://github.com/dora-rs/dora/releases/latest/download/dora-cli-installer.sh | sh

Command Overview

Command Description
dora new Create new dataflow, node, or operator
dora build Build nodes in a dataflow
dora run Run dataflow (standalone mode)
dora up Start coordinator and daemon
dora start Start dataflow on daemon
dora stop Stop running dataflow
dora list / dora ps List running dataflows
dora logs View node logs
dora destroy Stop coordinator and daemon
dora check Check system status
dora graph Generate dataflow visualization

Creating Projects

New Dataflow

# Create new dataflow project
dora new my_project --kind dataflow

# With Python language
dora new my_project --kind dataflow --lang python

# With Rust language
dora new my_project --kind dataflow --lang rust

New Node

# Create new Python node
dora new my_node --kind node --lang python

# Create new Rust node
dora new my_node --kind node --lang rust

New Operator

# Create new operator
dora new my_operator --kind operator --lang rust

Building

# Build all nodes in dataflow
dora build dataflow.yml

# Build with uv (faster Python packages)
dora build dataflow.yml --uv

# Build specific node
dora build dataflow.yml --node camera

Running Dataflows

Standalone Mode (dora run)

# Run dataflow directly (no daemon)
dora run dataflow.yml

# Run with uv for Python packages
dora run dataflow.yml --uv

# Run from URL
dora run https://example.com/dataflow.yml

Daemon Mode

# Step 1: Start coordinator and daemon
dora up

# Step 2: Start dataflow
dora start dataflow.yml

# Step 3: Check status
dora list

# Step 4: Stop dataflow
dora stop <dataflow-id>

# Step 5: Shutdown daemon
dora destroy

Monitoring

List Running Dataflows

# List all running dataflows
dora list
# or
dora ps

View Logs

# View logs for a node
dora logs <dataflow-id> <node-id>

# Follow logs (like tail -f)
dora logs <dataflow-id> <node-id> --follow

Check System Status

# Check dora system status
dora check
# or
dora system status

Visualization

# Generate Mermaid diagram
dora graph dataflow.yml

# Output to file
dora graph dataflow.yml > graph.md

Example output:

flowchart TB
  camera[camera]
  detector[detector]
  plot[plot]

  camera -- image --> detector
  camera -- image --> plot
  detector -- bbox --> plot

Distributed Mode

Coordinator

# Start coordinator on custom port
dora coordinator --port 6012

Daemon

# Connect daemon to remote coordinator
dora daemon --coordinator-addr 192.168.1.100:6012

Remote Dataflow

# dataflow.yml with deployment config
nodes:
  - id: camera
    path: camera_node.py
    _unstable_deploy:
      machine: robot-1

  - id: processor
    path: processor_node.py
    _unstable_deploy:
      machine: server-1

Common Workflows

Development Workflow

# 1. Create project
dora new my_robot --kind dataflow

# 2. Edit dataflow.yml and create nodes

# 3. Build
dora build dataflow.yml --uv

# 4. Run and test
dora run dataflow.yml --uv

# 5. Stop with Ctrl+C

Production Workflow

# 1. Start services
dora up

# 2. Deploy dataflow
dora start dataflow.yml

# 3. Monitor
dora list
dora logs <id> <node>

# 4. Update (stop and restart)
dora stop <id>
dora start dataflow.yml

# 5. Shutdown
dora destroy

Remote Dataflow

# On coordinator machine
dora coordinator

# On each robot/server
dora daemon --coordinator-addr <coordinator-ip>:6012

# Deploy dataflow
dora start dataflow.yml

Environment Variables

Variable Description
DORA_COORDINATOR_ADDR Coordinator address
DORA_DAEMON_ADDR Daemon address
DORA_OTLP_ENDPOINT OpenTelemetry endpoint
DORA_JAEGER_TRACING Enable Jaeger tracing

Troubleshooting

Common Issues

"Daemon not running"

# Start the daemon
dora up

"Port already in use"

# Kill existing processes
dora destroy
# Then restart
dora up

"Build failed"

# Check build output
dora build dataflow.yml --uv 2>&1 | tee build.log

Debug Mode

# Run with debug output
RUST_LOG=debug dora run dataflow.yml

Related Skills

  • dataflow-config - YAML configuration
  • node-api-rust - Rust node development
  • node-api-python - Python node development
Install via CLI
npx skills add https://github.com/ZhangHanDong/dora-skills --skill cli-commands
Repository Details
star Stars 7
call_split Forks 1
navigation Branch main
article Path SKILL.md
More from Creator
ZhangHanDong
ZhangHanDong Explore all skills →