{
  "name": "elm",
  "description": "Fig spec for the Elm language cli",
  "options": [
    {
      "names": [
        "--help"
      ],
      "description": "Show help for elm"
    }
  ],
  "subcommands": [
    {
      "name": "init",
      "description": "Initialize a new Elm project",
      "options": [
        {
          "names": [
            "--help"
          ],
          "description": "Show help for elm init"
        }
      ]
    },
    {
      "name": "repl",
      "description": "Start an Elm repl",
      "options": [
        {
          "names": [
            "--no-colors"
          ],
          "description": "Turn off colors in the repl"
        },
        {
          "names": [
            "--interpreter"
          ],
          "description": "Path to an alternate JS interpreter, such as Node or Deno",
          "args": [
            {
              "name": "interpreter"
            }
          ]
        },
        {
          "names": [
            "--help"
          ],
          "description": "Show help for elm repl"
        }
      ]
    },
    {
      "name": "reactor",
      "description": "Start an Elm development server",
      "options": [
        {
          "names": [
            "--port"
          ],
          "description": "The port to access the development server on",
          "args": [
            {
              "name": "port",
              "description": "The port number"
            }
          ]
        },
        {
          "names": [
            "--help"
          ],
          "description": "Show help for elm reactor"
        }
      ]
    },
    {
      "name": "install",
      "description": "Install an Elm dependency",
      "options": [
        {
          "names": [
            "--help"
          ],
          "description": "Show help for elm install"
        }
      ],
      "args": [
        {
          "name": "package",
          "description": "The name of the package to install",
          "generators": [
            {
              "script": [
                "curl",
                "-sH",
                "accept-encoding: gzip",
                "--compressed",
                "https://package.elm-lang.org/search.json"
              ],
              "cache": {
                "ttl": 259200000
              }
            }
          ]
        }
      ]
    },
    {
      "name": "make",
      "description": "Build your Elm code",
      "options": [
        {
          "names": [
            "--help"
          ],
          "description": "Show help for elm make"
        },
        {
          "names": [
            "--debug"
          ],
          "description": "Compile in debug mode"
        },
        {
          "names": [
            "--optimize"
          ],
          "description": "Compile in production mode"
        },
        {
          "names": [
            "--output"
          ],
          "description": "Where to output the compiled code",
          "args": [
            {
              "name": "output file",
              "description": "Name and location of output"
            }
          ]
        },
        {
          "names": [
            "--docs"
          ],
          "description": "Generate a JSON file of documentation",
          "args": [
            {
              "name": "output json",
              "description": "Name and location of output"
            }
          ]
        }
      ],
      "args": [
        {
          "name": "source files",
          "description": "The source files to compile",
          "template": "filepaths"
        }
      ]
    },
    {
      "name": "bump",
      "description": "Bump the version of your package",
      "options": [
        {
          "names": [
            "--help"
          ],
          "description": "Show help for elm bump"
        }
      ]
    },
    {
      "name": "diff",
      "description": "See what changed between versions of a package",
      "options": [
        {
          "names": [
            "--help"
          ],
          "description": "Show help for elm diff"
        }
      ],
      "args": [
        {
          "name": "package",
          "isOptional": true
        },
        {
          "name": "version",
          "isOptional": true,
          "isVariadic": true
        }
      ]
    },
    {
      "name": "publish",
      "description": "Publish your package",
      "options": [
        {
          "names": [
            "--help"
          ],
          "description": "Show help for elm publish"
        }
      ]
    }
  ]
}
