Per template (singularity-forge f3d84cd11). Project-specific manifest + prompts/project.md capture: post-rename namespace com.centralcloud.oncall (io.heckel.ntfy fully gone), centrally-configured-from-server design, strict-opt-in SMS relay, greenfield (no backwards compat with upstream ntfy). Legacy docs (AGENTS.md, README.md, TESTING.md) kept; .agents/ canonical going forward. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2 KiB
2 KiB
Project Prompt — oncall-mobile-android
What this is
Centralcloud OnCall Android pager. Forked from binwiederhier/ntfy-android;
fully renamed to com.centralcloud.oncall (no io.heckel.ntfy left in
the source tree).
Engineer's single pane for on-call: paging, conference bridge, agent chat, plus an SMS-relay subsystem that forwards whitelisted incoming SMS from this device's number to centralcloud-ops.
For the long form see AGENTS.md. For test setup
see TESTING.md. For the build shell see
flake.nix.
Non-negotiables
- Package namespace is
com.centralcloud.oncall. Don't reintroduceio.heckel.ntfyin any file — the rename is complete and absolute. - Centrally configured. App hits
GET https://ops.centralcloud.com/api/android/configon first launch — everything else (server URLs, default topics, FCM project) comes from there. Hardcode at most one URL. - Strict opt-in for SMS relay.
SmsRelayPreferences.enableddefaults false. Whitelist is required (empty set → forward nothing). Disclosure must be clear in the settings UI — the app reads incoming SMS, and that's sensitive. - Greenfield, no backwards compat with upstream ntfy. Backup
format magic was rewritten (
oncall26), URL scheme isoncall://, intent action namespaces arecom.centralcloud.oncall.*(e.g.com.centralcloud.oncall.SEND_MESSAGE).
Workflow
- Build via Nix dev shell:
nix developthen./gradlew assembleDebug. - Tests: see TESTING.md.
- Install on ops phones:
adb install -r app/build/outputs/apk/.... - SMS-relay config: launch
adb shell am start -n com.centralcloud.oncall/.sms.SmsRelaySettingsActivity, set base URL + device ID + whitelist + toggle on.
Sibling repos
centralcloud/infra— the centralcloud-ops Phoenix app this connects to (/api/push/*,/api/sms/inbound/phone-relay,/api/devices/heartbeat, etc.).centralcloud/operations-memory— Go memory service.singularity/singularity-forge— SF planning tool.