Getting started
What Ember is
Last updated October 23, 2026
Ember is a package manager for Luau: one CLI that installs packages from the
Ember registry (and from wally, pesde, and Forest indices), publishes packages, pins
GitHub-released tools per project, runs project scripts, and opens Roblox
Studio. One manifest (ember.toml), one lockfile (ember.lock), one binary.
The basics#
- Packages are named
scope/name, lowercase. A scope belongs to the GitHub account that first publishes under it. - Published versions are immutable. They are never changed or overwritten, only superseded by newer versions.
- Downloads come from a CDN (cdn.luaupm.com) with no metering and no token: installing works anonymously, at any scale, and even when the registry API is down.
Environments#
Where a package's code runs is its environment:
| Environment | Meaning |
|---|---|
roblox | Roblox, on the client or the server |
roblox_server | Roblox, server-only |
lune | Lune scripts |
lute | Lute |
seal | Seal scripts |
zune | Zune scripts |
luau | portable Luau, which runs in every environment |
The old names still parse: shared for roblox, and server for
roblox_server. Foreign ecosystems translate automatically: pesde roblox
and roblox_server keep their names, and wally realms shared/server
map to roblox/roblox_server. Runtimes compares the seven.
A package also has a language: plain Luau, Alloy, Loom, or Luwu. See Languages.
Where to go next#
- Install Ember, then take the quick start.
- The CLI overview lists every command.
- The manifest guide documents every field of
ember.toml.