Skip to main content
The Configurator is a local React and Express app for editing selected repository configuration. It runs against the repository on your machine and writes files only when you use a save or apply action.

Start it

From the repository root, run:
Open http://localhost:5173 if the browser does not open automatically.

App workflow

The App section loads apps/mobile/app.json directly. It supports:
  • Expo name, slug, version, scheme, orientation, UI style, and newArchEnabled
  • Plugin addition, removal, and JSON-compatible plugin options
  • Splash plugin options
  • Icon, adaptive icon, and splash paths
  • Image uploads to apps/mobile/assets/images/
  • Arbitrary top-level expo.<key> values
Edits remain in browser state until you act:
  1. Click Plan to validate the JSON and preview a unified diff.
  2. Review every changed field.
  3. Click Apply to atomically rewrite apps/mobile/app.json.
Uploads happen immediately and create timestamped files. They do not resize, convert, or delete earlier assets. The file path is staged in the editor, but app.json is not changed until Apply.

Theme workflow

The Theme section loads and validates amisi.config.json. It currently exposes:
  • Selected light-theme colors and medium radius
  • NativeWind or Uniwind styling adapter
  • Mock or Firebase auth, plus Firebase tenant and emulator options
  • Mock or RevenueCat subscriptions, plus an entitlement ID
Its actions have different effects: The generated .env.example contains only empty Firebase and RevenueCat variable names required by the selected adapters. The Configurator never writes secrets to .env.
The Theme workflow rewrites complete modeled files rather than merging every existing field. Its current schema does not model security, and generating .env.example replaces that file with only Firebase and RevenueCat entries. The checked-in config also uses theme.ui.adapter, while the Configurator requires theme.ui.styling.adapter; an invalid config silently falls back to defaults. Back up and review amisi.config.json and .env.example before using Save or Apply.
The Configurator does not edit apps/mobile/app.config.js. Dynamic Expo config still overrides names, schemes, identifiers, Firebase file paths, and OneSignal mode from app.json. Keep those settings aligned manually.

Current limitations

The UI does not manage:
  • apps/mobile/eas.json, EAS projects, credentials, or EAS environment values
  • EXPO_PUBLIC_APP_ENV and environment-specific build variants
  • Firebase plist/JSON files
  • Associated domains, intent filters, Apple team IDs, or App Store Connect IDs unless you use the generic Expo property/plugin editors
  • Notification adapter selection in the visible Theme form
  • Every theme token; unexposed values remain in amisi.config.json
Always review git diff after applying changes. Then inspect the evaluated Expo config: