Skip to content

Latest commit

 

History

History
62 lines (46 loc) · 3.46 KB

development-workflow.md

File metadata and controls

62 lines (46 loc) · 3.46 KB

Development workflow

Day-to-day habits and scripts.

Package manager

Use Bun. Do not mix npm/yarn into this tree.

Common scripts

Script What it does
start / dev Metro with --dev-client
devClear Metro cache clear
android expo run:android (debug APK)
ios expo run:ios (macOS)
prebuild Android then iOS (--clean; iOS skipped on Windows)
prebuild:android Android-only; sets OTA_PLATFORM=android
prebuild:ios iOS-only (macOS)
wsl:prebuild-android Same Android prebuild
build:android:wsl Gradle assembleDebug (internal APK)
android:release expo run:android --variant release
build:android:release:wsl Gradle assembleRelease (signed APK, sideload)
build:android:bundle:wsl Gradle bundleRelease → Play .aab
build:android:bundle Same without chmod (macOS/Linux)
lint / format / format:check oxlint / oxfmt
tsc / tsc:app Typecheck
test / verify Jest (212 tests) / full gate (oxlint + oxfmt + tsc + Jest)
ota:export:* Stage JS OTA into OTA repo (--out; see ota-self-host)
eas:build:* / eas:submit:* Optional EAS cloud

Local Play AAB: .env → bun run prebuild:android → bun run build:android:bundle:wsl — deployment-local.md.

When to rebuild native vs reload JS

Change Action
TS/TSX, most JS Fast Refresh; then ota:export:* + push OTA repo
New native module / plugin / app.json prebuild + native rebuild
plugins/*.js prebuild + native rebuild

Prebuild discipline

Do not hand-edit android/ or ios/ for product features. Change app.json / plugins, then prebuild. Release signing is re-injected from .env via withAndroidReleaseSigning.

Branch hygiene

bun verify

Husky pre-push also runs verify.

Doc / code sync

After large feature work (especially new tests or store/math changes), refresh Graphify from the AstraX workspace root and update graphify-drift.md:

cd ..   # AstraX-Projects root (parent of radixel/)
bun run graphify:refresh:code
python -m graphify query "mathModes intMath foldWord applyEvaluate"