expo-ci-doctor
Catch build failures before they happen

Predict and explain Expo/RN CI & EAS build failures before you waste 20 minutes

One CLI command scans your configs, dependencies, and native settings. Catches 50+ failure patterns with confidence scoring and actionable fixes.

Terminal

$ npx expo-ci-doctor doctor

🔍 Scanning project configuration...

📦 Checking dependencies...

⚙️ Analyzing native configs...

🔬 Running CI failure prediction...

✅ app.json — valid

✅ eas.json — valid

⚠️ [email protected] → known EAS issue (confidence: 85%)

⚠️ Missing EXPO_PUBLIC_API_URL in eas.json build env

✅ iOS signing config — valid

✅ Android keystore — valid

📋 Verdict: WARN (score: 72/100)

2 warnings found. Build likely to succeed with minor issues.

Tired of wasting 20 minutes on failed builds?

Every Expo/RN developer knows the pain: push code, wait for EAS Build, watch it fail after 15-20 minutes because of a config mismatch you could have caught locally.

Wasted Build Minutes

EAS builds take 10-25 minutes. A failed build means you wait again after fixing. That's 30+ minutes wasted on something catchable.

Hidden Config Issues

Mismatched SDK versions, wrong native module configs, missing env vars — these only surface during the build.

"Works Locally"

The classic. It builds fine on your machine but fails in CI because of subtle environment differences.

Three commands. Zero wasted builds.

Run before every build. Integrate into CI. Catch problems early.

1

Check

Run expo-ci-doctor check to scan your project configs and dependencies.

npx expo-ci-doctor check
2

Analyze

Get detailed CI failure analysis with pattern matching and confidence scores.

npx expo-ci-doctor analyze
3

Doctor

Get the full diagnostic verdict with weighted scoring and fix suggestions.

npx expo-ci-doctor doctor

Everything you need to ship with confidence

Deep analysis, smart prediction, and actionable diagnostics — all from one CLI tool.

Deep Config Analysis

Scans app.json, eas.json, package.json, and native configs. Finds mismatches before they break your build.

CI Failure Prediction

Detects 50+ common failure patterns across EAS Build, GitHub Actions, and local builds with confidence scoring.

Doctor Verdict

Weighted scoring combines all checks into a clear PASS / WARN / FAIL verdict with actionable fix suggestions.

Config Overrides

Custom rules via .expo-ci-doctor.json. Ignore specific checks, set custom thresholds, and tune to your project.

Monorepo Support

Works with Yarn workspaces, Turborepo, Nx, and pnpm workspaces. Detects cross-package version conflicts.

Snapshot & Diff

Save config snapshots and diff against previous runs. Track what changed between successful and failing builds.

Add to your CI pipeline in 2 minutes

Drop a single step into your GitHub Actions workflow. Fail fast before wasting build minutes.

  • Runs before EAS Build
  • Machine-readable exit codes
  • JSON output for custom integrations
  • Caches results for speed
.github/workflows/build.yml
name: EAS Build
on: [push]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4

      - name: Install dependencies
        run: npm ci

      # Run expo-ci-doctor before building
      - name: Pre-build diagnostics
        env:
          EXPO_CI_DOCTOR_LICENSE_KEY: ${{ secrets.ECD_LICENSE_KEY }}
        run: npx expo-ci-doctor doctor --ci

      - name: Build with EAS
        run: npx eas-cli build --platform all

Loved by mobile teams

Teams ship faster and with more confidence.

"Saved us 3 hours of debugging per week. expo-ci-doctor catches config issues our team used to miss until the EAS build failed."

Alex Chen

Senior Mobile Engineer at TechCorp

"The monorepo support alone is worth it. No more guessing why the build fails in CI but works locally."

Sarah Kim

Lead Developer at AppStudio

"We added it to our CI pipeline as a pre-build step. Build failure rate dropped by 60%."

Marcus Rodriguez

DevOps Engineer at MobileFirst

Frequently asked questions

expo-ci-doctor is a CLI tool that analyzes your Expo/React Native project configuration and predicts CI and EAS build failures before they happen. It checks configs, dependencies, native settings, and common pitfalls — saving you from wasted build minutes.

Yes! You pay once and get a lifetime license. No subscriptions, no recurring fees, no device limits. Your license key works forever.

The basic check command works without a license. The advanced features (analyze, doctor, config overrides, snapshots, monorepo support) require a license key.

After purchase, you'll receive a license key. Simply run: npx expo-ci-doctor activate <your-license-key>. The key is stored locally and verified once during activation.

Absolutely! expo-ci-doctor is designed for CI. Set the EXPO_CI_DOCTOR_LICENSE_KEY environment variable in your CI config and use the --ci flag for machine-readable output.

Open an issue on GitHub or email support. We respond within 24 hours on business days.

Stop guessing. Start shipping.

One-time purchase. Lifetime access. No subscriptions.