You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[](https://github.com/maximcoding/react-native-starter/generate)
A bare-workflow React Native starter for apps that need more than a demo.
10
-
11
-
Clean foundation from day one: strict TypeScript, feature-first structure, theme tokens, i18n, offline-ready behavior, and solid quality gates — with room to grow without rebuilding the same setup again.
> If `npm install` fails on peer deps, try `npm install --legacy-peer-deps`.
34
-
35
-
---
36
-
37
-
## ✨ What's Included
18
+
Edit `.env` as needed for your setup.
19
+
Main values: `API_URL`, `USE_MOCK_API`, optional Sentry keys, optional OTA keys.
38
20
21
+
> `npm run ios` and `npm run android` run `env:ensure` first, so `.env` is created from `.env.example` if missing.
22
+
--------
23
+
## ✨ Features Included
39
24
-**🧱 Bare React Native** — full native control, no Expo lock-in
40
25
-**🧭 Navigation & State** — React Navigation (stacks, tabs, modals), Zustand for global state, TanStack Query for server state with caching, retries, and persistence.
41
26
-**📦 TanStack Query** — caching, persistence, retries, and invalidation
@@ -48,62 +33,251 @@ npm run ios # or: npm run android
48
33
-**🖼️ SVG via script** — easier icon generation and maintenance
49
34
-**🚀 BootSplash included** — native splash screen setup already in place
50
35
-**🧪 Developer Experience** — Biome linting, Jest tests, GitHub Actions CI, Maestro E2E, SVG icon generation, and native splash screen via BootSplash.
51
-
-
36
+
52
37
---
53
38
54
-
## Environment Variables
39
+
## 🧭 Project structure
55
40
56
-
Values are read at build time via `react-native-config`. See `.env.example` for the full list.
41
+
The starter uses a **feature-first** layout under `src/features` with shared code in `src/shared`.
57
42
58
-
| Variable | Purpose |
59
-
|---|---|
60
-
|`API_URL`| Backend base URL |
61
-
|`USE_MOCK_API`|`true` uses the mock transport; login pre-fills demo credentials |
62
-
|`WS_URL`| WebSocket base URL |
63
-
|`ENV`|`development` / `staging` / `production`|
64
-
|`SENTRY_DSN`| Enables Sentry error tracking |
65
-
|`CODEPUSH_KEY_IOS` / `CODEPUSH_KEY_ANDROID`| Reserved for OTA updates |
0 commit comments