Files is a minimal outerframe app for browsing a directory over the same backend-backed shape as the other quick Outer Loop prototypes. The first version intentionally keeps the UI small: it lists the current home directory, supports scroll/selection, opens folders, and exposes enough pasteboard capability surface to start iterating on drag-and-drop download/upload behavior.
./build_run.shPORT=7354
./build/macos/Release/FilesBackend --port "$PORT" --bundles-dir ./build/run/bundlesOpen this URL in Outer Loop or Outer Frame:
http://127.0.0.1:7354/
For Outer Loop-managed deployments, prefer a Unix socket. If --port is omitted, Files listens directly under $XDG_RUNTIME_DIR using the backend label:
./build/macos/Release/FilesBackend \
--label org.outershell.Files \
--bundles-dir ./build/run/bundlesYou can also pass an explicit socket:
./build/macos/Release/FilesBackend \
--socket-path "$XDG_RUNTIME_DIR/org.outershell.Files" \
--label org.outershell.Files \
--bundles-dir ./build/run/bundlesThe backend serves the outerframe descriptor, the archived macOS content bundles, /api/files?path=..., and /api/openers?path=... from the same loopback HTTP server. Files queries outershelld's socket API directly for opener registry entries, using OUTERSHELLD_API_SOCKET when set or the platform default API socket path otherwise.
To create a release payload for a Home Screen-style installer, build both Linux
backend architectures into build/linux-package/RemoteLinuxBinaries, then run:
./Scripts/package_release.shThe archive is written to build/release/Files.tar.gz. Deployment-specific
publishing should live outside this repository.
This public repository intentionally does not contain host-specific deployment scripts. Private lab deployments should live in an external deployment workspace.
To test a deployed remote host with curl:
ssh "$HOST" 'curl --unix-socket "${XDG_RUNTIME_DIR:-/run/user/$(id -u)}/org.outershell.Files" http://localhost/'