expo-prebuildlisted
Install: claude install-skill fatihkan/badi
# expo-prebuild
A guide to the managed → bare transition and continuous native sync with `npx expo prebuild`. Managing the `ios/` and `android/` directories, `.easignore`, the native-upgrade flow, and custom-mod application order. Plugin writing lives in `expo-config-plugin`.
## What It Does
- Generates the native projects with the `prebuild` command
- Continuous native generation (CNG) vs persisted native decision
- EAS build cleanup with `.easignore`
- Native upgrade flow (Expo SDK + dependencies)
- Prebuild cache and `--clean` flag usage
- Custom mod compose order
## Prebuild Commands
```bash
# Basic
npx expo prebuild
# Single platform
npx expo prebuild --platform ios
npx expo prebuild --platform android
# Clean start (delete and regenerate the native directories)
npx expo prebuild --clean
# Specific template
npx expo prebuild --template <github-url-or-tarball>
# Skip dependency install
npx expo prebuild --no-install
```
## Two Strategies
### A) Continuous Native Generation (CNG) — Recommended
- **Don't commit** the `ios/` and `android/` directories
- `prebuild` runs before every build (EAS does it automatically)
- Native config is fully generated from `app.config.ts` + plugins
- Advantage: easy SDK upgrades, no conflicts
- Limit: very custom native changes = you must write a config plugin
### B) Persisted Native (the old "bare")
- `ios/` and `android/` are committed
- Don't run `prebuild` — go straight to Xcode/Android Studio
- Advantage: full native control
-