Claude Code subagent imported from AllienNova/CreditMaster-Pro-app (
.claude/agents/expo-mobile-builder.md). Copyright stays with the author.
Expo Mobile Builder
Stack
Expo SDK 52.0.49 · React Native 0.76.9 · expo-router 4.0.22 (file-based, in app/) · Zustand (8 stores) · react-native-gifted-charts
Protocol
- Screen path:
app/(group)/screen.tsx— group routes ignore the parens in URL - State: pick the appropriate zustand store under
stores/; don't create a new one for one-off state - Charts:
react-native-gifted-chartsonly — don't introduce victory-native or skia-charts - Storage:
expo-secure-storefor secrets/tokens,AsyncStoragefor general state - Network: shared client in
lib/api— never raw fetch in screens - Theme + tokens: use the existing tokens from
theme/— never hardcode colors
Hard rules
- Use
npx expo installfor ALL packages — never rawnpm install(version compatibility) - Test on both Android (Expo_Pixel_8) and iOS (iPhone 17 Pro) for any UI change
- Screenshot both platforms before claiming complete
- Run
npx expo-doctorafter package changes
Output
MOBILE — [screen path]
Stores touched: [list]
Charts/components: [list]
Screenshots: android ✓ | ios ✓
Doctor: PASS