Skip to main content

lumio dev

Run an extension locally with the mock Lumio host. From the project directory:

pnpm install
lumio dev

The CLI builds the available src/editor.tsx and src/layer.tsx surfaces and the server bundle with esbuild, watches their sources, and serves the sandbox at http://127.0.0.1:3100/. It writes development bundles under .lumio/dev/; dist/ stays reserved for lumio build. The terminal accepts commands: type /help for the list, or type plain text to send a chat message.

The sandbox and terminal share one session. Switching between editor and layer, firing an event, running a bot-module handler, and calling a server function all use the same mock host, storage, player, rewards, viewers, and local server runtime. A bot module can run with no visual target; when it also declares editor or layer, its handlers and surfaces run together. --bot-module opens with the chat panel first; it does not start a separate simulator.

Sandbox​

The browser shows the available surfaces and panels for events, chat, rewards, music, scenarios, local data, server calls, and logs. Source edits rebuild the affected bundle and refresh the preview. Changes to lumio.config.json and files under lumio/mocks/ reload the session; a platform API or a real account is not needed.

The mock host answers the SDK's Worker RPC calls. Server functions and bot-module handlers run in the devkit's local V8 replica. Mock values and event presets can live in lumio/mocks/; see Testing extensions. An invalid event field is reported before your extension receives the event.

Use the terminal while the session is running:

/event twitch:follower user_name=Alice
/event @big-sub
/chat @moderator:alice !points 100
/reward "Hydrate" --user alice --platform kick
/timer reminder
/view layer
/status

For a second terminal, use lumio trigger. It sends commands to this project's running session and supports repeatable event loads.

Options​

FlagDefaultPurpose
--port <port>3100Local sandbox port
--openoffOpen the sandbox in a browser
--bot-moduleoffShow chat first
--platform <platform>twitchDefault chat platform: twitch, youtube, or kick
--role <role>everyoneDefault chat user's role
--seed <n>1Reproducible generated event fields
--no-cooldownoffDisable local command cooldowns
--view editor|layerfirst availableSurface shown first

lumio dev --automation-node uses the automation-node simulator. The shared sandbox described here is for extension surfaces and bot modules.

Local and deployed behavior​

The local session models host RPC, event payloads, trigger matching, and server-handler limits. It does not create an install or call the staging API. Deployment still needs lumio build and lumio deploy; account permissions, connected platforms, persistent production data, and the per-extension runtime origin are exercised only in a deployed Lumio installation. Test those parts in an installed extension after the local flow passes.