Documentation menu

Commands

embr self

Last updated October 23, 2026

Manages the embr binary itself, and your editor's ember.toml support.

Subcommands#

  • embr self install — copies two binaries to ~/.ember/bin — embr itself and embx — and puts that folder on PATH. Automatic on Windows (via the registry, with the change broadcast so new terminals pick it up); printed instructions elsewhere.
  • embr self update — checks the latest GitHub release of ember-luau/ember, compares versions, and downloads the right asset for the platform. Pre-releases are invisible to it. It refreshes the embx copy too, and creates it if missing, so an existing install gains embx from a plain update.
  • embr self uninstall — removes Ember from the system, embx included.
  • embr self code — sets up ember.toml IntelliSense in VS Code (below).
  • embr self default-index [index]: shows or sets the index for dependencies that name none, for every project on this machine. It takes ember, local, wally, pesde, forest, or an index URL, and --reset goes back to Ember's registry. The setting is kept in ~/.ember/config.toml. A project's own [indices] default still wins. Ember's registry is the default until you change it; publishing a local package does not change it.

Why self install matters#

~/.ember/bin also holds the tool shims, so it must be on PATH even if you installed Ember another way.

cargo install embr users still need embr self install — see Installing Ember.

Editor IntelliSense: embr self code#

Gives ember.toml completions, validation, and hover docs in VS Code by pointing the Even Better TOML extension (tamasfe.even-better-toml) at the hosted schema. It detects every installed flavor that has run at least once — VS Code, VS Code Insiders, VSCodium, Cursor — and adds this to each one's user settings.json:

"evenBetterToml.schema.associations": {
  "(^|[/\\\\])ember\\.toml$": "https://emberpm.dev/ember.schema.json"
}
  • Comments and existing entries in settings.json survive the edit.
  • An association from an earlier embr, keyed on embr.toml, is removed. That key never matched an ember.toml, so those editors had no schema.
  • Idempotent: re-runs report "already set up", and an association that targets a different URL is repointed with a note saying what it replaced.
  • Requires the Even Better TOML extension; the command prints the install hint when it is missing.

Other Taplo-based editors: add the same association by hand, or put #:schema https://emberpm.dev/ember.schema.json as the first line of an individual ember.toml.