{
  "name": "rake",
  "description": "A ruby build program with capabilities similar to make",
  "options": [
    {
      "names": [
        "-n",
        "--dry-run"
      ],
      "description": "Do a dry run without executing actions"
    },
    {
      "names": [
        "-h",
        "-H",
        "--help"
      ],
      "description": "Display this help message"
    },
    {
      "names": [
        "-I",
        "--libdir"
      ],
      "description": "Include LIBDIR in the search path for required modules",
      "separator": "=",
      "args": [
        {
          "name": "LIBDIR",
          "template": "folders"
        }
      ]
    },
    {
      "names": [
        "-P",
        "--prereqs"
      ],
      "description": "Display the tasks and dependencies, then exit"
    },
    {
      "names": [
        "-q",
        "--quiet"
      ],
      "description": "Do not log messages to standard output"
    },
    {
      "names": [
        "-f",
        "--rakefile"
      ],
      "description": "Use FILE as the rakefile",
      "separator": "=",
      "args": [
        {
          "name": "FILE",
          "template": "filepaths"
        }
      ]
    },
    {
      "names": [
        "-r",
        "--require"
      ],
      "description": "Require MODULE before executing rakefile",
      "separator": "=",
      "args": [
        {
          "name": "MODULE"
        }
      ]
    },
    {
      "names": [
        "-s",
        "--silent"
      ],
      "description": "Like --quiet, but also suppresses the 'in directory' announcement"
    },
    {
      "names": [
        "-T",
        "--tasks"
      ],
      "description": "Display the tasks and dependencies, then exit",
      "args": [
        {
          "name": "pattern",
          "isOptional": true
        }
      ]
    },
    {
      "names": [
        "-t",
        "--trace"
      ],
      "description": "Turn on invoke/execute tracing, enable full backtrace",
      "args": [
        {
          "name": "output",
          "isOptional": true
        }
      ]
    },
    {
      "names": [
        "-v",
        "--verbose"
      ],
      "description": "Log message to standard output (default)"
    },
    {
      "names": [
        "-V",
        "--version"
      ],
      "description": "Display the program version"
    }
  ],
  "args": [
    {
      "name": "targets",
      "isOptional": true,
      "isVariadic": true,
      "generators": [
        {
          "script": [
            "rake",
            "--tasks",
            "--silent"
          ],
          "cache": {
            "strategy": "stale-while-revalidate",
            "cacheByDir": true
          }
        }
      ]
    }
  ]
}
