While the "run" command executes projects from configured realms and sets the package's "Zomp home" as the working directory for execution, the runlocal command can be used to build and run a project from the local directory while using dependencies sourced from the Zomp network and the rundir [path] command can be used to run a program from an arbitrary location within the local system.
"run" is used by end-users and "runlocal" is used by developers and to run projects in development and local personal projects. (Also, consider writing escripts if you are interested in writing small, one-off programs or scripts in Erlang.)
ceverett@takoyaki:~/code/my_app$ zx runlocal
ceverett@takoyaki:~$ zx rundir code/my_app
A common workflow (especially for GUI or CLI app development) is:
ZX's ability to immediately launch code in a lightweight manner from any initial system condition and adjust the system to accomodate the target program makes project tinkering super easy, even across development machines and even platform types (all you need is an Erlang runtime and ZX in your path, and it will figure out the rest).