Files
Schnappix/AGENTS.md
T

33 lines
1.8 KiB
Markdown

# Expo HAS CHANGED
Read the exact versioned docs at https://docs.expo.dev/versions/v56.0.0/ before writing any code.
# Versioning & Build Rules
Whenever a new build is triggered, the version MUST be updated in BOTH `app.json` and `package.json`.
- `version` format: `23.01.X`
- `versionCode`: `X` (just the last number)
Examples:
- version `23.01.1` -> versionCode `1`
- version `23.01.3` -> versionCode `3`
- version `23.01.123` -> versionCode `123`
Apps must always be built as BOTH `.apk` and `.aab`.
The exact naming syntax for compiled files is:
`Schnappix_v23.01.X.apk`
`Schnappix_v23.01.X.aab`
IMPORTANT: All compiled files must be placed in the `apks/` directory (e.g. `apks/Schnappix_v23.01.X.apk`). Do NOT place them in the root directory.
# Architectural Decisions & Project Rules
1. **Kiosk Mode (Device Owner)**
- The app uses Custom Native Modules (Kotlin) for LockTask mode. It does NOT use external MDM software.
- For LockTask to work, the app MUST be set as Device Owner via ADB (`adb shell dpm set-device-owner de.orfel.schnappix/de.orfel.schnappix.KioskDeviceAdminReceiver`).
2. **Photo Saving (Permissions)**
- Uses modern Android MediaStore API (`writeOnly = true` via expo-media-library) to save photos directly to `Schnappix - <EventName> - Collagen` and `Schnappix - <EventName> - Originale`.
- Do NOT attempt to force legacy `WRITE_EXTERNAL_STORAGE` or `READ_EXTERNAL_STORAGE` on Android 13+, as it will fail.
3. **Package Name**
- Must strictly remain `de.orfel.schnappix`.
# Git & Workflow Rules
- **Always Commit and Push:** At the end of every interaction or when tasks are completed, ALL changes must be automatically committed and pushed to Git (`git add .`, `git commit`, `git push`).
- **Push Retry Bug:** If `git push` fails with an authentication error, ALWAYS try running it a second time, as it usually succeeds on the retry.