Mobile Conventions
Imports
Section titled “Imports”Shared DB types — Always import from @life-manager/db:
import { AppSchema } from "@life-manager/db/schema";import { Tables } from "@life-manager/db/supabase";import { Profile, ProfileUpdate } from "@life-manager/db/types/profile.types";Never create local type files that duplicate @life-manager/db types.
Styling
Section titled “Styling”React Native StyleSheet and built-in components. No Mantine (web-only).
Navigation
Section titled “Navigation”Expo Router with file-based routing in src/app/. Follows Expo Router v6 conventions.
Path Alias
Section titled “Path Alias”@/* maps to ./src/* (same convention as web app).
Native Packages
Section titled “Native Packages”Always prefer Expo-compatible native packages over third-party alternatives.
| Use Case | Package |
|---|---|
| Date/Time Picker | @expo/ui SwiftUI DatePicker (iOS only) |
| Haptics | expo-haptics |
| Icons | @expo/vector-icons (Ionicons, MaterialIcons, etc.) |
Check the Expo docs for recommended packages before adding third-party dependencies.