Current Status
There is no first-class Push command group in the current CLI implementation.
Push testing is available through the macOS module rather than terminal
commands. This protects the current workflow from accidental sends by keeping
payload editing, token resolution, environment labels, and confirmation in one
interactive surface. Do not assume a push send command exists in release
runbooks yet.
GUI-Only Coverage Today
Use the macOS Push module for:
- token source configuration
- token resolution
- payload validation
- FCM send testing
- logs and per-token result inspection
Before sending any notification, confirm the selected project, environment, token source, notification fields, data payload, and resolved recipient count. The GUI validates payload shape, records resolver output, and shows per-token send results so a support or QA user can distinguish token problems from FCM request failures.
For automation planning, store payload JSON and token-source configuration as
separate artifacts. A future CLI should validate both before send, require
--confirm for live delivery, refuse read-only targets, and preserve logs that
show which tokens succeeded or failed.
Future CLI Shape
Expected future commands:
push validate --payload payload.json
push resolve-tokens --source saved-source
push send --payload payload.json --tokens tokens.json --confirm
Source Anchors
Sources/FirestructCore/PushTestingService.swiftSources/FirestructCore/PushTokenSourceResolverService.swift