{
  "description": "Generate an architecture from a pattern, or validate CALM documents. Docify, template, diff and CalmHub options are left out.",
  "name": "calm",
  "subcommands": [
    {
      "name": "generate",
      "description": "Generate architecture",
      "options": [
        {
          "names": [
            "--pattern",
            "-p"
          ],
          "description": "Pattern file",
          "args": {
            "name": "pattern",
            "isOptional": false,
            "template": "filepaths"
          }
        },
        {
          "names": [
            "--output",
            "-o"
          ],
          "description": "Defaults to architecture.json.",
          "args": {
            "name": "output",
            "description": "Defaults to architecture.json.",
            "isOptional": false,
            "template": "filepaths"
          },
          "isDangerous": true
        },
        {
          "names": [
            "--verbose",
            "-v"
          ],
          "description": "Verbose"
        }
      ]
    },
    {
      "name": "validate",
      "description": "Validate documents",
      "options": [
        {
          "names": [
            "--architecture",
            "-a"
          ],
          "description": "Architecture file",
          "args": {
            "name": "architecture",
            "isOptional": false,
            "template": "filepaths"
          }
        },
        {
          "names": [
            "--pattern",
            "-p"
          ],
          "description": "Pattern file",
          "args": {
            "name": "pattern",
            "isOptional": false,
            "template": "filepaths"
          }
        },
        {
          "names": [
            "--timeline"
          ],
          "description": "Timeline file",
          "args": {
            "name": "timeline",
            "isOptional": false,
            "template": "filepaths"
          }
        },
        {
          "names": [
            "--format",
            "-f"
          ],
          "description": "Output format",
          "args": {
            "name": "format",
            "isOptional": false,
            "suggestions": [
              {
                "name": "json",
                "description": "JSON"
              },
              {
                "name": "junit",
                "description": "JUnit"
              },
              {
                "name": "pretty",
                "description": "Pretty"
              }
            ]
          }
        },
        {
          "names": [
            "--strict"
          ],
          "description": "Fail on warnings"
        },
        {
          "names": [
            "--output",
            "-o"
          ],
          "description": "Output file",
          "args": {
            "name": "output",
            "isOptional": false,
            "template": "filepaths"
          },
          "isDangerous": true
        },
        {
          "names": [
            "--verbose",
            "-v"
          ],
          "description": "Verbose"
        }
      ]
    }
  ]
}
