{
  "id": "cycode",
  "name": "Cycode CLI",
  "homepage": "https://github.com/cycodehq/cycode-cli",
  "description": "A command-line client for Cycode security scanning and authentication.",
  "executables": [
    "cycode"
  ],
  "dotfiles": {
    "paths": [
      "~/.cycode/config.yaml"
    ],
    "secret": [
      "~/.cycode/credentials.yaml"
    ],
    "side_effect": false
  },
  "commands": {
    "format": 1,
    "label": "Cycode CLI",
    "description": "Global output options only. Authentication, client secrets and the platform command groups are left out; use the scan subcommand form for scanning.",
    "quality": "ai-draft",
    "parser": {
      "end_of_options": "--",
      "interleave": "permute",
      "long_equals": true,
      "short_attached": true,
      "short_bundles": false
    },
    "source": [
      {
        "id": "readme",
        "kind": "help",
        "url": "https://raw.githubusercontent.com/cycodehq/cycode-cli/HEAD/README.md",
        "revision": "README global options",
        "evidence": "| `-v`, `--verbose`                                                 | Show detailed logs.                                                                |\n| `-o`, `--output [rich\\|text\\|json\\|table]`                        | Specify the output type. The default is `rich`.                                    |\n"
      }
    ],
    "field": [
      {
        "id": "verbose",
        "label": "Verbose",
        "type": "boolean",
        "option": [
          "--verbose",
          "-v"
        ],
        "sources": [
          "readme"
        ]
      },
      {
        "id": "output",
        "label": "Output type",
        "type": "enum",
        "option": [
          "--output",
          "-o"
        ],
        "choices": [
          {
            "value": "rich",
            "label": "Rich"
          },
          {
            "value": "text",
            "label": "Text"
          },
          {
            "value": "json",
            "label": "JSON"
          },
          {
            "value": "table",
            "label": "Table"
          }
        ],
        "sources": [
          "readme"
        ]
      }
    ],
    "task": [
      {
        "id": "json",
        "label": "JSON output",
        "fields": [
          "verbose",
          "output"
        ],
        "required": [],
        "set": {
          "output": [
            "json"
          ]
        }
      }
    ],
    "group": [
      {
        "id": "basic",
        "label": "Basic",
        "fields": [
          "verbose",
          "output"
        ]
      }
    ],
    "subcommand": [
      {
        "path": [
          "scan"
        ],
        "label": "Scan a repository",
        "description": "Scan a local repository path. Scan types other than secret, SCA sub-scans, Maven/Gradle options and other scan targets are left out.",
        "source": [
          {
            "id": "readme",
            "kind": "help",
            "url": "https://raw.githubusercontent.com/cycodehq/cycode-cli/HEAD/README.md",
            "revision": "README scan command",
            "evidence": "| `-t, --scan-type [secret\\|iac\\|sca\\|sast]`                 | Specify the scan you wish to execute (`secret`/`iac`/`sca`/`sast`), the default is `secret`.                                     |\n| `--severity-threshold [INFO\\|LOW\\|MEDIUM\\|HIGH\\|CRITICAL]` | Show only violations at the specified level or higher.                                                                           |\n| `--monitor`                                                | When specified, the scan results will be recorded in Cycode.                                                                     |\n| `--cycode-report`                                          | Display a link to the scan report in the Cycode platform in the console output.                                                  |\n| `--no-restore`                                             | When specified, Cycode will not run the restore command. This will scan direct dependencies ONLY!                                |\n`cycode scan --severity-threshold MEDIUM repository ~/home/git/codebase`\n"
          }
        ],
        "field": [
          {
            "id": "scan_type",
            "label": "Scan type",
            "type": "enum",
            "option": [
              "--scan-type",
              "-t"
            ],
            "choices": [
              {
                "value": "secret",
                "label": "Secrets"
              },
              {
                "value": "iac",
                "label": "Infrastructure as code"
              },
              {
                "value": "sca",
                "label": "Dependencies (SCA)"
              },
              {
                "value": "sast",
                "label": "SAST"
              }
            ],
            "sources": [
              "readme"
            ]
          },
          {
            "id": "severity",
            "label": "Minimum severity",
            "type": "enum",
            "option": [
              "--severity-threshold"
            ],
            "choices": [
              {
                "value": "INFO",
                "label": "Info"
              },
              {
                "value": "LOW",
                "label": "Low"
              },
              {
                "value": "MEDIUM",
                "label": "Medium"
              },
              {
                "value": "HIGH",
                "label": "High"
              },
              {
                "value": "CRITICAL",
                "label": "Critical"
              }
            ],
            "sources": [
              "readme"
            ]
          },
          {
            "id": "monitor",
            "label": "Record results in Cycode",
            "type": "boolean",
            "option": [
              "--monitor"
            ],
            "sources": [
              "readme"
            ]
          },
          {
            "id": "report",
            "label": "Print report link",
            "type": "boolean",
            "option": [
              "--cycode-report"
            ],
            "sources": [
              "readme"
            ]
          },
          {
            "id": "no_restore",
            "label": "Skip dependency restore",
            "type": "boolean",
            "option": [
              "--no-restore"
            ],
            "sources": [
              "readme"
            ]
          },
          {
            "id": "target",
            "label": "Scan target",
            "type": "enum",
            "position": 0,
            "choices": [
              {
                "value": "repository",
                "label": "Repository path"
              }
            ],
            "sources": [
              "readme"
            ]
          },
          {
            "id": "path",
            "label": "Repository path",
            "type": "path",
            "position": 1,
            "path": {
              "kind": "directory",
              "role": "input"
            },
            "sources": [
              "readme"
            ]
          }
        ],
        "task": [
          {
            "id": "scan_repo",
            "label": "Scan a repository",
            "fields": [
              "scan_type",
              "severity",
              "target",
              "path"
            ],
            "required": [
              "target",
              "path"
            ],
            "set": {
              "target": [
                "repository"
              ]
            },
            "lock": [
              "target"
            ]
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "target",
              "path",
              "scan_type",
              "severity"
            ]
          },
          {
            "id": "advanced",
            "label": "Advanced",
            "fields": [
              "monitor",
              "report",
              "no_restore"
            ]
          }
        ]
      }
    ]
  }
}
