A configurable Expo starter for Android, iOS, and web, built with Expo Router, gluestack-ui v5, NativeWind v5, TypeScript, TanStack Query, Zustand, React Hook Form, Zod, and i18next.
NativeWind status: v5 is consumed from its
previewtag because this variant explicitly targets the latest gluestack + NativeWind/Tailwind v4 integration. Seedocs/adr/0002-nativewind-v5.mdbefore production release.
- First-launch intro and authenticated onboarding
- Email login, phone OTP login/registration, password reset, and mock/remote auth adapters
- Protected Expo Router route groups and tab navigation
- Dashboard, activity, profile, appearance, language, account, about, and legal screens
- Light, dark, and system themes
- English and Persian with live LTR/RTL layout direction
- Secure native session storage and non-sensitive preference storage
- Source-owned gluestack components in
src/shared/ui - Single-source brand tokens that generate Tailwind v4 CSS
- Feature generators, tests, CI, EAS profiles, architecture docs, specs, and agent rules
corepack enable
cp .env.example .env
pnpm install
pnpm check
pnpm devThe first install creates pnpm-lock.yaml. Commit that lockfile before publishing the template, and then change CI installs to pnpm install --frozen-lockfile.
Mock credentials:
Email: demo@example.com
Password: password123
OTP: 123456
pnpm typecheck
pnpm lint
pnpm test
pnpm format:check
pnpm theme:check
pnpm check- Edit brand metadata, logo mode, typography, and semantic colors in
src/shared/config/brand-config.ts, then runpnpm theme:sync. Replace static logo files throughsrc/shared/config/brand-assets.ts. - Edit feature flags, languages, mock auth values, layout, and legal metadata in
src/shared/config/app-config.ts. - Replace images under
assets/imagesand updateapp.config.tswhen paths change. - Replace copy in
src/shared/i18n/locales/en.jsonand other locale files. - Set package identifiers and public environment values in
.env. - Replace legal placeholders before release.
- Switch
EXPO_PUBLIC_API_MODE=remoteand implement your backend contract.
Read AGENTS.md before agent-driven changes and start feature work from specs/README.md.
src/app Route declarations and navigation composition only
src/features Vertical product capabilities
src/shared Design system, configuration, providers, storage, API, and reusable code
See docs/ARCHITECTURE.md, docs/CONFIGURATION.md, docs/AUTHENTICATION.md, docs/GLUESTACK-UI.md, docs/NATIVEWIND-V5.md, and docs/REWRITE_REPORT.md.
pnpm build:webThe export is written to dist/. A production Nginx container is included:
docker compose up --build