Generated by the Printing Press from a BLE device spec.
This CLI is device-native: commands refer to BLE device capabilities rather than HTTP endpoints. By default it uses replay transport so verification never connects to or actuates a physical device; build with -tags ble_live and pass --live to control real hardware (see Live control).
Commands
walkingpad-pp-cli status --json prints replay-backed status fields.
walkingpad-pp-cli capabilities --json prints callable and withheld BLE capabilities with safety metadata.
walkingpad-pp-cli start --dry-run --json previews the start BLE write.
walkingpad-pp-cli stop --dry-run --json previews the stop BLE write.
walkingpad-pp-cli wake --dry-run --json previews the wake BLE write.
walkingpad-pp-cli set-speed <kmh> --dry-run --json previews the set-speed BLE write.
walkingpad-pp-cli set-mode <mode> --dry-run --json previews the set-mode BLE write.
Live control
By default this CLI is replay-backed and never opens a connection. To control a real device:
- Build with the BLE backend:
go build -tags ble_live ./... (CGO/CoreBluetooth on macOS; pure-Go D-Bus on Linux; WinRT on Windows).
- Pass
--live to actuate, with optional --address and --timeout. Physical-effect and configuration-risk commands also need --confirm-physical-effect.
walkingpad-pp-cli doctor reports whether the live backend is compiled in and, with --live, whether the device is reachable. walkingpad-pp-cli scan --live lists nearby devices by service UUID.
- Your terminal needs OS Bluetooth permission, and most BLE devices accept only one client — close any official app first.
MCP server
walkingpad-pp-mcp is a stdio MCP server that mirrors this CLI's commands as agent tools. It execs walkingpad-pp-cli (no BLE dependency of its own), so it builds anywhere. Read commands are exposed with readOnlyHint; commands a device cannot safely expose to an agent are hidden via the mcp:hidden annotation. Point an MCP host at the walkingpad-pp-mcp binary.