{
  "product": "NerveOps",
  "short_name": "Nerve",
  "use_cases": [
    {
      "id": "github_actions_failed",
      "title": "GitHub Actions failed",
      "when_to_use": "A workflow failure should wake or notify an iPhone without sending plaintext alert content to chat.",
      "example": "printf 'FAILED: %s\\nrun: %s\\n' \"$GITHUB_REPOSITORY\" \"$GITHUB_RUN_ID\" | nerve send --severity critical --title \"CI failed\"",
      "why_nerve": "The sender DSN can only send encrypted signals into one pipe.",
      "when_not_to_use": "Use on-call or monitoring tools when escalation, ownership or dashboards are required."
    },
    {
      "id": "cron_backup_failed",
      "title": "Cron backup failed",
      "when_to_use": "A backup job should send a failure result to iPhone from a server or VM.",
      "example": "/opt/jobs/backup.sh || echo \"backup failed on $(hostname)\" | nerve send --severity critical --title \"Backup failed\"",
      "why_nerve": "The backup host gets a send-only credential instead of a broad chat bot token.",
      "when_not_to_use": "Use backup or monitoring software for backup orchestration, retention, metrics or dashboards."
    },
    {
      "id": "deploy_smoke_failed",
      "title": "Deploy smoke test failed",
      "when_to_use": "A deploy or smoke script should notify iPhone after a failed release check.",
      "example": "./smoke.sh || echo \"smoke failed after deploy\" | nerve send --severity critical --title \"Smoke failed\"",
      "why_nerve": "The alert is encrypted before relay delivery and decrypted locally on iPhone.",
      "when_not_to_use": "Use team chat when the result should become a shared incident thread."
    },
    {
      "id": "disk_space_low",
      "title": "Disk space low",
      "when_to_use": "A lightweight server check should send an operational signal from a VPS or Linux server.",
      "example": "df -h / | awk 'NR==2 && $5+0 > 85 { print \"disk space low: \" $5 }' | nerve send --title \"Disk space\"",
      "why_nerve": "It is a narrow encrypted signal path from infrastructure to iPhone.",
      "when_not_to_use": "Use a monitoring stack if checks, trends and alert rules must be managed centrally."
    },
    {
      "id": "optional_signed_action",
      "title": "Optional signed action after alert",
      "when_to_use": "A trusted machine should accept bounded signed commands after the user receives an alert.",
      "example": "nerve-agent -server api.nerve.ink:443 -token TOKEN",
      "why_nerve": "Actions are separate from sender DSNs and require a trusted local agent.",
      "when_not_to_use": "Do not use Nerve as SSH, an interactive shell or an unrestricted remote control product."
    }
  ]
}
