# Working on this project This is a WAI app. `app.oui` is the app, written in joule-ui's line language (SPEC ยง11 of joule-ui): one widget a line, `name = Widget(arguments)`, `root` first. The page renders it with the WAI widgets in `vendor/create/`, and `wai dev` runs the room that `wai.json` names. - To change the app, edit `app.oui`, then run `wai app check`. A line the registry does not accept is refused with its line and a reason code; fix that line. - Keep `wai.json`'s `dev` block matching the app's room: a `Room` is `"mode": "room"`; a `WatchTogether` is `"mode": "watch"` with `"watch": "media/"` (and `"watch_ms"` for a file that is not WAV); a `Show` is `"mode": "show"` with `"audience"` equal to its audience. - Run it with `wai dev`; `wai dev --check` checks every piece and stops. - Do not edit `vendor/`: it is the runtime, checked file by file against `vendor.json`. - Never put a key, a token or any other secret in this repository. Development keys are made in `.wai/` by `wai dev` and stay there. - WAI's tools for a coding agent: `wai mcp --toolset core,dev,app` (`wai setup-agent` registers it). `app_check` checks a program, as `wai app check` does. ## The language and the widgets {{GUIDE}}