This is a Bun workspaces monorepo:
bartools/
├── packages/
│ ├── backend/ # Hono API running on Bun
│ ├── dashboard/ # Vite + React web dashboard
│ ├── mobile/ # Expo (React Native) app
│ └── ui/ # Shared component library (used by dashboard + mobile)
└── package.json # workspace root
You need Bun installed. Grab it from https://bun.sh or install via:
# macOS / Linux / WSL
curl -fsSL https://bun.sh/install | bash
# macOS (Homebrew)
brew install oven-sh/bun/bun
# Windows (PowerShell)
powershell -c "irm bun.sh/install.ps1 | iex"Verify with:
bun --versionClone and install all workspace dependencies in one shot from the repo root:
git clone https://github.com/jakehemmerle/bartools
cd bartools
bun installbun install walks every package under packages/* and links workspace deps (e.g. @bartools/ui) automatically — no per-package installs needed.
There's a tiny bun test in packages/ui to confirm the toolchain works:
bun testExpected output:
1 pass
0 fail
1 expect() calls
The test lives at packages/ui/src/greet.test.ts and exercises the shared greet() helper that the backend, dashboard, and mobile app all import.
bun run dev:backend # Hono API on http://localhost:3000
bun run dev:dashboard # Vite dev server
bun run dev:mobile # Expo dev serverOr target a workspace directly:
bun --filter @bartools/backend dev- Xcode installed (with iOS Simulator runtime matching your SDK — check Xcode > Settings > Components)
- Bun installed (see above)
cd packages/mobile
bunx expo start --go --iosThis installs Expo Go on the simulator and loads the app. Note: native modules like react-native-vision-camera won't work in Expo Go — camera features will be unavailable.
cd packages/mobile
bunx expo run:iosThis generates the native Xcode project under ios/, compiles, and installs on the simulator. The first build takes several minutes. Subsequent builds are incremental.
If xcodebuild fails with a destination error, ensure your simulator runtime version matches the installed Xcode SDK:
xcodebuild -showsdks | grep -i simulator # check SDK version
xcrun simctl list runtimes # check installed runtimesIf they don't match, install the correct simulator runtime from Xcode > Settings > Components.
Download the sample pack here:
https://dyuie4zgfxmt6.cloudfront.net/samples/cola-sample-pack-v1.zip