Documentation menu

Commands

embr init

Last updated October 22, 2026

Interactive wizard that creates ember.toml in the current directory. It errors if a manifest already exists, and it needs a real terminal — it is an interactive command.

Prompts#

Each prompt guesses a sensible default:

  • name — scope/name, letters and digits only per part. Default guessed from the git origin remote's owner/repo (sanitized and lowercased), falling back to <git user.name>/<current dir>.

  • version — default 0.1.0, validated semver.

  • description — optional; at most 200 characters.

  • authors — comma-separated GitHub usernames, validated (1–39 characters, alphanumeric or dashes, no leading, trailing, or double dash). At least one is required. Default guessed from the login stored by a previous embr publish, else the owner of a github.com origin remote.

    Authors are not display names or emails — each author gains publish access to the whole scope. See Publishing.

  • repository — default from the origin remote; optional.

  • license — picked from a list of SPDX ids (MIT, Apache-2.0, GPL, ...).

  • environment: roblox | roblox_server | lune | luau | lute | seal | zune. Pick seal and init prints a note: Seal loads .luau files only, and its @std is not Lute's @std.

  • main — entry point, default src/init.luau.

Side effects#

Besides writing the manifest, init git-ignores packages/ and .ember-patch/ (embr patch's scratch space) — it creates or appends .gitignore, recognizing existing spellings like packages and /packages/.

See also#