BowlerKitBowlerKit

Prerequisite

10/11/2026

Tools and background knowledge required for an Expo project.

Knowledge requirements

BowlerKit's Expo template is a TypeScript/React Native application. You should be comfortable with:

  • TypeScript, React Native, and Expo Router for screens, hooks, and native modules.
  • Zustand and TanStack React Query for client state and server state.
  • PHP and Laravel if you select the Account profile and customize the admin panel.
  • Go if you select the Account profile and customize the protected API backend.

The Guest profile is local-first and does not require the backend stack.

Required tools

Run the framework-specific check after installing the CLI:

bowler doctor expo

The check currently expects:

  • Git.
  • Node.js 18 or newer and npx.
  • pnpm 11 (the template pins [email protected]).
  • Expo CLI through npx expo; a global expo-cli install is not required.
  • EAS CLI 16.28 or newer for cloud builds.
  • Watchman is recommended for Metro file watching.

For Android development, install Android Studio, a JDK, the Android SDK, and adb. For iOS development, use macOS with Xcode and CocoaPods. The doctor command reports the native toolchain checks for your platform.

Account backend requirements

Only the Account profile needs these services:

  • PHP and Composer for admin-panel (Laravel owns authentication, uploads, migrations, webhooks, and destructive account operations).
  • PostgreSQL and Redis, configured in admin-panel/.env.
  • Go 1.26.5 or newer for api-backend.

The Go service validates Laravel Sanctum tokens and reads the shared Laravel database; it is not a second authentication server. Start with the Laravel service before enabling the Go service.

Optional landing page tools

The generated project also contains a Vituum/Vite landing page. Bun is the preferred package manager there; npm is a supported fallback. The landing page is independent of the Expo mobile app.