{
  "id": "fly",
  "name": "flyctl",
  "homepage": "https://fly.io/docs/flyctl/",
  "description": "Command line tools for fly.io services.",
  "icon": "SimpleIcons:flydotio",
  "executables": [
    "fly",
    "flyctl"
  ],
  "dotfiles": {
    "paths": [
      "~/.fly/config.yml"
    ],
    "exclude": [
      "~/.fly/agent-logs/",
      "~/.fly/bin/"
    ],
    "secret": [],
    "side_effect": false,
    "secret_paths": [
      {
        "file": "~/.fly/config.yml",
        "match": {
          "key_path": [
            "access_token",
            "metrics_token",
            "wire_guard_state"
          ]
        }
      }
    ]
  },
  "commands": {
    "format": 1,
    "label": "flyctl",
    "description": "Deploy and inspect Fly.io apps: deploy, logs and status. Machines, orgs, secrets and the rest of flyctl are left out.",
    "quality": "ai-draft",
    "base": "fig:fly",
    "parser": {
      "end_of_options": "--",
      "interleave": "permute",
      "long_equals": true,
      "short_attached": true,
      "short_bundles": false
    },
    "source": [
      {
        "id": "fig",
        "kind": "completion",
        "url": "https://github.com/withfig/autocomplete/blob/master/src/fly.ts",
        "license": "MIT"
      }
    ],
    "field": [
      {
        "id": "json",
        "label": "JSON output",
        "type": "boolean",
        "option": [
          "--json",
          "-j"
        ],
        "sources": [
          "fig"
        ]
      }
    ],
    "group": [
      {
        "id": "basic",
        "label": "Basic",
        "fields": [
          "json"
        ]
      }
    ],
    "subcommand": [
      {
        "path": [
          "deploy"
        ],
        "label": "Deploy an app",
        "source": [
          {
            "id": "fig",
            "kind": "completion",
            "url": "https://github.com/withfig/autocomplete/blob/master/src/fly.ts",
            "license": "MIT"
          }
        ],
        "field": [
          {
            "id": "app",
            "label": "App name",
            "type": "string",
            "option": [
              "--app",
              "-a"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "config",
            "label": "Config file",
            "type": "path",
            "option": [
              "--config",
              "-c"
            ],
            "path": {
              "kind": "file",
              "role": "input"
            },
            "sources": [
              "fig"
            ]
          },
          {
            "id": "region",
            "label": "Region",
            "type": "string",
            "option": [
              "--region",
              "-r"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "image",
            "label": "Image",
            "type": "string",
            "option": [
              "--image",
              "-i"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "dockerfile",
            "label": "Dockerfile",
            "type": "path",
            "option": [
              "--dockerfile"
            ],
            "path": {
              "kind": "file",
              "role": "input"
            },
            "sources": [
              "fig"
            ]
          },
          {
            "id": "strategy",
            "label": "Strategy",
            "type": "string",
            "option": [
              "--strategy"
            ],
            "suggestions": [
              {
                "value": "canary",
                "label": "canary"
              },
              {
                "value": "rolling",
                "label": "rolling"
              },
              {
                "value": "bluegreen",
                "label": "bluegreen"
              },
              {
                "value": "immediate",
                "label": "immediate"
              }
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "remote_only",
            "label": "Build on remote builder",
            "type": "boolean",
            "option": [
              "--remote-only"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "local_only",
            "label": "Build locally",
            "type": "boolean",
            "option": [
              "--local-only"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "build_only",
            "label": "Build without deploying",
            "type": "boolean",
            "option": [
              "--build-only"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "no_cache",
            "label": "No build cache",
            "type": "boolean",
            "option": [
              "--no-cache"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "detach",
            "label": "Do not watch progress",
            "type": "boolean",
            "option": [
              "--detach"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "env",
            "label": "Environment (NAME=VALUE)",
            "type": "string",
            "option": [
              "--env",
              "-e"
            ],
            "multiple": true,
            "sources": [
              "fig"
            ]
          }
        ],
        "task": [
          {
            "id": "deploy",
            "label": "Deploy",
            "fields": [
              "app",
              "config",
              "region",
              "remote_only"
            ],
            "required": []
          },
          {
            "id": "build-only",
            "label": "Build only",
            "set": {
              "build_only": [
                true
              ]
            },
            "fields": [
              "app",
              "config",
              "build_only"
            ],
            "required": []
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "app",
              "config",
              "region",
              "image"
            ]
          },
          {
            "id": "advanced",
            "label": "Advanced",
            "fields": [
              "dockerfile",
              "strategy",
              "remote_only",
              "local_only",
              "build_only",
              "no_cache",
              "detach",
              "env"
            ]
          }
        ]
      },
      {
        "path": [
          "logs"
        ],
        "label": "View app logs",
        "source": [
          {
            "id": "fig",
            "kind": "completion",
            "url": "https://github.com/withfig/autocomplete/blob/master/src/fly.ts",
            "license": "MIT"
          }
        ],
        "field": [
          {
            "id": "app",
            "label": "App name",
            "type": "string",
            "option": [
              "--app",
              "-a"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "region",
            "label": "Region",
            "type": "string",
            "option": [
              "--region",
              "-r"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "instance",
            "label": "Instance ID",
            "type": "string",
            "option": [
              "--instance",
              "-i"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "config",
            "label": "Config file",
            "type": "path",
            "option": [
              "--config",
              "-c"
            ],
            "path": {
              "kind": "file",
              "role": "input"
            },
            "sources": [
              "fig"
            ]
          }
        ],
        "task": [
          {
            "id": "logs",
            "label": "Tail logs",
            "fields": [
              "app",
              "region",
              "instance"
            ],
            "required": []
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "app",
              "region",
              "instance",
              "config"
            ]
          }
        ]
      },
      {
        "path": [
          "status"
        ],
        "label": "Show app status",
        "source": [
          {
            "id": "fig",
            "kind": "completion",
            "url": "https://github.com/withfig/autocomplete/blob/master/src/fly.ts",
            "license": "MIT"
          }
        ],
        "field": [
          {
            "id": "app",
            "label": "App name",
            "type": "string",
            "option": [
              "--app",
              "-a"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "all",
            "label": "Include completed instances",
            "type": "boolean",
            "option": [
              "--all"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "watch",
            "label": "Refresh continuously",
            "type": "boolean",
            "option": [
              "--watch"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "deployment",
            "label": "Show deployment status",
            "type": "boolean",
            "option": [
              "--deployment"
            ],
            "sources": [
              "fig"
            ]
          }
        ],
        "task": [
          {
            "id": "status",
            "label": "Status",
            "fields": [
              "app",
              "all",
              "deployment"
            ],
            "required": []
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "app",
              "all",
              "watch",
              "deployment"
            ]
          }
        ]
      }
    ]
  }
}
