Files

1.4 KiB

Beenvoice mobile — agent notes

Expo SDK 57. Read Expo v57 docs before changing native config.

Read first

Conventions

  • Package manager: Bun only
  • API types: import AppRouter from beenvoice/server/api/root (tsconfig path ../web/src/*)
  • Shared domain: import platform-neutral behavior from @beenvoice/domain
  • Styling: useAppTheme() + useThemedStyles(); tokens in lib/theme-palette.ts
  • Forms: lib/form-validation.ts; show errors only after blur/submit (useFieldVisibility)
  • Auth: never remount account without migrating SecureStore session (lib/auth-storage.ts)
  • Widgets: all Live Activity UI must be inside the "widget" function in widgets/TimeClockActivity.tsx
  • Metro: port 8082; dev client required (not Expo Go)

Key files

Concern Path
Root providers app/_layout.tsx
Multi-account contexts/AccountsContext.tsx, lib/accounts.ts
Session migration lib/auth-storage.ts
tRPC lib/trpc.tsx
App lock lib/app-lock.ts, contexts/AppLockContext.tsx
Time clock components/time-clock/TimeClockPanel.tsx

Server workspace

Sibling ../web — run bun run dev at the repository root to start both apps.