The simulator
The Mini App Simulator is a desktop app (Flutter UI, Rust core) that stands in for the host. It
serves the app on its own loopback origin, speaks the framework protocol and the legacy
window.features contract, shows bridge calls and API traffic in an inspector, proxies APIs with
SSO/ADFS sign-in, and links dev servers so hot reload reaches the preview.
It is a stand-in, not the host: native capabilities are desktop substitutes (file dialogs, the share sheet, the browser), and iOS/Android WebView behaviour is verified on a device.
Commands
minikit sim open # start it, or bring it to the front
minikit sim status # hub address, version, pid, build, previews (--json for scripts)
minikit sim attach --url http://localhost:52110 --name "Expense Tracker" --offline
minikit sim stop # quit it
minikit sim install [--from <zip>] [--force] # this toolkit version's build into the cache
How the CLI talks to it
The simulator runs a small loopback HTTP "hub" (127.0.0.1:8788, another port when busy, recorded
in ~/.mini_app_simulator/hub.json and cleared on a clean quit). Local tools call it with a
control header that web pages cannot add: POST /api/control/attach (show a dev server's app once
it serves), detach, GET sessions, POST shutdown, GET /health. minikit run and the IDE
configurations use exactly these.
Versions
minikit sim status compares the running simulator with the version this toolkit ships and warns
when they differ. minikit upgrade fetches the matching build.