rvy/rodeo
v1.0.0-rc.1 ·
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")
local task = require("@lune/task")
local client = rodeo.connect({ port = 44899 })
for _ = 1, 20 do
if client.isHealthy() then break end
task.wait(0.5)
end
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) returns a RodeoClient with:
isHealthy(),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.