wai/wai-ui becomes wai/wai-app, the library `wai_app`, with no binary and no `cli`
feature: `wai`, built with its feature `app`, is its command line and its MCP
server. Its served files are named wai-app-* (the WebAssembly package wai_app),
the recordings wai-app-*.json.
- export.rs gives the files of a starter project for a program and the facts its
project file holds (title, summary, `wai dev`'s mode for the app's room, a watch
room's file, a show's audience); `wai create --from app.oui` writes them, the
project file and the licence. The export no longer writes app.json, room.toml,
relay.toml, package.json, check.mjs or serve.mjs: wai.json names the room, `wai
dev` runs it and `wai app check` checks the project. Its README and AGENTS.md
say so, and the README its licence.
- runtime.rs reads a Create runtime by its listing (create/wai-app-runtime.json),
checking each file's SHA-256.
- bridge.rs keeps the bridge on 127.0.0.1 a coding agent streams a program into
the page through, with a stream helper; the stdio server, its tools and the
binary's test go (`wai mcp --toolset app` serves them).
- The page's Export hands over app.oui, the program in its canonical form, and the
command that makes it a project; the ZIP writer and the page's export in
WebAssembly go. The page names `wai mcp --toolset app` for the coding agent.
- joule-ui/docs/create.md §4 and §5: the export as `wai create --from app.oui`, and
the agent's tools app_guide, app_check, app_stream and app_export.
Co-Authored-By: Claude Opus 5.5 <[email protected]>