Documentation menu

Commands

CLI overview

Last updated October 23, 2026

Global behavior#

  • Every successful command ends with a dimmed Done in 142ms timer.
  • Errors print as ✗ message and exit 1; CLI usage errors exit 2.
  • embr i is an alias for embr install, and embr x for embr execute.
  • Tool runs through shims (typing rojo in a project) don't print the timer.
  • Every script Ember runs is announced first, in npm's dimmed two-line form (> acme/rocket@0.1.0 build, then the command line). See embr run.

Commands#

CommandWhat it does
embr initinteractive manifest wizard
embr addrecord a dependency, resolving before editing
embr installinstall dependencies and tools, write ember.lock
embr outdatedlist the dependencies with a newer release; installs nothing
embr patchedit a dependency's source and keep the edit
embr publishpack, authenticate, upload to the registry, or --local
embr authlogin, logout, whoami, token for the GitHub login
embr yankkeep a version out of new installs, or --undo it
embr deprecatemark a package or one version as deprecated, with a reason
embr mcpserve package search to a coding agent over MCP
embr indexmanage named indices (wally, pesde, forest, custom); local needs no entry
embr cacheclear the archive and index caches
embr toolpin GitHub-released binaries
embr executerun a released tool without installing it (alias x, or the embx binary)
embr runrun a [scripts] entry, or list them all
embr build test start serve dev fmtthe six scripts that can drop run, also as build:prod
embr studiodescribe and open the project in Roblox Studio
embr selfinstall, update, uninstall, editor IntelliSense, default-index

The six script subcommands are real commands, not a fallback for unrecognized input, so a [scripts] entry can never shadow or replace an Ember command. A name that starts with one of them and a colon, such as embr build:prod or embr dev:gameplay, runs that script without run. Every other script needs embr run.

Exit codes#

CodeMeaning
0success
1runtime error
2CLI usage error