rvy/rodeo
v1.0.0-rc.5 ·
Lune client for rodeo — execute Luau in Roblox Studio over the rodeo gRPC API
rodeo-client-lune
Lune client for rodeo. Connects to a rodeo serve master and drives Roblox Studio — open Studios, run Luau, capture output, manage multiplayer test sessions.
Install
pesde add rvy/rodeo
Requires the rodeo CLI on PATH (the client spawns / connects to it).
Usage
local rodeo = require("@pkg/rodeo")
-- Blocks until rodeo serve is reachable (default 30s timeout).
local client = rodeo.connect({ port = 44899 })
local studio = client.getLocalStudio().open({ background = true })
local r = studio.editVm.runCode({ source = "return 1 + 1", showReturn = true })
print(r.output) -- contains "2"
studio.close()
client.close()
API
rodeo.connect(opts) blocks until the server is reachable, then returns a RodeoClient with:
getState(),listBackends(),listProcesses()getLocalStudio()→StudioBackendfor opening Studiosclose()
StudioBackend.open(opts) / .openPlace(opts) / .openFile(opts) → Studio with:
editVm.runCode({ source, target?, showReturn?, ... })→RunResult { ok, output, exitCode }startMultiplayerTest(opts)→MultiplayerTestServerclose()
See src/init.luau for the full type surface.