Latest Expo
Expo SDK 58, React Native 0.88 and React 19.3, with the React Compiler and the New Architecture.
npx create-expo-boilerplate@latest my-appAnswer a few questions, or press Enter to take the defaults. The CLI writes an app with only the stack you chose, installs dependencies and makes the first git commit.
| Choice | Options (default first) |
|---|---|
| Navigation | Expo Router (typed routes) · React Navigation |
| State management | Zustand · Redux Toolkit with Thunk or Saga |
| Styling | Unistyles 3 · React Native StyleSheet · Tailwind (Uniwind) |
| Language | TypeScript · JavaScript |
| Tooling | ESLint and Husky, each on or off |
| Package manager | yarn · npm · pnpm · bun |
That’s 144 combinations. A test script generates each one and checks that it type-checks, lints, passes its tests and has no leftover code from the options you didn’t pick, and CI runs it on every change.
Latest Expo
Expo SDK 58, React Native 0.88 and React 19.3, with the React Compiler and the New Architecture.
Data fetching
TanStack Query v5, Axios and react-query-kit, with a shared client that adds auth tokens, checks connectivity, handles 401s and shows error toasts.
Forms
React Hook Form with Zod v4 schemas and a ControlledTextField ready to use.
Encrypted storage
MMKV encrypted with AES, using a random key kept in the iOS Keychain or Android Keystore.
i18n with RTL
i18next with English, Spanish and Arabic, typed translation keys, and automatic right-to-left layout.
Three environments
Development, staging and production, each with its own app name and Zod-validated env vars.
EAS ready
Build profiles, fast “repack” builds that skip native compiles, and an approval-gated release workflow.
Quality built in
Jest with React Native Testing Library, ESLint 9, Prettier, Husky and Commitlint.
Code is organised by feature (src/features/auth, src/features/posts, …). Each feature exposes a small public API, and screens talk to state only through hooks like useLogin() and useIsLoggedIn(). That’s why the CLI can swap Zustand for Redux, or Expo Router for React Navigation, without touching a single screen.