{
  "description": "Build and deploy canisters of an Internet Computer project. Covers 'icp build' and 'icp deploy'; canister calls, networks, identities and project creation are not covered.",
  "name": "icp",
  "subcommands": [
    {
      "name": "build",
      "description": "Build the canisters of the project; all of them when none are named.",
      "options": [
        {
          "names": [
            "--environment",
            "-e"
          ],
          "description": "Environment",
          "args": {
            "name": "environment",
            "isOptional": false,
            "suggestions": [
              {
                "name": "local",
                "description": "local"
              }
            ]
          }
        }
      ],
      "args": [
        {
          "name": "canisters",
          "description": "Canister names; leave empty to build all.",
          "isOptional": true,
          "isVariadic": true
        }
      ]
    },
    {
      "name": "deploy",
      "description": "Create, build and install canisters. Inline arguments (--args) and proxy options are not offered.",
      "options": [
        {
          "names": [
            "--environment",
            "-e"
          ],
          "description": "Environment",
          "args": {
            "name": "environment",
            "isOptional": false,
            "suggestions": [
              {
                "name": "local",
                "description": "local"
              }
            ]
          }
        },
        {
          "names": [
            "--mode",
            "-m"
          ],
          "description": "Install mode",
          "args": {
            "name": "mode",
            "isOptional": false,
            "suggestions": [
              {
                "name": "auto",
                "description": "Auto"
              },
              {
                "name": "install",
                "description": "Install"
              },
              {
                "name": "reinstall",
                "description": "Reinstall (wipes state)"
              },
              {
                "name": "upgrade",
                "description": "Upgrade"
              }
            ]
          }
        },
        {
          "names": [
            "--identity"
          ],
          "description": "Identity",
          "args": {
            "name": "identity",
            "isOptional": false
          }
        },
        {
          "names": [
            "--subnet"
          ],
          "description": "Subnet",
          "args": {
            "name": "subnet",
            "isOptional": false
          }
        },
        {
          "names": [
            "--controller"
          ],
          "description": "Controllers",
          "args": {
            "name": "controller",
            "isOptional": false,
            "isVariadic": true
          },
          "isRepeatable": true
        },
        {
          "names": [
            "--no-create"
          ],
          "description": "Do not create missing canisters"
        },
        {
          "names": [
            "--yes",
            "-y"
          ],
          "description": "Skip confirmation prompts"
        }
      ],
      "args": [
        {
          "name": "names",
          "description": "Canister names; leave empty to deploy all.",
          "isOptional": true,
          "isVariadic": true
        }
      ]
    }
  ]
}
