{
  "description": "Scan a container image, directory or SBOM with Grype. Only the flags quoted in Grype's own source are offered; ignore rules, DB and VEX options are left out.",
  "options": [
    {
      "names": [
        "-o"
      ],
      "description": "Output format",
      "args": {
        "name": "output",
        "isOptional": false,
        "suggestions": [
          {
            "name": "table",
            "description": "Table"
          },
          {
            "name": "json",
            "description": "JSON"
          },
          {
            "name": "cyclonedx",
            "description": "CycloneDX"
          },
          {
            "name": "template",
            "description": "Go template"
          }
        ]
      }
    },
    {
      "names": [
        "--file"
      ],
      "description": "Write report to file",
      "args": {
        "name": "file",
        "isOptional": false,
        "template": "filepaths"
      },
      "isDangerous": true
    },
    {
      "names": [
        "--fail-on"
      ],
      "description": "Exit non-zero when a vulnerability at or above this severity is found.",
      "args": {
        "name": "fail_on",
        "description": "Exit non-zero when a vulnerability at or above this severity is found.",
        "isOptional": false,
        "suggestions": [
          {
            "name": "negligible",
            "description": "Negligible"
          },
          {
            "name": "low",
            "description": "Low"
          },
          {
            "name": "medium",
            "description": "Medium"
          },
          {
            "name": "high",
            "description": "High"
          },
          {
            "name": "critical",
            "description": "Critical"
          }
        ]
      }
    },
    {
      "names": [
        "--from"
      ],
      "description": "Force how the target is read, for example docker, registry, podman or containers-storage.",
      "args": {
        "name": "from",
        "description": "Force how the target is read, for example docker, registry, podman or containers-storage.",
        "isOptional": false,
        "suggestions": [
          {
            "name": "docker",
            "description": "Docker"
          },
          {
            "name": "registry",
            "description": "Registry"
          },
          {
            "name": "podman",
            "description": "Podman"
          },
          {
            "name": "containers-storage",
            "description": "containers-storage"
          }
        ]
      }
    },
    {
      "names": [
        "--platform"
      ],
      "description": "For example linux/arm64.",
      "args": {
        "name": "platform",
        "description": "For example linux/arm64.",
        "isOptional": false
      }
    },
    {
      "names": [
        "--distro"
      ],
      "description": "Distro to match",
      "args": {
        "name": "distro",
        "isOptional": false
      }
    },
    {
      "names": [
        "--exclude"
      ],
      "description": "Exclude paths (glob)",
      "args": {
        "name": "exclude",
        "isOptional": false,
        "isVariadic": true
      },
      "isRepeatable": true
    },
    {
      "names": [
        "--by-cve"
      ],
      "description": "Orient results by CVE"
    },
    {
      "names": [
        "--name"
      ],
      "description": "Target name",
      "args": {
        "name": "name",
        "isOptional": false
      }
    }
  ],
  "args": [
    {
      "name": "target",
      "description": "For example alpine:latest, ./my-project or sbom:./sbom.json. Leave empty to read an SBOM from standard input.",
      "isOptional": true
    }
  ],
  "name": "grype"
}
