Meteor native apps
Turn the existing Meteor application into a reproducible Cordova build and verify the requested device or distribution behavior. Meteor manages the web bundle, Cordova project and platform versions; Android Studio and Xcode provide native debugging, signing and distribution tools.
Choose the workflow
- Read
.meteor/release,.meteor/platforms,.meteor/cordova-plugins,.meteor/versions,package.json, andmobile-config.jswhen present. Record host OS, target device/platform, installed native binary version, and whether the task needs a development run, web update, or new binary. - Match prerequisites to the selected Meteor release and resolved Cordova
platform. Meteor 3.5.2 uses
cordova-lib@13.0.0,cordova-android@15.1.0, andcordova-ios@7.1.1; earlier releases have different pins. Do not select the newest standalone Cordova platform merely because it is available. - Choose the relevant reference below. Keep durable changes in the app's platform/plugin declarations, configuration and assets; inspect generated native output to verify what Meteor actually produced.
- Rebuild/reinstall when native plugins, platform versions, permissions or native configuration change. HCP can update compatible web code/assets; it cannot supply missing native code or change installed binary metadata.
- Verify on the target emulator/device or inspect the requested artifact. Record command, versions, endpoint and observable result. A successful web build alone does not validate a native app or a signed store artifact.
| Task | Read |
|---|---|
| Set up Android/iOS, add/remove platforms, run a device, choose WebView compatibility | Toolchain and development |
| Change app metadata/assets, native preferences, access rules, plugins, permissions or build overrides | Configuration and plugins |
| Build Android artifacts or an iOS project, configure signing and prepare distribution | Build and distribution |
| Repair mobile update delivery, compatibility rejection, download or reload behavior | Hot code push |
Persistent state and runtime boundaries
.meteor/local/cordova-build/is generated by default. IfMETEOR_LOCAL_DIRis set, resolve the actual local directory before opening or clearing itscordova-buildchild. Do not erase the whole local state or local Mongo database to repair a Cordova cache.mobile-config.jsis a build-time configuration file, not an application module.App.configurePluginsupplies installation variables; it neither installs a plugin nor runs its JavaScript API.- Call native plugin APIs from client code guarded by
Meteor.isCordova, insideMeteor.startupor after equivalent device readiness. Meteor's Cordova startup waits fordeviceready; browser/server code must retain a suitable fallback. Startup does not grant OS permissions automatically. - A physical device's
localhostis the device. Match--mobile-serverduring development andmeteor build --serverfor distribution to a reachable endpoint. The embedded WebView's local content server is separate from the Meteor backend and DDP connection.
Neighboring workflows
| Request | Owner |
|---|---|
| Unknown crash, stuck data, or failure not yet isolated to native behavior | meteor-debugging, then return with the confirmed native boundary |
| Host the backend, configure Galaxy/Docker, deploy server changes, preserve the HCP client bundle | meteor-deployment |
Rspack/SWC/module graph or a native npm addon such as sharp |
meteor-modern-build-stack or migrate-to-rspack |
| OAuth provider/login behavior | meteor-accounts; use this skill for required Cordova plugin or native configuration |
| Explicit React Native/Expo or Capacitor app | Keep the chosen stack; this skill does not implement those integrations |
Acceptance
Use evaluation cases to check native decisions, earlier-release behavior, and neighboring-skill routing.