| Name | Last commit date | |
|---|---|---|
| .. | ||
| assets | 5 months ago | |
| deps | 5 months ago | |
| modules | 5 months ago | |
| plugins | 5 months ago | |
| src | 5 months ago | |
| .editorconfig | 5 months ago | |
| .fingerprintignore | 5 months ago | |
| .gitignore | 5 months ago | |
| .swiftlint.yml | 5 months ago | |
| app.config.ts | 5 months ago | |
| assets.d.ts | 5 months ago | |
| babel.config.js | 5 months ago | |
| Brewfile | 5 months ago | |
| clerk-theme.json | 5 months ago | |
| detekt.yml | 5 months ago | |
| eas.json | 5 months ago | |
| global.css | 5 months ago | |
| index.ts | 5 months ago | |
| metro.config.js | 5 months ago | |
| package.json | 5 months ago | |
| README.md | 5 months ago | |
| tsconfig.json | 5 months ago | |
| uniwind-types.d.ts | 5 months ago | |
T3 Code Mobile
[!WARNING] T3 Code Mobile is currently in development and is not distributed yet. If you want to try it out, you can build it from source.
Quickstart
[!NOTE] Uses native modules so using Expo Go is not supported. You need to use the Expo Dev Client.
This app has three variants:
development: Expo dev client, installable side-by-side asT3 Code Devpreview: persistent internal preview build, installable side-by-side asT3 Code Previewproduction: store/release build asT3 Code
Run commands from apps/mobile.
T3 Connect is optional and disabled in a fresh clone. Public configuration belongs in the
repository-root .env or .env.local, not an apps/mobile/.env file. See
../../.env.example.
Development
Start Metro for the dev client:
vp run dev:client
Build and run the local iOS dev client:
vp run ios:dev
Build and run the local iOS preview app:
vp run ios:preview
Force the review diff highlighter engine:
EXPO_PUBLIC_REVIEW_HIGHLIGHTER_ENGINE=javascript vp run ios:dev
javascript is the default and recommended setting for the review diff screen. Set EXPO_PUBLIC_REVIEW_HIGHLIGHTER_ENGINE=native only when you explicitly want to test the native Shiki engine.
Inspect the resolved Expo config for a variant:
vp run config:dev
vp run config:preview
Run static checks for mobile native code:
node ../../scripts/mobile-native-static-check.ts
The native lint task runs SwiftLint for Swift plus ktlint and detekt for Kotlin. Missing native tools are reported as warnings and skipped locally. CI installs the default toolset from apps/mobile/Brewfile before running the native checks.
EAS Builds
CI uses Expo fingerprinting with the preview:dev profile to reuse an existing compatible build when possible, or start a new internal EAS build when native runtime inputs change. Production and default local builds continue to use the appVersion runtime policy.
For preview or production EAS environments, set T3CODE_CLERK_PUBLISHABLE_KEY,
T3CODE_CLERK_JWT_TEMPLATE, and T3CODE_RELAY_URL
as EAS environment variables. Expo config maps the canonical values into the mobile build.
Create a PR preview dev-client build manually:
vp run eas:ios:preview:dev
Create a cloud dev-client build:
vp run eas:ios:dev
Create a persistent preview build:
vp run eas:ios:preview
Android equivalents:
vp run eas:android:dev
vp run eas:android:preview:dev
vp run eas:android:preview