🎁 Get the FREE AI Skills Starter Guide β€” Subscribe β†’
BytesAgainBytesAgain
πŸ¦€ ClawHub

roku

by @gumadeiras

Control Roku devices via CLI. Discovery, remote control, app launching, search, and HTTP bridge mode for real-time control.

Versionv2.0.1
Downloads2,613
Installs1
TERMINAL
clawhub install roku

πŸ“– About This Skill


name: roku description: Control Roku devices via CLI. Discovery, remote control, app launching, search, and HTTP bridge mode for real-time control. homepage: https://github.com/gumadeiras/roku-cli repository: https://github.com/gumadeiras/roku-cli metadata: {"clawdbot":{"emoji":"πŸ“Ί","requires":{"bins":["roku"]},"install":[{"id":"node","kind":"node","package":"roku-ts-cli","bins":["roku"],"label":"Install Roku CLI (npm)"}]}}

Roku CLI

Fast TypeScript CLI for controlling Roku devices via the ECP API.

Installation

npm install -g roku-ts-cli@latest

Quick Start

# Discover devices and save an alias
roku discover --save livingroom --index 1

Use the alias

roku --host livingroom device-info roku --host livingroom apps

Commands

| Command | Description | |---------|-------------| | roku discover | Find Roku devices on network | | roku --host device-info | Get device info | | roku --host apps | List installed apps | | roku --host command | Send remote key | | roku --host literal | Type text | | roku --host search --title | Search content | | roku --host launch | Launch app | | roku --host interactive | Interactive remote mode |

Interactive Mode

roku livingroom                    # interactive control
roku --host livingroom interactive # same thing

Use arrow keys, enter, escape for remote-like control.

Bridge Service

Run a persistent HTTP bridge as a native OS service:

# Install and start the service
roku bridge install-service --port 19839 --token secret --host livingroom --user
roku bridge start --user

Service management

roku bridge status --user roku bridge stop --user roku bridge uninstall --user

Send commands via HTTP:

# Send key
curl -X POST http://127.0.0.1:19839/key \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer secret" \
  -d '{"key":"home"}'

Type text

curl -X POST http://127.0.0.1:19839/text \ -H "Content-Type: application/json" \ -H "Authorization: Bearer secret" \ -d '{"text":"hello"}'

Launch app

curl -X POST http://127.0.0.1:19839/launch \ -H "Content-Type: application/json" \ -H "Authorization: Bearer secret" \ -d '{"app":"plex"}'

Health check

curl http://127.0.0.1:19839/health -H "Authorization: Bearer secret"

Bridge Endpoints

| Endpoint | Body | |----------|------| | POST /key | {"key": "home"} | | POST /text | {"text": "hello"} | | POST /search | {"title": "Stargate"} | | POST /launch | {"app": "plex"} | | GET /health | β€” | | GET /health?deep=1 | Deep health check (probes Roku) |

Aliases

# Save device alias
roku discover --save livingroom --index 1
roku alias set office 192.168.1.20

Save app alias

roku alias set plex 13535

List aliases

roku alias list

Use aliases

roku --host livingroom launch plex

Remote Keys

home, back, select, up, down, left, right, play, pause, rev, fwd, replay, info, power, volume_up, volume_down, mute

Notes

  • Roku must be on the same network as the CLI
  • Bridge service runs as a native launchd (macOS) or systemd (Linux) service
  • Use --user flag for user-space service (no sudo required)
  • Use --token for authentication in bridge mode
  • Source

    https://github.com/gumadeiras/roku-cli

    πŸ’‘ Examples

    # Discover devices and save an alias
    roku discover --save livingroom --index 1

    Use the alias

    roku --host livingroom device-info roku --host livingroom apps

    πŸ“‹ Tips & Best Practices

  • Roku must be on the same network as the CLI
  • Bridge service runs as a native launchd (macOS) or systemd (Linux) service
  • Use --user flag for user-space service (no sudo required)
  • Use --token for authentication in bridge mode