Push CLI

Last updated on May 07, 2026

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.swift
  • Sources/FirestructCore/PushTokenSourceResolverService.swift