CLI
CLI Overview
The Bundle Drop CLI ships with @gfean/react-native-bundle-drop. Once the package is installed, run it through npx bundle-drop without a separate global installation.
Authentication Commands
npx bundle-drop login
npx bundle-drop whoami
npx bundle-drop logoutloginauthenticates the local machine and completes first-time project setup.whoamishows the active CLI account.logoutremoves the local CLI session.
Project Setup
The normal first-time flow is:
npx bundle-drop login
npx bundle-drop doctorlogin creates bundle.drop.config.js, detects Expo or bare React Native, previews the complete setup plan, and applies it after confirmation.
Use init to rerun setup or control project detection explicitly:
npx bundle-drop init
npx bundle-drop init --project-type expo
npx bundle-drop init --project-type bare
npx bundle-drop init --dry-runUseful setup options include:
--token <pat>authenticates with a Personal Access Token.--project-type <expo|bare>resolves an ambiguous project explicitly.--dry-runpreviews setup without applying changes.--prebuildenables the Expo layered prebuild flow.--migrate-expo-updatesexplicitly migrates an Expo project away fromexpo-updatesownership.--yesaccepts supported non-interactive prompts.
Setup owns the required Metro, Expo plugin, and native integration changes. Removed legacy commands such as separate Metro or native initialization are not part of the current CLI.
Diagnostics
npx bundle-drop doctor
npx bundle-drop doctor --platform ios
npx bundle-drop doctor --project-type expoDoctor checks the current project configuration, Metro integration, native integration, runtime authority, and applicable platform identity.
Expo Build Receipts
Projects that opt into strict Expo fingerprint authority can import a receipt from EAS Build:
npx bundle-drop eas-receipt ios --build-id <eas-build-id>The default literal runtime mode does not require Expo build receipts. See Expo.
Upload Commands
Upload syntax differs slightly between Expo and bare React Native. Expo resolves version identity from its project configuration, while bare projects can provide native version files or an explicit version.
See Uploading for the full command reference.
Version Flag
npx bundle-drop --cli-version