git clone https://github.com/btriapitsyn/openchamber.git
cd openchamber
bun install
# Web development
bun run dev:web:full
# Desktop app (Tauri)
bun run desktop:dev
# Mobile app (Expo/iOS)
bun run mobile:start # Start Expo dev server
bun run mobile:ios:simulator # Run on iOS Simulator
bun run mobile:ios # Run on physical device
# VS Code extension
bun run vscode:build && code --extensionDevelopmentPath="$(pwd)/packages/vscode"
# Production build (all packages)
bun run buildThe mobile app is built with Expo and React Native. It requires:
- Node.js 20+
- Xcode 15+ (for iOS development)
- iOS Simulator or physical iOS device
- EAS CLI (for production builds)
cd packages/mobile
# Install dependencies
bun install
# Start Expo development server
bun run start
# Run on iOS Simulator
bun run ios:simulator
# Run on physical device
bun run ios# Build using EAS (requires Apple Developer account)
bun run build:ios
# Local build (requires Xcode)
bun run build:ios:localbun run mobile:type-checkbun run type-check # Must pass
bun run lint # Must pass
bun run build # Must succeed- Functional React components only
- TypeScript strict mode - no
anywithout justification - Use existing theme colors/typography - don't add new ones
- Components must support light and dark themes
- Mobile components should use the shared theme from
@openchamber/shared
- Fork and create a branch
- Make changes
- Run validation commands above
- Submit PR with clear description of what and why
packages/
├── shared/ # Shared types, themes, and utilities
├── ui/ # React component library (web/desktop)
├── web/ # Web server and PWA
├── desktop/ # Tauri desktop app (macOS)
├── mobile/ # Expo/React Native iOS app
└── vscode/ # VS Code extension
See AGENTS.md for detailed architecture reference.
Open an issue.