rebind is the command-line companion to the Rebind app: scaffold a package,
validate and lint it offline, run it against your local Rebind app with live logs and
hot-reload, then package and publish it to the marketplace. It installs with
Rebind and lands on your PATH — no separate download.
check, lint, new, and package work fully offline. run, exec, repl,
whoami, and publish talk to the Rebind app, so it must be running (and signed
in, for whoami/publish).
Commands
[path] defaults to the current directory and accepts either a package
directory or a single .lua/.luau file.
new
rebind new tools/hello creates
a package named hello), lowercased to the marketplace slug charset.
check
Offline validation of the package contract: manifest schema and pricing rules, identity declarations, the fullrequire graph, Luau
compilation of every reachable module, and a permission audit (undeclared
Net.* / System.Exec use fails here instead of at runtime).
lint
Advisory linting over the same require graph, with the Rebind standard library preloaded soHID, Log, hooks, and friends resolve.
Warnings never block anything; error-severity findings (definite bugs) exit
non-zero and block publish.
run
The dev loop: validates, loads the entry into the running Rebind app, streams the script’s log channel, and hot-reloads when a source file changes.Log.* output plus Rebind’s
lifecycle notices and errors for it. --all-logs streams every Rebind log line
(prefixed with its source) for app-wide debugging. Edits to .lua/.luau/
.toml files and anything under assets/ trigger a reload; a failing re-check
keeps the previous run alive.
rebind run scripts/wiggle.luau runs a single script from a package’s
scripts/ directory — it inherits the package’s min_sdk, and its requires
resolve from the package root.
exec and repl
Both run chunks in a persistent scratch runtime inside the Rebind app — the full SDK with real input output, state surviving between calls.rebind exec - reads the chunk from stdin. A Lua error exits non-zero.
rebind repl is the interactive version: same runtime, TAB completion queried
live from the VM (your own variables complete, not just SDK names), and
unfinished chunks continue on the next line. ⌃D exits.
package
Builds the.rbp registry artifact — a gzipped tarball of the package’s
plaintext source and assets. Format details and the marketplace DRM rules are in
Package format.
publish
Check → lint → package → upload for review. Requires a Developer account, a[marketplace] section in rebind.toml, a short_description, and an icon.
The Rebind app’s authenticated session does the uploading; the CLI holds no
credentials.
whoami
device is your registered Rebind Link with its live attachment state; transport
is the session mode (hardware when your device drives output, software
otherwise).