Hiraya is a mobile-focused web code editor for working on a server-side workspace from a browser. It serves a file browser, CodeMirror editor, file API, and host terminal from one Go process so a small development environment can be reached from a phone, tablet, or desktop browser.
It is intended for private, remote development sessions where the app is exposed through a trusted access boundary such as the exe.dev HTTPS proxy. Hiraya does not include built-in authentication.
- Browse, create, rename, delete, edit, and save files under a configured root.
- Open a host shell in the browser through a terminal WebSocket.
- Use mobile-friendly controls for common editor and terminal actions.
- Build a production binary with embedded frontend assets.
- Go
- Bun and Make for local frontend development or production builds
make prodmake prod installs frontend dependencies, builds the React app, runs Go tests,
and writes the production binary to ./hiraya.
For a faster local binary build without rebuilding production frontend assets:
make build-devRun Hiraya directly with Go:
go run github.com/nmcapule/hiraya/cmd/hiraya@latest --root /path/to/workspace --addr :8080Use a tagged version for a reproducible run:
go run github.com/nmcapule/hiraya/cmd/hiraya@v0.1.0 --root /path/to/workspace --addr :8080ROOT=/path/to/workspace ADDR=:8080 make devmake dev runs the Go backend and Vite dev server together. ROOT controls the
workspace served by the app, and ADDR controls the backend listen address.
After a production build, run the compiled binary directly:
./hiraya --root /path/to/workspace --addr :8080To start browser terminal sessions through Byobu by default, install byobu on
the host and add --terminal-mode byobu:
./hiraya --root /path/to/workspace --addr :8080 --terminal-mode byobuThe app serves the production React UI, file API, and terminal WebSocket from the same port.
Hiraya is also installable as a PWA from supported browsers when served from a secure origin, such as localhost during development or the exe.dev HTTPS proxy. Open the app in the browser and use the browser's install action to add it to the home screen or app launcher.
- Start Hiraya with
ROOTpointed at the workspace you want to edit. - Open the app in your browser.
- Use the menu button to open the file drawer.
- Select a file to load it into the editor.
- Edit the file and use the save button to write changes back to disk.
- Use the terminal button to switch between the editor and host shell.
- Use the drawer action buttons to create files or folders, rename paths, or delete paths inside the configured workspace root.
The terminal runs on the host where Hiraya is started, with the same workspace root. Treat it like direct shell access to that machine.
make help # Show available targets and variables
make prod # Build production frontend assets, test, and build ./hiraya
make build-dev # Install frontend deps and build the Go binary
make dev # Run the backend and Vite dev server
make test # Run Go tests
make clean # Remove the binary and built frontend assetsCommon variables:
ROOT=/path/to/workspace # Workspace root served by the app
ADDR=:8080 # Backend listen address
TMPDIR=/tmp # Temporary directory used by Bun
GOCACHE=/tmp/go-build # Go build cache directoryHiraya has no built-in authentication. Do not expose it directly to the public internet. Run it behind the private exe.dev HTTPS proxy or another trusted access boundary.



