@nzmedet/feas
v0.1.13
Published
Local release automation for Expo and React Native apps.
Readme
FEAS
Local release automation for Expo and React Native apps. Think of FEAS as a free, local-first Expo EAS CLI companion for build/submit/release workflows. Built for solo developers who need one place to manage App Store and Play Store operations across all Expo apps. Runs entirely on your machine, so you use your own local build/signing toolchain (Xcode, Android SDK/Gradle, Fastlane, credentials).
FEAS gives you:
- CLI (
feas) - Local dashboard (
feas open) to manage all apps (build/submit) - Local metadata/build/release tooling with your own machine credentials
- Build number/versionCode bumping during release workflows (
--no-bumpto disable) - App build/release/deployment (using fastlane)
Install
npm install -g @nzmedet/feasCheck install:
feas --version
feas --helpRequirements
- Node.js 20+
- A react-native/expo project with
package.jsonandeas.json
For real build/submit/metadata sync (--real or non-dry-run), you also need:
- Fastlane
- iOS: Xcode + App Store Connect API key
- Android: SDK/Gradle + Play service account
Quick Start
Run inside your app project root:
cd /path/to/your/app
feas initInspect setup:
feas config --json
feas doctorCommon Commands
Build
# safe preview
feas build all --dry-run
# real build
feas build ios
feas build androidSubmit
# dry-run submit
feas submit ios --path dist/app.ipa --dry-run
# real submit
feas submit ios --path dist/app.ipaRelease
# dry-run release
feas release ios --dry-run --skip-submit
# real release
feas release iosMetadata
# local placeholders / validation workflow
feas metadata pull ios
feas metadata validate ios
# real App Store / Play metadata sync
feas metadata pull --real ios
feas metadata push --real iosNotes:
- FEAS does not force a specific locale folder (for example,
en-AU,en-US, etc. are handled dynamically). - Metadata files may be empty if store fields are empty/optional.
Credentials
feas credentials ios
feas credentials android
feas credentials validateReusable local profiles:
feas credentials ios --key-id <KEY_ID> --issuer-id <ISSUER_ID> --private-key-path <PATH_TO_P8> --save-as personal-apple
feas credentials android --service-account-path <PATH_TO_JSON> --save-as personal-google
feas credentials list
feas credentials ios --use personal-apple
feas credentials android --use personal-googleLogs and Cleanup
feas logs --latest --raw
feas cleanDashboard
Start local API + dashboard:
feas open [--port 4545]Open the printed URL.
Troubleshooting
@prisma/client did not initialize yet
If your npm setup skipped install scripts, run:
prisma generate --schema "$(npm root -g)/@nzmedet/feas/packages/db/prisma/schema.prisma"Development
Contributor instructions are in DEVELOPMENT.md.
