hello, and paste a complete example../hello from its folder, or use an absolute path such as /documents/hello.A bare FERRO name such as hello searches /bin. Built-in commands take precedence;
an explicit path selects your Program directly. Quote paths and arguments containing
spaces. FERRO passes arguments through program.args; VANTAGE supplies an empty array.
Programs currently do not participate in shell pipes or redirection.
terminal.write and terminal.writeLine are immediate. Await terminal.type, terminal.typeLine, terminal.sleep, every prompt, and every save, in the order you want them to happen.
terminal.clear();
await terminal.typeLine("READING ARCHIVE...");
await terminal.sleep(500);
if (await terminal.confirm("Open transmission?")) {
terminal.writeLine("Meet at the east entrance.");
audio.cue("success");
}
terminal.choose returns the selected label, not its index. Prompts and answers are visible to other viewers. Use them for gameplay decisions and clues.
When the script completes or errors, its transcript stays on screen until Escape. Escape returns to the launching VANTAGE menu or FERRO shell. Taking control, powering off, closing the controller window, or losing access stops a running Program. Each new launch begins fresh; only explicitly saved values survive.
For complete bounds, storage rules, and lifecycle details, read Program files.