{
  "name": "sake",
  "description": "🍶 Swift-based utility for managing project commands, inspired by Make",
  "subcommands": [
    {
      "name": "init",
      "description": "Initialize a new SakeApp project template for defining commands",
      "options": [
        {
          "names": [
            "--config-path",
            "-c"
          ],
          "description": "Specify the path to the configuration file",
          "takes_arg": true,
          "arg": {
            "name": "path",
            "template": "filepaths"
          }
        },
        {
          "names": [
            "--sake-app-path",
            "-s"
          ],
          "description": "Specify the path for the SakeApp package",
          "takes_arg": true,
          "arg": {
            "name": "path",
            "template": "folders"
          }
        }
      ]
    },
    {
      "name": "clean",
      "description": "Remove all build artifacts generated by the SakeApp to ensure a clean state for future builds",
      "options": [
        {
          "names": [
            "--config-path",
            "-c"
          ],
          "description": "Specify the path to the configuration file",
          "takes_arg": true,
          "arg": {
            "name": "path",
            "template": "filepaths"
          }
        },
        {
          "names": [
            "--sake-app-path",
            "-s"
          ],
          "description": "Specify the path for the SakeApp package",
          "takes_arg": true,
          "arg": {
            "name": "path",
            "template": "folders"
          }
        }
      ]
    },
    {
      "name": "edit",
      "description": "Open the SakeApp in Xcode (macOS only)",
      "options": [
        {
          "names": [
            "--config-path",
            "-c"
          ],
          "description": "Specify the path to the configuration file",
          "takes_arg": true,
          "arg": {
            "name": "path",
            "template": "filepaths"
          }
        },
        {
          "names": [
            "--sake-app-path",
            "-s"
          ],
          "description": "Specify the path for the SakeApp package",
          "takes_arg": true,
          "arg": {
            "name": "path",
            "template": "folders"
          }
        }
      ]
    },
    {
      "name": "list",
      "description": "List all available commands defined in the SakeApp",
      "options": [
        {
          "names": [
            "--config-path",
            "-c"
          ],
          "description": "Specify the path to the configuration file",
          "takes_arg": true,
          "arg": {
            "name": "path",
            "template": "filepaths"
          }
        },
        {
          "names": [
            "--sake-app-path",
            "-s"
          ],
          "description": "Specify the path for the SakeApp package",
          "takes_arg": true,
          "arg": {
            "name": "path",
            "template": "folders"
          }
        },
        {
          "names": [
            "--case-converting-strategy"
          ],
          "description": "Specify the strategy for converting command names' case",
          "takes_arg": true,
          "arg": {
            "name": "strategy",
            "suggestions": [
              "keepOriginal",
              "toSnakeCase",
              "toKebabCase"
            ]
          }
        },
        {
          "names": [
            "--sake-app-prebuilt-binary-path",
            "-b"
          ],
          "description": "Specify the path to the prebuilt SakeApp binary",
          "takes_arg": true,
          "arg": {
            "name": "path",
            "template": "filepaths"
          }
        },
        {
          "names": [
            "--json",
            "-j"
          ],
          "description": "Output the list of commands in JSON format"
        }
      ]
    },
    {
      "name": "build",
      "description": "Manually trigger a rebuild of the SakeApp",
      "options": [
        {
          "names": [
            "--config-path",
            "-c"
          ],
          "description": "Specify the path to the configuration file",
          "takes_arg": true,
          "arg": {
            "name": "path",
            "template": "filepaths"
          }
        },
        {
          "names": [
            "--sake-app-path",
            "-s"
          ],
          "description": "Specify the path for the SakeApp package",
          "takes_arg": true,
          "arg": {
            "name": "path",
            "template": "folders"
          }
        },
        {
          "names": [
            "--show-bin-path"
          ],
          "description": "Print the path to the built SakeApp executable"
        }
      ]
    },
    {
      "name": "run",
      "description": "Run the specified command from the SakeApp",
      "options": [
        {
          "names": [
            "--config-path",
            "-c"
          ],
          "description": "Specify the path to the configuration file",
          "takes_arg": true,
          "arg": {
            "name": "path",
            "template": "filepaths"
          }
        },
        {
          "names": [
            "--sake-app-path",
            "-s"
          ],
          "description": "Specify the path for the SakeApp package",
          "takes_arg": true,
          "arg": {
            "name": "path",
            "template": "folders"
          }
        },
        {
          "names": [
            "--case-converting-strategy"
          ],
          "description": "Specify the strategy for converting command names' case",
          "takes_arg": true,
          "arg": {
            "name": "strategy",
            "suggestions": [
              "keepOriginal",
              "toSnakeCase",
              "toKebabCase"
            ]
          }
        },
        {
          "names": [
            "--sake-app-prebuilt-binary-path",
            "-b"
          ],
          "description": "Specify the path to the prebuilt SakeApp binary",
          "takes_arg": true,
          "arg": {
            "name": "path",
            "template": "filepaths"
          }
        }
      ],
      "args": [
        {
          "name": "command",
          "description": "The command to run"
        }
      ]
    }
  ],
  "options": [
    {
      "names": [
        "--help",
        "-h"
      ],
      "description": "Show help information"
    },
    {
      "names": [
        "--version"
      ],
      "description": "Show the version"
    }
  ]
}
