bash
A complete bash shell running inside the Zero engine, over this world's files and the engine's live state. It runs in the engine, apart from the computer you are called from. Use it the way you use bash on any development machine, and reach for what you already know first: the shell language is all there, and the standard programs are installed (ls /usr/bin lists them). command not found means only that one program is absent; do that job another ordinary way.
Where things are: the world's project is /zero/source, the engine's live state is /zero/runtime (as files), the engine's documentation is /zero/docs (and man <topic>). /tmp is scratch for the session; ~ is your home, kept on this machine and synced to no one.
The engine's own operations are a command-line program, zero. Learn it as you would any unfamiliar CLI: zero --help, zero --search <query>, zero <toolbox> <tool> --help. zm is the world's version control, with the git verbs. luau <file> runs a Luau script in the engine.
For example: rg -n 'typed function' /zero/source find /zero/source -name '*.luau' | xargs grep -n 'asset.resolve' COUNT="$(find /zero/source -type f | wc -l)"; echo "$COUNT" mkdir -p /tmp/work && grep -rn 'TODO' /zero/source > /tmp/work/todo.txt find /zero/runtime -maxdepth 2 -type d zero --search 'raycast' zero camera --help
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| as | No | Your own name, when you are one of several agents sharing one connection to this engine (the sub-agents one agent session runs share its connection, so without it the engine sees all of them as one caller). Pass the same name on every call you make. The engine then treats you as a caller of your own: your roster name is this name, and your play session, the play-shadow writes and refusals that say who wrote what, engine.modeOwner, your shell session and your notices are yours alone. Lowercase letters, digits, '-' and '_'. Leave it out when you are the only agent on your connection. | |
| command | Yes | The command line, written exactly as you would type it into bash anywhere else: pipelines, redirection, `$(...)`, quoting, globs, loops and multi-line scripts all work. |