BowlerKitBowlerKit

CLI Reference

10/11/2026

BowlerKit and Flutter commands used by a generated Flutter project.

BowlerKit CLI

Run these commands outside the generated mobile-app/ directory.

Create a project

bowler create <project-name>

Choose Flutter, then the Account or Guest profile. Account archives include the Laravel and Go backend folders; Guest archives are local-first.

Check the environment

bowler doctor flutter

This checks Git, Flutter/Dart, and the native Android/iOS toolchains. Use bowler doctor expo for an Expo project.

Manage the CLI

bowler upgrade       # alias: bowler update
bowler deactivate
bowler config show
bowler config set-api <url>
bowler config reset

There is no bowler auth command. License activation and validation occur during bowler create; cached activation data is stored 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.

Flutter commands

Run from mobile-app/:

flutter pub get

dart run build_runner build --delete-conflicting-outputs

flutter run
flutter run -d <device-id>

Generated AutoRoute, Freezed, and JSON serialization files are part of the template. Re-run build_runner after changing annotated routes/models/providers; do not edit generated .g.dart/.freezed.dart files by hand.

Useful checks:

flutter analyze
flutter test
flutter clean

Release builds

flutter build appbundle --release
flutter build apk --release
flutter build ipa --release   # macOS/Xcode only

Before release, configure Firebase files/options, RevenueCat build-time keys, AdMob IDs, signing credentials, store metadata, and the final API_BASE_URL (see mobile-app/docs/ENVIRONMENT.md).

For project creation and backend setup, see Up and Running.