BowlerKitBowlerKit

Up and Running

10/11/2026

Create an Expo project with the BowlerKit CLI and choose its runtime profile.

Before starting, read the prerequisites. BowlerKit projects are created by the CLI; you do not clone the private source repository.

Create a project

Run the CLI with a project directory name:

bowler create my-expo-app

When prompted, choose:

  1. Expo as the mobile framework.
  2. Account for authentication, cloud data, the Laravel admin panel, and the Go API backend.
  3. Guest for a local-first app without account services.

The CLI validates your Polar license, downloads a server-assembled archive, extracts it, initializes Git, and can install dependencies. The generated project contains mobile-app/ and landing-page/; Account projects also contain admin-panel/ and api-backend/.

First mobile run

cd my-expo-app/mobile-app
cp .env.example .env
pnpm install
pnpm start

Use pnpm android or pnpm ios for a native development build. Native builds also need the Firebase files and platform toolchains described in the push notification guide.

The Expo client appends /api/v1 to EXPO_PUBLIC_API_URL. Set the variable to the host root (for example, http://10.0.2.2:8000), not to a URL that already ends in /api/v1.

Profile differences

Account

Configure admin-panel/.env, run the Laravel migrations, and start Laravel before pointing the mobile app at it. The Go API can then serve the protected /api/v1/app/* resource contract through your gateway. See Backends and Quick Start for the complete order.

Guest

No PHP, database, Redis, or Go service is required. Guest runtime gates disable account API calls and remote preference/FCM synchronization while retaining local settings, local notifications, Paywall/RevenueCat, and AdMob. Optional deep cleanup instructions are emitted in docs/AI-GUEST-CLEANUP.md.

CLI environment checks

bowler doctor expo

For the full BowlerKit CLI command list, see the CLI guide.