A mobile app that mirrors core OpenCode web flows (projects, sessions, diffs, sharing) with mobile-first navigation and streaming responses. All API calls go through the OpenCode SDK client.
- Project and session browsing with fast, virtualized lists
- Streaming assistant responses
- Session review with diffs and summary actions
- Permission requests and inline responses
- Share links and basic server health/offline handling
- Expo SDK 54 / React Native 0.81
- React Navigation (tabs + stack)
- Zustand for a single session store
- OpenCode SDK (
@opencode-ai/sdk)
- Node.js + npm
- Expo CLI (via
npx expo) - iOS Simulator / Android Emulator or Expo Go on a device
npm installnpm run startThen choose a platform:
- iOS:
npm run ios - Android:
npm run android - Web:
npm run web
Open the Settings tab in the app to add a server:
- Base URL: host that runs opencode serve (e.g. on your computer)
- Directory: repo root on the server
- Basic auth: optional, if your server requires it
The client persists saved servers and the current selection.
npm run start- start Expo dev servernpm run ios- run on iOS simulatornpm run android- run on Android emulatornpm run web- run in the browsernpm test- run Jest testsnpm run lint- run ESLintnpm run typecheck- run TypeScript checks
App.tsx- app entrypointsrc/navigation- tab + stack navigationsrc/screens- UI screens (projects, sessions, review, settings)src/store- session store and actions (single source of truth)src/sdk- OpenCode SDK client wrappersrc/storage- server persistence and secure storagesrc/utils- shared helpers
ARCHITECTURE.md- architecture, flows, and UI behaviorsDESIGN.md- visual system: color, typography, components, layoutspec.expo-client.md- invariants, error strings, and test gates



