A powerful CLI tool that dramatically speeds up mobile development with Expo, React Native, Android, and iOS.
This toolkit automates the painful stuff:
- β Cleaning caches
- β Killing running apps
- β Deleting native folders
- β Reinstalling dependencies
- β Rebuilding native code
- β Building APK/IPA (local or cloud)
- β Running dev builds
- β Health checks with beautiful HTML reports
- β EAS integration and build tracking
- β Interactive progress indicators
- β And more...
If you're tired of "Metro stuck", "Watchman warnings", weird build errors, or inconsistent native state... this tool is for you.
- π¨ Beautiful HTML Reports - Visual health checks with recommendations
- π Local & Cloud Builds - Choose between fast local builds or EAS cloud builds
- π Smart Progress Indicators - Real-time spinners show what's happening
- π EAS Build Tracking - List and view your builds without leaving the terminal
- π― Auto-fix Issues - Automatically detect and fix common problems
- π One-Command Workflows - From clean slate to running app in minutes
npm install -g budexpOr using yarn:
yarn global add budexpOr using pnpm:
pnpm add -g budexpgit clone https://github.com/JorgeSilva1997/budexp.git
cd budexp
npm install
npm link # Makes budexp available globally- Node.js >= 14
- Expo project
- Expo CLI available through
npx expo - EAS CLI installed/logged in for EAS commands
- Android Studio/ADB for Android workflows
- Xcode for iOS workflows on macOS
- Watchman recommended on macOS
Important:
budexp clean --all,budexp dev, andbudexp build --localperform cleanup operations in the current project. They can removenode_modules, clear caches, delete generated native folders (android/and/orios/), reinstall dependencies, and rebuild native code. Run them from the root of the Expo project you want to operate on, preferably with a clean git state.
Run your app in development mode with automatic cleaning and rebuilding:
# Interactive platform selection
budexp dev
# Android only
budexp dev --android
# iOS only
budexp dev --ios
# Both platforms
budexp dev --all
# Select target device (emulator/simulator or physical)
budexp dev --android --device
# Skip report open prompt and continue if health issues are found
budexp dev --android --no-open --yesWhat it does:
- Runs
expo-doctorwith animated progress spinner - Generates a beautiful HTML health report with recommendations
- Prompts to open the report in your browser
- Kills running applications
- Cleans all caches (Metro, Expo, Watchman)
- Deletes native folders
- Removes
node_modules - Detects lock files and prompts whether to delete them (recommended: keep for deterministic installs)
- Reinstalls dependencies
- Rebuilds native code with
expo prebuild - Starts the development build
Build production-ready APK/IPA files locally or in the cloud:
# Interactive platform and build type selection
budexp build
# Android only
budexp build --android
# iOS only
budexp build --ios
# Both platforms
budexp build --all
# Force local build
budexp build --android --local
# Skip report open prompt and continue if health issues are found
budexp build --android --local --no-open --yesBuild Options:
- π Local build - Fast, free, no internet required
- βοΈ Cloud build (EAS) - Slower, requires EAS account, builds in the cloud
What it does:
- Runs
expo-doctorand generates HTML report - Asks you to choose local or cloud build
- For local builds:
- Performs full clean (same as dev mode)
- Reinstalls dependencies
- Rebuilds native code
- Builds APK/IPA using EAS local build
- Automatically moves build artifacts into
builds/and names them with app name, version, and date - If
builds/doesnβt exist, prompts for permission to create it - Checks whether
builds/is ignored by.gitignoreand prompts to add it if missing - Prompts to submit to App/Play Store
- For cloud builds:
- Checks EAS login status
- Submits build to EAS cloud
- Provides commands to track build progress
Clean caches, dependencies, or native folders:
# Interactive cleaning options
budexp clean
# Clean everything
budexp clean --all
# Clean caches only
budexp clean --cache
# Clean native folders only
budexp clean --native
budexp clean --allremovesnode_modules, clears Metro/Expo/Watchman caches, and can delete generated native folders. Use it only inside the Expo project you intend to clean.
Run expo-doctor and get a stunning HTML report:
budexp check health
# or simply
budexp check
# Generate the report without prompting to open it
budexp check --no-openThis will:
- Run
expo-doctorwith animated spinner - Generate a beautiful HTML report with:
- π Statistics dashboard (errors, warnings, checks)
- π‘ Actionable recommendations with direct links
- β Detailed error list
β οΈ Warning list- π Full terminal output with search
- π¨ Modern, gradient design
- Prompt to open report in your default browser
- Display summary in terminal
Check your EAS login status and configuration:
budexp check easShows:
- Login status and email
- Build profiles configuration
- Submit configuration
List your recent EAS builds:
budexp check eas:listDisplays your last 20 builds with:
- Build ID
- Platform (Android/iOS)
- Status (in progress, completed, failed)
- Created date
- App version
View detailed information about a specific build:
budexp check eas:view <build-id>Shows:
- Complete build information
- Build artifacts
- Build logs
- Download links (if available)
Display EAS project configuration:
budexp check eas:projectShows:
- Project ID
- Slug
- Owner
- SDK version
Run health check and attempt to fix issues:
budexp check fixThis will:
- Run
expo-doctor - Attempt to fix issues using
expo fix - Re-run health check to verify fixes
- Generate HTML reports
Run app in development mode.
Options:
--android- Build for Android only--ios- Build for iOS only--all- Build for both platforms--device- Select target device (emulator/simulator or physical)--no-open- Do not prompt to open the health report--yes- Automatically continue when health check issues are found
Build APK/IPA for production.
Options:
--android- Build for Android only--ios- Build for iOS only--all- Build for both platforms--local- Force local build (skip cloud build prompt)--profile <name>- EAS build profile--no-open- Do not prompt to open the health report--yes- Automatically continue when health check issues are found
Clean caches, dependencies, or native folders.
Options:
--all- Clean everything (caches, node_modules, native folders)--cache- Clean caches only--native- Clean native folders only
Check app status and health.
Types:
health(default) - Run expo-doctor and show health reporteas- Check EAS login status and configurationeas:list- List recent EAS buildseas:view <build-id>- View detailed build informationeas:project- Display EAS project infofix- Run health check and attempt to fix issues
Options:
--no-open- Do not prompt to open the health report
Examples:
budexp check health
budexp check eas
budexp check eas:list
budexp check eas:view abc123-def456
budexp check eas:project
budexp check fixEvery health check generates a modern, interactive HTML report featuring:
- Statistics Dashboard - Quick overview of errors, warnings, and total checks
- Recommendations Section - Actionable steps with direct links to documentation
- Collapsible Sections - Organized errors and warnings
- Search Functionality - Find specific issues in terminal output
- Copy to Clipboard - One-click copy of full output
- Responsive Design - Works on mobile and desktop
- Dark Theme - Terminal-style output section
Choose your build strategy based on your needs:
| Feature | Local Build | Cloud Build |
|---|---|---|
| Speed | β‘ Fast | π Slower |
| Cost | π Free | π° Requires EAS |
| Internet | β Not required | β Required |
| Storage | πΎ Uses your disk | βοΈ Cloud storage |
| Best for | Development, testing | Production, CI/CD |
Never wonder what's happening:
- Animated spinners during long operations
- Clear status messages
- Success/warning/error indicators
- Real-time feedback
Track your builds without leaving the terminal:
- List recent builds with status
- View detailed build information
- Check project configuration
- All from the command line
Before launching in dev mode or building APK/IPA, budexp automatically runs expo-doctor and generates a detailed HTML report. You'll be notified of any issues and can choose to continue or fix them first.
The tool intelligently:
- Detects and kills running Metro/React Native processes
- Stops apps on connected Android devices
- Cleans all relevant caches (Metro, Expo, Watchman, Haste map)
- Removes native folders when needed
- Handles multiple package managers (npm, yarn, pnpm, bun)
- Automatically detects EAS login status
- Prompts to login when needed
- Supports both local and cloud builds
- Build tracking and monitoring
- Automated submission flow
APK/IPA files are automatically renamed with:
- App name (from
app.json) - Version number
- Current date
Format: appname-1.0.0-2025-01-28.apk
Expo & React Native sometimes get into a weird build state where:
- Caches break
- Native directories conflict
- Metro behaves erratically
- EAS builds fail
- Device installs get stuck
This toolkit solves all of that with one set of robust commands, plus beautiful reports and progress indicators to keep you informed.
After installation, navigate to your Expo project directory and run:
# Check your project health with beautiful HTML report
budexp check health
# Start development mode
budexp dev --android
# Build for production (choose local or cloud)
budexp build --ios
# Track your EAS builds
budexp check eas:listBeautiful HTML reports with statistics, recommendations, and full terminal output.
Real-time spinners show exactly what's happening during long operations.
Track all your builds from the command line.
PRs, improvements, and suggestions are welcome!
MIT License - see LICENSE file for details.
- π¨ Beautiful HTML reports with recommendations
- π Local and cloud build options
- π Animated progress indicators
- π EAS build tracking commands
- π― Auto-fix functionality
- π§Ή Smart cleaning utilities
- π Automatic build renaming