Workspace and lifecycle

Relative paths resolve under %LOCALAPPDATA%\ByteInternal\Workspace. Forward/back slashes are accepted. Nil/empty paths select the root where the operation permits it. Absolute/UNC/drive paths and traversal outside the root are rejected. listfiles returns immediate children with workspace-relative names. File content APIs are binary-safe strings; paths are decoded as UTF-8. writefile and appendfile create parent directories. makefolder creates folders; delfolder recursively removes contents and cannot remove the workspace root. The normal failure path calls the environment error function; if that function is absent, filesystem failures can return nil, message instead. AutoExecute files are read from %LOCALAPPDATA%\ByteInternal\AutoExecute after environment bootstrap. The bootstrap hides its one-shot readiness callback. These lifecycle helpers are internal, not script APIs. Only immediate regular files with the exact lowercase extensions .txt, .lua, and .luau are queued for AutoExecute. Files are sorted by filename before submission; subdirectories are not traversed, empty/unreadable files are skipped, and queue order does not promise completion order for yielding scripts.

Blocked write extensions

writefile/appendfile reject the final extension case-insensitively:
Use .lua/.luau for source, .json for settings, and real supported media extensions for assets. Native file dialogs select absolute paths but do not grant filesystem APIs access outside this root.