clasp-cli

Crates.ioclasp-cli
lib.rsclasp-cli
version3.1.0
created_at2026-01-16 05:03:31.728492+00
updated_at2026-01-25 07:24:25.777338+00
descriptionCommand-line interface for CLASP protocol servers and bridges
homepagehttps://clasp.to
repositoryhttps://github.com/lumencanvas/clasp
max_upload_size
id2047926
size124,710
Moheeb Zara (virgilvox)

documentation

README

clasp-cli

Command-line interface for CLASP protocol routers and connections.

Installation

cargo install clasp-cli

Or build from source:

git clone https://github.com/lumencanvas/clasp.git
cd clasp
cargo install --path crates/clasp-cli

Commands

Start CLASP Router

Important: You need a CLASP router running before protocol connections can work.

# Start a CLASP router (required - central message hub)
clasp server --port 7330

# Start router with specific transport
clasp server --protocol websocket --bind 0.0.0.0 --port 7330

Start Protocol Connections

Note: These commands create protocol connections that connect to the CLASP router. Each connection translates bidirectionally between its protocol and CLASP.

# Start an OSC connection (listens for OSC, routes to CLASP router)
clasp osc --port 9000

# Start an MQTT connection (connects to broker, routes to CLASP router)
clasp mqtt --host localhost --port 1883 --topic "sensors/#"

# Start a WebSocket connection
clasp websocket --mode server --url 0.0.0.0:8080

# Start an HTTP REST API connection
clasp http --bind 0.0.0.0:3000

How it works:

External Protocol ←→ Protocol Connection ←→ CLASP Router ←→ Other Connections/Clients

For example, clasp osc --port 9000:

  • Listens for OSC messages on UDP port 9000
  • Connects to CLASP router (default: localhost:7330)
  • Translates OSC ↔ CLASP bidirectionally
  • Routes through CLASP router to other clients/connections

Publish/Subscribe

# Publish a value
clasp pub /lights/brightness 0.75

# Subscribe to an address pattern
clasp sub "/lights/**"

Create Bridges

# Bridge OSC to MQTT
clasp bridge --source osc:0.0.0.0:9000 --target mqtt:localhost:1883

Configuration

# Show current configuration
clasp info

# Start with config file
clasp server --config clasp.toml

Options

Flag Description
-v, --verbose Enable verbose logging
--json Output in JSON format
--config Path to configuration file

License

Licensed under either of Apache License, Version 2.0 or MIT license at your option.


Maintained by LumenCanvas | 2026

Commit count: 79

cargo fmt