minikit docs v0.1.0-alpha.3

Validate, build, package, hand over

minikit validate          # the project: manifest, permissions vs code, web files, SDK, toolkit pin
minikit test              # flutter test (--chrome runs them in Chrome)
minikit build             # flutter build web with the host's settings, then output checks
minikit package           # validate → build → zip + sha256 + catalog manifest + host entry

What build does

flutter build web --release --no-web-resources-cdn --base-href / --pwa-strategy none plus build.extra_args from minikit.yaml and anything you pass. The renderer is bundled (the host may block CDNs), the base href is / (the host serves the entry folder as the root), and no service worker is registered (a worker on the host's stable per-app origin could serve stale files after an update). Afterwards it checks build/web (codes MK13xx) and prints sizes by group.

What package writes

Into dist/ (or package.out):

File Purpose
<id>-<version>.zip the bundle — reproducible: sorted entries, one fixed timestamp, no OS litter, so the same build always has the same sha256
<id>-<version>.sha256 shasum -a 256 -c compatible
<id>-<version>.manifest.json the framework host's catalog entry (MiniAppManifest): source URL, sha256, entry, permissions, metadata with protocol and SDK versions
<id>-<version>.host-entry.json the superapp's mini_apps[] entry for config.json
<id>-<version>.report.json what was checked and measured

Pass --url https://…/<id>-<version>.zip when you know where the zip will be published; otherwise the manifest carries a placeholder to edit. minikit validate --bundle <zip> applies the host's own rules to any zip (≤ 100 MiB download, ≤ 300 MiB unpacked, ≤ 10 000 files, no links or unsafe paths, entry page present, a real Flutter build, miniapp.json inside).

Handing over

Send the host team the zip and the two JSON files (or the whole dist/). They upload the zip, add the entry to the catalog, and the framework host installs it verifying the sha256. Final verification of native behaviour happens on a device with mini_app_host's example app.

Served offline by minikit docs from your toolkit checkout. Source: docs/guides/ship.md.