create-react-native-airborne 0.2.0 โ 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/template/README.md +46 -57
package/package.json
CHANGED
package/template/README.md
CHANGED
|
@@ -1,113 +1,102 @@
|
|
|
1
|
-
#
|
|
1
|
+
# __APP_NAME__
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
This project was scaffolded with React Native Airborne.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
## ๐งฐ Stack
|
|
5
|
+
## ๐งฐ What You Get
|
|
8
6
|
|
|
9
7
|
- Bun workspaces monorepo (`client/`, `server/`)
|
|
10
8
|
- Expo + Expo Router + Native Tabs (SDK 55)
|
|
11
9
|
- Uniwind + Tailwind v4
|
|
12
|
-
- Clerk
|
|
10
|
+
- Clerk auth flows
|
|
13
11
|
- Convex backend + `convex-test`
|
|
14
|
-
- Zustand + MMKV
|
|
12
|
+
- Zustand + MMKV for non-sensitive local preferences
|
|
15
13
|
- Expo push notifications
|
|
16
|
-
- Strict ESLint + Prettier
|
|
17
|
-
|
|
18
|
-
## ๐ฏ Opinionated Defaults
|
|
14
|
+
- Strict ESLint + Prettier + tests
|
|
19
15
|
|
|
20
|
-
|
|
21
|
-
- Expo prebuild supported for local native debugging, but `client/ios` and `client/android` are not committed.
|
|
22
|
-
- Clerk + Convex integration wired from day one.
|
|
23
|
-
- Theme system includes `light`, `dark`, and `system` with persisted preference.
|
|
24
|
-
- Auth tokens are kept in secure storage flows, not MMKV.
|
|
25
|
-
|
|
26
|
-
## ๐๏ธ Project Layout
|
|
16
|
+
## ๐๏ธ Generated Project Layout
|
|
27
17
|
|
|
28
18
|
```text
|
|
29
19
|
__APP_NAME__/
|
|
30
|
-
client/
|
|
31
|
-
server/
|
|
20
|
+
client/ # Expo app
|
|
21
|
+
server/ # Convex backend
|
|
32
22
|
```
|
|
33
23
|
|
|
34
24
|
## โ
Prerequisites
|
|
35
25
|
|
|
36
26
|
- Bun `1.3.4+`
|
|
37
27
|
- `just` command runner
|
|
38
|
-
- Expo toolchain for iOS/Android simulators
|
|
39
|
-
- Clerk app
|
|
28
|
+
- Expo toolchain for iOS/Android simulators/devices
|
|
29
|
+
- Clerk app with native API enabled
|
|
40
30
|
- Convex project/deployment
|
|
41
31
|
|
|
42
|
-
## โก Quickstart
|
|
32
|
+
## โก Quickstart (After Scaffolding)
|
|
43
33
|
|
|
44
34
|
```bash
|
|
35
|
+
cd __APP_NAME__
|
|
45
36
|
bun install --workspaces
|
|
46
37
|
cp client/.env.example client/.env
|
|
47
38
|
cp server/.env.example server/.env
|
|
48
39
|
```
|
|
49
40
|
|
|
50
|
-
First-time Convex setup (
|
|
41
|
+
First-time Convex setup (once per deployment):
|
|
51
42
|
|
|
52
43
|
```bash
|
|
53
44
|
cd server
|
|
54
45
|
bun run dev
|
|
55
46
|
```
|
|
56
47
|
|
|
57
|
-
|
|
48
|
+
Then run app + backend together:
|
|
58
49
|
|
|
59
50
|
```bash
|
|
60
51
|
just dev
|
|
61
52
|
```
|
|
62
53
|
|
|
63
|
-
##
|
|
54
|
+
## ๐ Environment Variables
|
|
55
|
+
|
|
56
|
+
Client (`client/.env`):
|
|
57
|
+
|
|
58
|
+
- `EXPO_PUBLIC_CLERK_PUBLISHABLE_KEY` (required)
|
|
59
|
+
- `EXPO_PUBLIC_CONVEX_URL` (required)
|
|
60
|
+
- `EXPO_PUBLIC_EAS_PROJECT_ID` (optional)
|
|
61
|
+
|
|
62
|
+
Server (`server/.env`):
|
|
63
|
+
|
|
64
|
+
- `CLERK_JWT_ISSUER_DOMAIN` (required in real environments)
|
|
65
|
+
- `EXPO_PUSH_ENDPOINT` (optional)
|
|
66
|
+
- `EXPO_ACCESS_TOKEN` (optional)
|
|
67
|
+
|
|
68
|
+
## ๐งช Common Commands
|
|
64
69
|
|
|
65
70
|
- `just dev`: start Expo + Convex
|
|
66
71
|
- `just dev-client`: start Expo only
|
|
67
72
|
- `just dev-server`: start Convex only
|
|
68
|
-
- `just
|
|
69
|
-
- `just prebuild`: generate local iOS/Android native folders
|
|
73
|
+
- `just prebuild`: generate local iOS/Android folders
|
|
70
74
|
- `just ios`: launch iOS app
|
|
71
75
|
- `just android`: launch Android app
|
|
76
|
+
- `just fmt`: format client/server
|
|
72
77
|
- `just lint`: lint checks
|
|
73
78
|
- `just typecheck`: TypeScript checks
|
|
74
79
|
- `just test`: client + server tests
|
|
75
|
-
- `just test-client`: client tests only
|
|
76
|
-
- `just test-server`: server tests only
|
|
77
80
|
- `just ci`: lint + typecheck + tests
|
|
78
81
|
|
|
79
|
-
## ๐ฑ Native
|
|
82
|
+
## ๐ฑ Native Folder Policy
|
|
80
83
|
|
|
81
|
-
|
|
84
|
+
`just prebuild` is supported for local native runs.
|
|
85
|
+
`client/ios` and `client/android` are generated locally and should not be committed.
|
|
82
86
|
|
|
83
|
-
|
|
84
|
-
just prebuild
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
`client/ios` and `client/android` are intentionally gitignored and should not be committed.
|
|
88
|
-
|
|
89
|
-
## ๐ Environment Variables
|
|
90
|
-
|
|
91
|
-
Client (`client/.env`):
|
|
92
|
-
|
|
93
|
-
- `EXPO_PUBLIC_CLERK_PUBLISHABLE_KEY`
|
|
94
|
-
- `EXPO_PUBLIC_CONVEX_URL`
|
|
95
|
-
- `EXPO_PUBLIC_EAS_PROJECT_ID` (optional)
|
|
96
|
-
|
|
97
|
-
Server (`server/.env`):
|
|
87
|
+
## ๐ Notes
|
|
98
88
|
|
|
99
|
-
- `
|
|
100
|
-
-
|
|
101
|
-
- `
|
|
89
|
+
- Theme support is built-in for `light`, `dark`, and `system`.
|
|
90
|
+
- Do not store sensitive auth/session tokens in MMKV.
|
|
91
|
+
- Uniwind is configured via `client/global.css` and `client/metro.config.js`.
|
|
92
|
+
- `SafeAreaView` is wrapped with `withUniwind` in `client/src/components/screen.tsx`.
|
|
93
|
+
- `server/convex/_generated` ships with starter stubs; after connecting Convex, run `cd server && bun run codegen`.
|
|
94
|
+
- `.direnv/` is gitignored by default.
|
|
102
95
|
|
|
103
|
-
## ๐ค
|
|
96
|
+
## ๐ค Contributing
|
|
104
97
|
|
|
105
|
-
|
|
98
|
+
See `AGENTS.md` for implementation notes and project conventions.
|
|
106
99
|
|
|
107
|
-
##
|
|
100
|
+
## ๐ License
|
|
108
101
|
|
|
109
|
-
|
|
110
|
-
- `SafeAreaView` is wrapped with `withUniwind` in `client/src/components/screen.tsx` for className support.
|
|
111
|
-
- `server/convex/_generated` ships with starter stubs so typecheck/tests pass before deployment setup.
|
|
112
|
-
- After connecting Convex, run `cd server && bun run codegen` to regenerate server types.
|
|
113
|
-
- `.direnv/` is gitignored by default.
|
|
102
|
+
MIT
|