CLAUDE.md@templates · git:20260728.436a435 · 2026-07-28 · sha256 b790c885e7b72c34
CLAUDE.md@templates git:20260728.436a435A
Immutable. This exact content is served forever at /api/v1/blob/b790c885e7b72c34.
<!-- CLAUDE.md template for React Native / Expo projects. Copy what applies into your project's CLAUDE.md and delete the rest. Short and true beats long and aspirational: every line here is a rule the agent can actually follow, not a wish. --> ## Project <!-- One paragraph: what the app is, which stack (Expo SDK version, state management, backend), where the entry points live. --> ## Dependency rules - Install React Native libraries with `npx expo install <pkg>`, not the package manager directly. It picks the version tested against this SDK. - After any dependency change, run `npx expo-doctor` and fix what it flags. - Do not add a new native dependency without flagging it: native deps require a new store build and shift the OTA runtime fence. ## Native project rules <!-- Keep ONE of these two blocks. --> <!-- CNG / managed: --> - The `ios/` and `android/` folders are generated by prebuild. Never hand-edit them; change app config or config plugins instead, then `npx expo prebuild --clean`. <!-- Bare workflow: --> - Native projects are source of truth; changes go through `ios/` and `android/` directly and get committed. ## Commands - Start: `npx expo start` - iOS simulator: `npx expo run:ios` - Android emulator: `npx expo run:android` - Tests: `npm test` - Types: `npx tsc --noEmit` - Lint: `npm run lint` ## Code rules - TypeScript strict; no `any` without a comment explaining why. - No secrets in code or in app config. Public keys only; anything private stays server-side. - Errors reported to monitoring must be real Error instances with a meaningful name, never bare objects. - Network calls need a timeout and an abort path. Assume the network hangs, because it does. ## Release rules - OTA updates only when zero native changes since the last store build. Otherwise: store build. - Version bumps are deliberate; build numbers auto-increment. ## Before finishing any task - `npx tsc --noEmit` passes - Tests pass - On UI changes: state which screens you verified and on which platform