Luumen is a unified CLI for Luau development.
It provides one command surface for common project workflows while using the existing Luau tooling ecosystem under the hood.
Supports both Roblox workflows and standalone Luau runtimes.
Luau projects built outside Studio often rely on several separate tools for setup, dependency management, serving, builds, formatting, and linting.
Luumen exists to make those workflows easier to run and easier to standardize across repos.
Instead of learning a different set of setup steps and commands for every project, a repo can expose one consistent interface through luu.
Luumen works with the existing ecosystem:
- Rokit for tool installation and management
- Wally for package dependencies
- Rojo, Selene, StyLua, Lune, Lute, and other tools for project workflows
It does not replace those tools.
Install Luumen with the hosted installer scripts.
macOS and Linux:
curl -fsSL https://luumen.dev/install.sh | bashWindows PowerShell:
irm https://luumen.dev/install.ps1 | iexor manually download the latest release from the Releases page and add it to your PATH.
Verify installation:
luu --versionluu create
luu init
luu install
luu add
luu dev
luu build
luu lint
luu format
luu test
luu run <task>
luu doctorCreate a project:
luu create my-game
cd my-game
luu devCreate from a specific template:
luu create --template rojo-wally my-game
luu create --template rojo-only my-game
luu create --template lune-http my-script
luu create --template lute-guessing my-scriptSet up an existing repo:
cd existing-repo
luu init
luu install
luu devAdd a tool or package:
luu add rojo
luu add stylua
luu add sleitnick/knit
luu add tool:rojo-rbx/rojo
luu add pkg:sleitnick/knitLuumen uses a shared Luau config file:
.config.luau
Use .config.luau for project info, tasks, and tool settings in one place.
return {
project = {
name = "my-game",
},
tasks = {
dev = {
"rojo sourcemap default.project.json --output sourcemap.json",
"rojo serve default.project.json",
},
build = "rojo build default.project.json --output build.rbxl",
lint = "selene src",
format = "stylua src",
test = "lune run test",
check = {
"luu lint",
"luu format",
"luu test",
},
},
luu = {
install = {
tools = true,
packages = true,
},
},
luau = {
languagemode = "strict",
},
}Tool-specific files such as rokit.toml, wally.toml, and Rojo project files are still used by their respective tools.
MIT License. See LICENSE.
