@@ -69,7 +69,8 @@ Then scan the QR code with Expo Go (or press `a` for Android / `i` for iOS).
6969├── docs/
7070│ ├── EXPO_SETUP.md # Expo account + EAS setup
7171│ ├── APP_STORE_SETUP.md # Apple Developer + App Store Connect
72- │ └── PLAY_STORE_SETUP.md # Google Play Console setup
72+ │ ├── PLAY_STORE_SETUP.md # Google Play Console setup
73+ │ └── PRIVACY_MANIFEST.md # iOS PrivacyInfo.xcprivacy + Android photo picker permission
7374├── scripts/
7475│ └── bump-version.js # Bumps version in app.json + package.json
7576├── eas-hooks/
@@ -108,6 +109,7 @@ Then scan the QR code with Expo Go (or press `a` for Android / `i` for iOS).
108109| CodeQL (` codeql.yml ` ) | Static analysis for security vulnerabilities (push/PR + weekly) |
109110| Maintenance (` maintenance.yml ` ) | Weekly CI health check — auto-creates issue on failure |
110111| Stale (` stale.yml ` ) | Labels inactive issues/PRs after 30 days, auto-closes after 7 more |
112+ | CHANGELOG (` update-changelog.yml ` ) | Appends merged-PR entries to ` CHANGELOG.md ` automatically |
111113
112114### CD Android (manual trigger via Actions tab)
113115
@@ -231,6 +233,20 @@ This template uses JavaScript to stay lightweight. To add TypeScript:
231233
232234Expo supports TypeScript out of the box -- no extra configuration needed.
233235
236+ ## Design Intent
237+
238+ - ** Cloud-native builds.** EAS compiles native binaries off-device so CI/CD runs without local Xcode or Android Studio.
239+ - ** Auth gating via route groups.** ` app/(app)/ ` is the protected zone — there is no "auth check" scattered across screens.
240+ - ** Secrets in the OS keychain.** Tokens go to iOS Keychain / Android Keystore through ` expo-secure-store ` , never ` AsyncStorage ` .
241+ - ** Lint, test, audit on every push.** Supply-chain hardening (` --ignore-scripts ` , pinned gitleaks, CodeQL) is on by default — not an afterthought.
242+
243+ ## Non-Goals
244+
245+ - ** TypeScript by default.** Stays JS to keep the template small; opt-in steps are documented above.
246+ - ** Custom native modules.** Anything requiring ` expo prebuild ` + native code is out of scope. Use a bare workflow if you need it.
247+ - ** Backend.** This is the client only. Pair with a separate API repo.
248+ - ** State management library.** No Redux/Zustand/etc. — the auth context is the only global state shipped.
249+
234250## Contributing
235251
236252PRs welcome. Please use the [ PR template] ( .github/PULL_REQUEST_TEMPLATE.md ) .
0 commit comments