a bluesky client built with expo + react native. ios, android, and web.
protocol: at protocol.
.
├── apps/akari/ ← the app (expo, react native, react native web)
├── packages/ ← shared api clients (bluesky, clearsky)
├── scripts/ ← translation tooling, coverage merging
└── patches/ ← patch-package overrides
npm install
npm run start:development # metro
npm run ios:development # native ios
npm run web:development # webbuild variants: development, preview, production. each gets its own bundle id so they install side-by-side. set APP_VARIANT or use the variant-specific scripts (*:preview, *:production).
npm run dev # turbo dev across workspace
npm run lint # turbo lint
npm run test # jest in apps/akari
npm run test:coverage # + merged coverage
npm run validate-translations # i18n key validation
npm run find-unused-translations # dead-string detection
apps/akari/README.md— app-level setupAGENTS.md— per-directory contribution rulesCONTRIBUTING.md— pr workflowCHANGELOG.md— release-please managedSECURITY.md— vulnerability reporting
mit. see LICENSE.