Skip to content

How AppSetUpKit works

The steps below are taken from the kit itself, so you can see what runs before you buy. The full guides in the zip go further, with every dashboard click and the errors you are likely to hit.

Quick start

Unzip the kit inside your app folder, then pick one of three ways to run it.

AppSetUpKit is a folder of 9 setup scripts and 21 Markdown guides. Put the AppSetUpKit folder inside (or next to) your app, then run it one of three ways.

1. Hand it to your coding agent

Open your app in Claude Code, Codex or Cursor and paste the starter prompt from the top of AI-AGENT-INSTRUCTIONS.md:

text
Read ./AppSetUpKit/AI-AGENT-INSTRUCTIONS.md and ./AppSetUpKit/SETUP-GUIDE.md first.
My app: [App name], iOS bundle ID [com.company.app], Android package [com.company.app],
Apple Team ID [TEAMID], backend [Convex | Supabase | Firebase].
1. Run the prerequisite check and tell me what is missing before doing anything else.
2. Then set up, one step at a time: App Store Connect app record and capabilities,
   Sign in with Apple and Google sign-in, push notifications, RevenueCat.
3. Before any command that creates or changes something in one of my accounts,
   show me the exact command and wait for my OK.
4. Write every ID and key you create into CREDENTIALS-[app].md. Never commit secrets
   or .p8 files to git.
5. When a step fails, check TROUBLESHOOTING.md before trying something else.

2. Run the guided script yourself

bash
cd AppSetUpKit
./setup-automation.sh      # checks your tools, asks for app details, writes CREDENTIALS-<app>.md,
                           # then offers App Store Connect, Supabase, Firebase and Expo steps

3. Run a full wizard

bash
node auto-launch.js            # Expo or Swift: project, EAS, App Store Connect, Supabase, Firebase, packages
node ultimate-setup-2026.js    # Expo, plus Supabase auth providers and Google Cloud APIs
./swift-setup-2026.sh          # native Swift / SwiftUI project with Fastlane lanes

The wizards save progress to a state file, so you can stop and pick up where you left off. Every ID they create goes into your credentials file.

Prerequisites

Accounts and command-line tools the scripts expect.

  • An Apple Developer Program membership ($99 a year) and, for Android, a Google Play developer account ($25 once).
  • Node.js 20.19 or newer, Fastlane, the EAS CLI, and the Supabase or Firebase CLI for the backend you use.
  • For Convex projects: a Convex project (npx convex dev).
  • macOS for anything that touches Xcode. Expo apps can build in the cloud with EAS Build.

setup-automation.sh checks for each tool and prints the install command for anything missing.

App Store Connect

App record, bundle ID and capabilities through your own App Store Connect API key.

The App Store steps use your App Store Connect API key (App Store Connect → Users and Access → Integrations → Keys). Save the downloaded .p8 file in the kit folder as appsetupkit.p8 and export its IDs:

bash
export ASC_KEY_ID="YOUR_KEY_ID"
export ASC_ISSUER_ID="YOUR_ISSUER_ID"

The wizards then write a Fastfile into your project and run its setup_store lane: Fastlane produce creates the bundle ID and the App Store Connect record, and modify_services turns on Sign in with Apple and Push Notifications.

ruby
api_key = app_store_connect_api_key(
  key_id: ENV["ASC_KEY_ID"],
  issuer_id: ENV["ASC_ISSUER_ID"],
  key_filepath: "./fastlane/auth_key.p8"
)

lane :setup_store do
  produce(app_identifier: "com.company.app", app_name: "Your App", language: "English",
          app_version: "1.0.0", sku: "com.company.app.sku", api_key: api_key)
  modify_services(app_identifier: "com.company.app",
                  services: { sign_in_with_apple: "on", push_notification: "on" })
end

scripts/fastlane-metadata-setup.sh uploads your name, subtitle, description, keywords and screenshots. App Privacy answers and age rating still go through the App Store Connect website.

Convex auth

Sign in with Apple and Google through Convex Auth.

CONVEX-SETUP.md walks through Convex Auth for Expo, including the Apple Services ID and the separate Sign in with Apple key. scripts/convex-auth-setup.sh sets the environment variables:

bash
npx convex env set AUTH_APPLE_ID="com.company.app.signin"
npx convex env set AUTH_APPLE_SECRET="$(node scripts/generate-apple-jwt.js --p8 ./AuthKey_XXXX.p8 \
  --key-id XXXX --team-id TEAMID --services-id com.company.app.signin)"
npx convex env set AUTH_GOOGLE_ID="..."
npx convex env set AUTH_GOOGLE_SECRET="..."

scripts/convex-push-setup.sh covers push notifications with Convex, for Expo or native Swift.

Supabase auth

Apple and Google providers through the Supabase Management API.

scripts/supabase-auth-setup.sh turns on the Apple and Google providers for your project through the Management API, using a personal access token:

bash
curl -X PATCH "https://api.supabase.com/v1/projects/$PROJECT_REF/config/auth" \
  -H "Authorization: Bearer $SUPABASE_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "EXTERNAL_APPLE_ENABLED": true, "EXTERNAL_APPLE_CLIENT_ID": "com.company.app" }'

SUPABASE-SETUP.md covers the project, the client setup in Expo and the redirect URLs Apple needs.

Firebase

Project, iOS and Android apps, config files and Google Sign-In.

bash
firebase projects:create your-app-id --display-name "Your App"
firebase apps:create IOS --project your-app-id --bundle-id com.company.app
firebase apps:create ANDROID --project your-app-id --package-name com.company.app
firebase apps:sdkconfig IOS <APP_ID> --project your-app-id --out GoogleService-Info.plist

The wizards run these for you, enable the Google Cloud APIs sign-in needs, and download GoogleService-Info.plist and google-services.json into your project.

RevenueCat

Project, products and entitlements, plus the hosted MCP server for your agent.

RevenueCat projects are created in the RevenueCat dashboard; REVENUECAT-SETUP.md lists each click, the App Store and Play keys to add, and how products map to entitlements. The wizards install react-native-purchases and write an mcp-config.json that points your agent at RevenueCat's hosted MCP server:

bash
claude mcp add revenuecat --transport http https://mcp.revenuecat.ai/mcp

Google Play

Service account, Fastlane supply and the first upload.

GOOGLE-PLAY-SETUP.md covers the Play Console service account (API access, the release permissions to grant, the JSON key). Expo apps upload with EAS Submit; native Android apps can use Fastlane supply:

bash
fastlane supply --track internal --aab app-release.aab --package_name com.company.app \
  --json_key ./play-service-account.json

Google requires the very first upload of a new app to be done by hand in Play Console. The guide says when.

AdMob

Ad units and the react-native-google-mobile-ads config plugin.

bash
npx expo install react-native-google-mobile-ads

ADMOB-SETUP.md covers creating the AdMob apps and ad units, the app IDs in app.json, and the test ad unit IDs to use during development.