BowlerKitBowlerKit

CLI Reference

10/11/2026

BowlerKit and Expo commands used by an Expo project.

BowlerKit CLI

The BowlerKit CLI creates licensed projects and checks the local toolchain. These commands run outside the generated mobile-app directory:

Create a project

bowler create <project-name>

The interactive flow selects Expo or Flutter, then the Account or Guest profile. Account projects include Laravel and Go backend folders; Guest projects are local-first.

Check the environment

bowler doctor expo

Use bowler doctor flutter for a Flutter project. The check covers Git, Node/pnpm, Expo/EAS, and the native Android/iOS toolchains.

Manage the CLI

bowler upgrade       # alias: bowler update
bowler deactivate    # release this device's cached license seat
bowler config show
bowler config set-api <url>
bowler config reset

The CLI has no bowler auth command. License activation and validation happen during bowler create; cached credentials live under ~/.bowlerplate/.

Changelog and releases

Inside a generated project the CLI also drives the release loop: record what changed, stamp the next version, tag it, and print store release notes.

bowler ship changelog add     # record a change under [Unreleased]
bowler ship changelog release # stamp the version, commit, tag, sync bowlerShip

See Release workflow for the full guide.

Expo commands

Run these from mobile-app/ after pnpm install:

Start Metro

pnpm start
pnpm start -- --clear

The underlying command is npx expo start. Use --android, --ios, or --web when you need to select a target explicitly.

Run native development builds

pnpm android
pnpm ios

These invoke expo run:android and expo run:ios, so Android Studio/JDK/SDK or macOS/Xcode/CocoaPods must be installed. Expo Go is not sufficient for every native module in this template.

Generate native projects

pnpm prebuild
pnpm prebuild:clean

prebuild:clean regenerates the native folders and can remove manual native changes. Commit or back up native changes first.

Check dependencies

pnpm check

This runs expo install --check and reports packages that do not match the Expo SDK baseline.

EAS builds

The template includes cloud and local build scripts. Common commands are:

pnpm build:cloud
eas build --platform android --profile production

For local production builds, use the scripts in mobile-app/package.json (for example pnpm build:local:prod). Configure Firebase, RevenueCat, AdMob, signing credentials, and environment variables before a release build.

For the complete project setup, see Up and Running.