Files
crowd-funder-for-time-pwa/AGENTS.md

1.5 KiB

Agent Instructions for crowd-funder-for-time-pwa

Android Build — Google Play Services / FOSS Compatibility

Firebase is opt-in. Do NOT enable it accidentally.

android/google-services.json is gitignored and may be present on disk for push notification development, but Firebase is only activated when you explicitly pass -PfirebaseEnabled to Gradle:

  • FOSS / APK / Aurora / Zapstore / F-Droid builds: just ./gradlew assembleRelease — Firebase stays off even if google-services.json is on disk.
  • Firebase / FCM / Play Store builds: ./gradlew bundleRelease -PfirebaseEnabled — explicitly opt in.

This guard is in android/app/build.gradle. Do NOT change this conditional to activate Firebase unconditionally based on file presence alone — that was the bug that broke FOSS distribution in June 2026.

google-services.json is intentionally excluded from git (android/.gitignore). Never commit it.

Full details, incident history, and F-Droid notes: doc/development/android-firebase-gms.md

Android Build — MLKit Barcode Scanner

@capacitor-mlkit/barcode-scanning depends on com.google.android.gms:play-services-code-scanner, which merges com.google.android.gms.version into the APK manifest. This is a known long-term issue for strict FOSS/F-Droid builds. For now, the dependency is accepted; barcode scanning simply will not work on GMS-less devices (it fails gracefully at scan time, not at startup). Do not add additional GMS/Firebase dependencies without explicitly acknowledging this trade-off.