Skip to main content

App CLI

Use @espressif/rainmaker-home-app-cli to quickly create a React Native application and configure it against a RainMaker Neo deployment. The result is a complete Home app with the functionality RainMaker Neo Cloud provides.

Requires Node.js ≥ 22, git, and network access to clone the template.

Create a project

Interactive wizard — you enter values as you go:

npx @espressif/rainmaker-home-app-cli init

Skip backend / SDK prompts by pointing at your deployment's published public-assets JSON (see Deployment Details):

npx @espressif/rainmaker-home-app-cli init --config <public-assets-deployment-json>

<public-assets-deployment-json> is a local path or the published URL. Where that URL comes from (Cloud Installer dashboard or make deploy output) is in Deployment Details.

https://rmng-public-assets-<ACCOUNT_ID>.s3.us-east-1.amazonaws.com/<APP_REGION>/rmng-client-outputs.json

Setup wizard

The wizard walks through these steps, then asks you to review before writing project files.

  1. Project — folder name (no spaces) and app name; clones the Home app template (main)
  2. Regions — Global and/or China (when both are selected, Global is configured first; you can reuse that setup for China)
  3. App identity — Application ID, app schema, app version, Android version code
  4. BackendESP RainMaker Neo
  5. SDK settings — Base URL, User API Base, AWS region, IoT endpoint (Active SDK is rainmaker-neo-base-sdk; see ESP RainMaker Neo SDK). With --config, these come from the deployment JSON instead.
  6. Feature flags — schedules, notifications, group sharing, automations, group control, and others (defaults depend on the SDK)
  7. Android signing — configure release signing now, or skip and set it later
  8. Review — confirm App, Backend & SDK, and Features, then proceed to generate files
Espressif cloud vs your deployment

For Neo against Espressif's cloud, the wizard defaults look like Base URL https://api.neo.rainmaker.espressif.com, User API Base https://user.api.neo.rainmaker.espressif.com, and region us-east-1. For your own deployment, prefer --config with the published client-outputs JSON.