{
  "name": "ddev",
  "description": "DDEV-Local local development environment",
  "subcommands": [
    {
      "name": "auth",
      "description": "A collection of authentication commands",
      "subcommands": [
        {
          "name": "ssh",
          "description": "Add ssh key authentication to the ddev-ssh-auth container",
          "options": [
            {
              "names": [
                "--ssh-key-path",
                "-d"
              ],
              "description": "Full path to ssh key directory",
              "takes_arg": true,
              "arg": {
                "name": "ssh-key-path"
              }
            }
          ]
        }
      ]
    },
    {
      "name": "clean",
      "description": "Removes items ddev has created",
      "options": [
        {
          "names": [
            "--all",
            "-a"
          ],
          "description": "Clean all ddev projects"
        },
        {
          "names": [
            "--dry-run"
          ],
          "description": "Run the clean command without deleting"
        }
      ]
    },
    {
      "name": "composer",
      "description": "Executes a composer command within the web container",
      "subcommands": [
        {
          "name": "create",
          "description": "Executes 'composer create-project' within the web container with the arguments and flags provided",
          "options": [
            {
              "names": [
                "--yes",
                "-y"
              ],
              "description": "Yes - skip confirmation prompt"
            }
          ]
        },
        {
          "name": "create-project"
        }
      ]
    },
    {
      "name": "config",
      "description": "Create or modify a ddev project configuration in the current directory",
      "subcommands": [
        {
          "name": "global",
          "description": "Change global configuration",
          "options": [
            {
              "names": [
                "--auto-restart-containers"
              ],
              "description": "If true, automatically restart containers after a reboot or docker restart"
            },
            {
              "names": [
                "--disable-http2"
              ],
              "description": "Optionally disable http2 in ddev-router, 'ddev global --disable-http2' or `ddev global --disable-http2=false'"
            },
            {
              "names": [
                "--fail-on-hook-fail"
              ],
              "description": "If true, 'ddev start' will fail when a hook fails"
            },
            {
              "names": [
                "--instrumentation-opt-in"
              ],
              "description": "Instrumentation-opt-in=true"
            },
            {
              "names": [
                "--internet-detection-timeout-ms"
              ],
              "description": "Increase timeout when checking internet timeout, in milliseconds",
              "takes_arg": true,
              "arg": {
                "name": "internet-detection-timeout-ms"
              }
            },
            {
              "names": [
                "--letsencrypt-email"
              ],
              "description": "Email associated with Let's Encrypt, `ddev global --letsencrypt-email=me@example.com'",
              "takes_arg": true,
              "arg": {
                "name": "letsencrypt-email"
              }
            },
            {
              "names": [
                "--mutagen-enabled"
              ],
              "description": "If true, web container will use mutagen caching/asynchronous updates"
            },
            {
              "names": [
                "--nfs-mount-enabled"
              ],
              "description": "Enable NFS mounting on all projects globally"
            },
            {
              "names": [
                "--no-bind-mounts"
              ],
              "description": "If true, don't use bind-mounts - useful for environments like remote docker where bind-mounts are impossible"
            },
            {
              "names": [
                "--omit-containers"
              ],
              "description": "For example, --omit-containers=dba,ddev-ssh-agent",
              "takes_arg": true,
              "arg": {
                "name": "omit-containers"
              }
            },
            {
              "names": [
                "--required-docker-compose-version"
              ],
              "description": "Override default docker-compose version",
              "takes_arg": true,
              "arg": {
                "name": "required-docker-compose-version"
              }
            },
            {
              "names": [
                "--router-bind-all-interfaces"
              ],
              "description": "Router-bind-all-interfaces=true"
            },
            {
              "names": [
                "--simple-formatting"
              ],
              "description": "If true, use simple formatting and no color for tables"
            },
            {
              "names": [
                "--table-style"
              ],
              "description": "Table style for list and describe, see ~/.ddev/global_config.yaml for values",
              "takes_arg": true,
              "arg": {
                "name": "table-style"
              }
            },
            {
              "names": [
                "--use-docker-compose-from-path"
              ],
              "description": "If true, use docker-compose from path instead of private ~/.ddev/bin/docker-compose"
            },
            {
              "names": [
                "--use-hardened-images"
              ],
              "description": "If true, use more secure 'hardened' images for an actual internet deployment"
            },
            {
              "names": [
                "--use-letsencrypt"
              ],
              "description": "Enables experimental Let's Encrypt integration, 'ddev global --use-letsencrypt' or `ddev global --use-letsencrypt=false'"
            },
            {
              "names": [
                "--web-environment"
              ],
              "description": "Set the environment variables in the web container: --web-environment=\"TYPO3_CONTEXT=Development,SOMEENV=someval\"",
              "takes_arg": true,
              "arg": {
                "name": "web-environment"
              }
            },
            {
              "names": [
                "--web-environment-add"
              ],
              "description": "Append environment variables to the web container: --web-environment=\"TYPO3_CONTEXT=Development,SOMEENV=someval\"",
              "takes_arg": true,
              "arg": {
                "name": "web-environment-add"
              }
            }
          ]
        }
      ],
      "options": [
        {
          "names": [
            "--additional-fqdns"
          ],
          "description": "A comma-delimited list of FQDNs for the project",
          "takes_arg": true,
          "arg": {
            "name": "additional-fqdns"
          }
        },
        {
          "names": [
            "--additional-hostnames"
          ],
          "description": "A comma-delimited list of hostnames for the project",
          "takes_arg": true,
          "arg": {
            "name": "additional-hostnames"
          }
        },
        {
          "names": [
            "--auto"
          ],
          "description": "Automatically run config without prompting"
        },
        {
          "names": [
            "--bind-all-interfaces"
          ],
          "description": "Bind host ports on all interfaces, not just on localhost network interface"
        },
        {
          "names": [
            "--composer-root"
          ],
          "description": "Overrides the default composer root directory for the web service",
          "takes_arg": true,
          "arg": {
            "name": "composer-root"
          }
        },
        {
          "names": [
            "--composer-root-default"
          ],
          "description": "Unsets a web service composer root directory override"
        },
        {
          "names": [
            "--composer-version"
          ],
          "description": "Specify override for composer version in web container. This may be \"\", \"1\", \"2\", \"2.2\", \"stable\", \"preview\", \"snapshot\" or a specific version",
          "takes_arg": true,
          "arg": {
            "name": "composer-version"
          }
        },
        {
          "names": [
            "--create-docroot"
          ],
          "description": "Prompts ddev to create the docroot if it doesn't exist"
        },
        {
          "names": [
            "--database"
          ],
          "description": "Specify the database type:version to use. Defaults to mariadb:10.4",
          "takes_arg": true,
          "arg": {
            "name": "database"
          }
        },
        {
          "names": [
            "--db-image"
          ],
          "description": "Sets the db container image",
          "takes_arg": true,
          "arg": {
            "name": "db-image"
          }
        },
        {
          "names": [
            "--db-image-default"
          ],
          "description": "Sets the default db container image for this ddev version"
        },
        {
          "names": [
            "--db-working-dir"
          ],
          "description": "Overrides the default working directory for the db service",
          "takes_arg": true,
          "arg": {
            "name": "db-working-dir"
          }
        },
        {
          "names": [
            "--db-working-dir-default"
          ],
          "description": "Unsets a db service working directory override"
        },
        {
          "names": [
            "--dba-image"
          ],
          "description": "Sets the dba container image",
          "takes_arg": true,
          "arg": {
            "name": "dba-image"
          }
        },
        {
          "names": [
            "--dba-image-default"
          ],
          "description": "Sets the default dba container image for this ddev version"
        },
        {
          "names": [
            "--dba-working-dir"
          ],
          "description": "Overrides the default working directory for the dba service",
          "takes_arg": true,
          "arg": {
            "name": "dba-working-dir"
          }
        },
        {
          "names": [
            "--dba-working-dir-default"
          ],
          "description": "Unsets a dba service working directory override"
        },
        {
          "names": [
            "--dbimage-extra-packages"
          ],
          "description": "A comma-delimited list of Debian packages that should be added to db container when the project is started",
          "takes_arg": true,
          "arg": {
            "name": "dbimage-extra-packages"
          }
        },
        {
          "names": [
            "--default-container-timeout"
          ],
          "description": "Default time in seconds that ddev waits for all containers to become ready on start",
          "takes_arg": true,
          "arg": {
            "name": "default-container-timeout"
          }
        },
        {
          "names": [
            "--disable-settings-management"
          ],
          "description": "Prevent ddev from creating or updating CMS settings files"
        },
        {
          "names": [
            "--docroot"
          ],
          "description": "Provide the relative docroot of the project, like 'docroot' or 'htdocs' or 'web', defaults to empty, the current directory",
          "takes_arg": true,
          "arg": {
            "name": "docroot"
          }
        },
        {
          "names": [
            "--fail-on-hook-fail"
          ],
          "description": "Decide whether 'ddev start' should be interrupted by a failing hook"
        },
        {
          "names": [
            "--host-db-port"
          ],
          "description": "The db container's localhost-bound port",
          "takes_arg": true,
          "arg": {
            "name": "host-db-port"
          }
        },
        {
          "names": [
            "--host-dba-port"
          ],
          "description": "The dba (PHPMyAdmin) container's localhost-bound port, if exposed via bind-all-interfaces",
          "takes_arg": true,
          "arg": {
            "name": "host-dba-port"
          }
        },
        {
          "names": [
            "--host-https-port"
          ],
          "description": "The web container's localhost-bound https port",
          "takes_arg": true,
          "arg": {
            "name": "host-https-port"
          }
        },
        {
          "names": [
            "--host-webserver-port"
          ],
          "description": "The web container's localhost-bound port",
          "takes_arg": true,
          "arg": {
            "name": "host-webserver-port"
          }
        },
        {
          "names": [
            "--http-port"
          ],
          "description": "The router HTTP port for this project",
          "takes_arg": true,
          "arg": {
            "name": "http-port"
          }
        },
        {
          "names": [
            "--https-port"
          ],
          "description": "The router HTTPS port for this project",
          "takes_arg": true,
          "arg": {
            "name": "https-port"
          }
        },
        {
          "names": [
            "--image-defaults"
          ],
          "description": "Sets the default web, db, and dba container images"
        },
        {
          "names": [
            "--mailhog-https-port"
          ],
          "description": "Router port to be used for mailhog access (https)",
          "takes_arg": true,
          "arg": {
            "name": "mailhog-https-port"
          }
        },
        {
          "names": [
            "--mailhog-port"
          ],
          "description": "Router port to be used for mailhog access",
          "takes_arg": true,
          "arg": {
            "name": "mailhog-port"
          }
        },
        {
          "names": [
            "--mutagen-enabled"
          ],
          "description": "Enable mutagen asynchronous update of project in web container"
        },
        {
          "names": [
            "--nfs-mount-enabled"
          ],
          "description": "Enable NFS mounting of project in container"
        },
        {
          "names": [
            "--ngrok-args"
          ],
          "description": "Provide extra args to ngrok in ddev share",
          "takes_arg": true,
          "arg": {
            "name": "ngrok-args"
          }
        },
        {
          "names": [
            "--no-project-mount"
          ],
          "description": "Whether or not to skip mounting project code into the web container"
        },
        {
          "names": [
            "--nodejs-version"
          ],
          "description": "Specify the nodejs version to use if you don't want the default NodeJS 16",
          "takes_arg": true,
          "arg": {
            "name": "nodejs-version"
          }
        },
        {
          "names": [
            "--omit-containers"
          ],
          "description": "A comma-delimited list of container types that should not be started when the project is started",
          "takes_arg": true,
          "arg": {
            "name": "omit-containers"
          }
        },
        {
          "names": [
            "--php-version"
          ],
          "description": "The version of PHP that will be enabled in the web container",
          "takes_arg": true,
          "arg": {
            "name": "php-version"
          }
        },
        {
          "names": [
            "--phpmyadmin-https-port"
          ],
          "description": "Router port to be used for PHPMyAdmin (dba) container access (https)",
          "takes_arg": true,
          "arg": {
            "name": "phpmyadmin-https-port"
          }
        },
        {
          "names": [
            "--phpmyadmin-port"
          ],
          "description": "Router port to be used for PHPMyAdmin (dba) container access",
          "takes_arg": true,
          "arg": {
            "name": "phpmyadmin-port"
          }
        },
        {
          "names": [
            "--project-name"
          ],
          "description": "Provide the project name of project to configure (normally the same as the last part of directory name)",
          "takes_arg": true,
          "arg": {
            "name": "project-name"
          }
        },
        {
          "names": [
            "--project-tld"
          ],
          "description": "Set the top-level domain to be used for projects, defaults to ddev.site",
          "takes_arg": true,
          "arg": {
            "name": "project-tld"
          }
        },
        {
          "names": [
            "--project-type"
          ],
          "description": "Provide the project type (one of backdrop, drupal10, drupal6, drupal7, drupal8, drupal9, laravel, magento, magento2, php, shopware6, typo3, wordpress). This is autodetected and this flag is necessary ",
          "takes_arg": true,
          "arg": {
            "name": "project-type"
          }
        },
        {
          "names": [
            "--show-config-location"
          ],
          "description": "Output the location of the config.yaml file if it exists, or error that it doesn't exist"
        },
        {
          "names": [
            "--timezone"
          ],
          "description": "Specify timezone for containers and php, like Europe/London or America/Denver or GMT or UTC",
          "takes_arg": true,
          "arg": {
            "name": "timezone"
          }
        },
        {
          "names": [
            "--upload-dir"
          ],
          "description": "Sets the project's upload directory, the destination directory of the import-files command",
          "takes_arg": true,
          "arg": {
            "name": "upload-dir"
          }
        },
        {
          "names": [
            "--use-dns-when-possible"
          ],
          "description": "Use DNS for hostname resolution instead of /etc/hosts when possible"
        },
        {
          "names": [
            "--web-environment"
          ],
          "description": "Set the environment variables in the web container: --web-environment=\"TYPO3_CONTEXT=Development,SOMEENV=someval\"",
          "takes_arg": true,
          "arg": {
            "name": "web-environment"
          }
        },
        {
          "names": [
            "--web-environment-add"
          ],
          "description": "Append environment variables to the web container: --web-environment=\"TYPO3_CONTEXT=Development,SOMEENV=someval\"",
          "takes_arg": true,
          "arg": {
            "name": "web-environment-add"
          }
        },
        {
          "names": [
            "--web-image"
          ],
          "description": "Sets the web container image",
          "takes_arg": true,
          "arg": {
            "name": "web-image"
          }
        },
        {
          "names": [
            "--web-image-default"
          ],
          "description": "Sets the default web container image for this ddev version"
        },
        {
          "names": [
            "--web-working-dir"
          ],
          "description": "Overrides the default working directory for the web service",
          "takes_arg": true,
          "arg": {
            "name": "web-working-dir"
          }
        },
        {
          "names": [
            "--web-working-dir-default"
          ],
          "description": "Unsets a web service working directory override"
        },
        {
          "names": [
            "--webimage-extra-packages"
          ],
          "description": "A comma-delimited list of Debian packages that should be added to web container when the project is started",
          "takes_arg": true,
          "arg": {
            "name": "webimage-extra-packages"
          }
        },
        {
          "names": [
            "--webserver-type"
          ],
          "description": "Sets the project's desired webserver type: nginx-fpm or apache-fpm",
          "takes_arg": true,
          "arg": {
            "name": "webserver-type"
          }
        },
        {
          "names": [
            "--working-dir-defaults"
          ],
          "description": "Unsets all service working directory overrides"
        },
        {
          "names": [
            "--xdebug-enabled"
          ],
          "description": "Whether or not XDebug is enabled in the web container"
        }
      ]
    },
    {
      "name": "d",
      "aliases": [
        "dbg",
        "debug"
      ],
      "description": "A collection of debugging commands",
      "subcommands": [
        {
          "name": "capabilities",
          "description": "Show capabilities of this version of ddev"
        },
        {
          "name": "check-db-match",
          "description": "Verify that the database in the ddev-db server matches the configured type/version"
        },
        {
          "name": "compose-config",
          "description": "Prints the docker-compose configuration of the current project"
        },
        {
          "name": "configyaml",
          "description": "Prints the project config.*.yaml usage"
        },
        {
          "name": "dockercheck",
          "description": "Diagnose DDEV docker/colima setup"
        },
        {
          "name": "download-images",
          "description": "Download all images required by ddev"
        },
        {
          "name": "fix-commands",
          "description": "Fix up custom/shell commands without running ddev start"
        },
        {
          "name": "get-volume-db-version",
          "description": "Get the database type/version found in the ddev-dbserver's database volume, which may not be the same as the configured database type/version"
        },
        {
          "name": "migrate-database",
          "description": "Migrate a mysql or mariadb database to a different dbtype:dbversion; works only with mysql and mariadb, not with postgres"
        },
        {
          "name": "mutagen",
          "description": "Allows access to any mutagen command"
        },
        {
          "name": "nfsmount",
          "description": "Checks to see if nfs mounting works for current project"
        },
        {
          "name": "refresh",
          "description": "Refreshes docker cache for project"
        },
        {
          "name": "router-nginx-config",
          "description": "Prints the nginx config of the router"
        },
        {
          "name": "test",
          "description": "Run diagnostics on ddev using the embedded test_ddev.sh script"
        }
      ]
    },
    {
      "name": "delete",
      "description": "Remove all project information (including database) for an existing project",
      "subcommands": [
        {
          "name": "images",
          "description": "Deletes drud/ddev-* docker images not in use by current ddev version",
          "options": [
            {
              "names": [
                "--all",
                "-a"
              ],
              "description": "If set, deletes all Docker images created by ddev"
            },
            {
              "names": [
                "--yes",
                "-y"
              ],
              "description": "Yes - skip confirmation prompt"
            }
          ]
        }
      ],
      "options": [
        {
          "names": [
            "--all",
            "-a"
          ],
          "description": "Delete all projects"
        },
        {
          "names": [
            "--clean-containers"
          ],
          "description": "Clean up all ddev docker containers which are not required by this version of ddev"
        },
        {
          "names": [
            "--omit-snapshot",
            "-O"
          ],
          "description": "Omit/skip database snapshot"
        },
        {
          "names": [
            "--yes",
            "-y"
          ],
          "description": "Yes - skip confirmation prompt"
        }
      ]
    },
    {
      "name": "desc",
      "aliases": [
        "st",
        "status",
        "describe"
      ],
      "description": "Get a detailed description of a running ddev project"
    },
    {
      "name": ".",
      "aliases": [
        "exec"
      ],
      "description": "Execute a shell command in the container for a service. Uses the web service by default",
      "options": [
        {
          "names": [
            "--dir",
            "-d"
          ],
          "description": "Defines the execution directory within the container",
          "takes_arg": true,
          "arg": {
            "name": "dir"
          }
        },
        {
          "names": [
            "--raw"
          ],
          "description": "Use raw exec (do not interpret with bash inside container)"
        },
        {
          "names": [
            "--service",
            "-s"
          ],
          "description": "Defines the service to connect to. [e.g. web, db]",
          "takes_arg": true,
          "arg": {
            "name": "service"
          }
        }
      ]
    },
    {
      "name": "export-db",
      "description": "Dump a database to a file or to stdout",
      "options": [
        {
          "names": [
            "--bzip2"
          ],
          "description": "Use bzip2 compression"
        },
        {
          "names": [
            "--file",
            "-f"
          ],
          "description": "Provide the path to output the dump",
          "takes_arg": true,
          "arg": {
            "name": "file"
          }
        },
        {
          "names": [
            "--gzip",
            "-z"
          ],
          "description": "Use gzip compression"
        },
        {
          "names": [
            "--target-db",
            "-d"
          ],
          "description": "If provided, target-db is alternate database to export",
          "takes_arg": true,
          "arg": {
            "name": "target-db"
          }
        },
        {
          "names": [
            "--xz"
          ],
          "description": "Use xz compression"
        }
      ]
    },
    {
      "name": "get",
      "description": "Get/Download a 3rd party add-on (service, provider, etc.)",
      "options": [
        {
          "names": [
            "--all"
          ],
          "description": "List unofficial add-ons for 'ddev get' in addition to the official ones"
        },
        {
          "names": [
            "--list"
          ],
          "description": "List available add-ons for 'ddev get'"
        }
      ]
    },
    {
      "name": "hostname",
      "description": "Manage your hostfile entries",
      "options": [
        {
          "names": [
            "--remove",
            "-r"
          ],
          "description": "Remove the provided host name - ip correlation"
        },
        {
          "names": [
            "--remove-inactive",
            "-R"
          ],
          "description": "Remove host names of inactive projects"
        }
      ]
    },
    {
      "name": "import-db",
      "description": "Import a sql file into the project",
      "options": [
        {
          "names": [
            "--extract-path"
          ],
          "description": "If provided asset is an archive, provide the path to extract within the archive",
          "takes_arg": true,
          "arg": {
            "name": "extract-path"
          }
        },
        {
          "names": [
            "--no-drop"
          ],
          "description": "Set if you do NOT want to drop the db before importing"
        },
        {
          "names": [
            "--progress",
            "-p"
          ],
          "description": "Display a progress bar during import"
        },
        {
          "names": [
            "--src",
            "-f"
          ],
          "description": "Provide the path to a sql dump in .sql or tar/tar.gz/tgz/zip format",
          "takes_arg": true,
          "arg": {
            "name": "src"
          }
        },
        {
          "names": [
            "--target-db",
            "-d"
          ],
          "description": "If provided, target-db is alternate database to import into",
          "takes_arg": true,
          "arg": {
            "name": "target-db"
          }
        }
      ]
    },
    {
      "name": "import-files",
      "description": "Pull the uploaded files directory of an existing project to the default public upload directory of your project",
      "options": [
        {
          "names": [
            "--extract-path"
          ],
          "description": "If provided asset is an archive, optionally provide the path to extract within the archive",
          "takes_arg": true,
          "arg": {
            "name": "extract-path"
          }
        },
        {
          "names": [
            "--src"
          ],
          "description": "Provide the path to the source directory or tar/tar.gz/tgz/zip archive of files to import",
          "takes_arg": true,
          "arg": {
            "name": "src"
          }
        }
      ]
    },
    {
      "name": "l",
      "aliases": [
        "ls",
        "list"
      ],
      "description": "List projects",
      "options": [
        {
          "names": [
            "--active-only",
            "-A"
          ],
          "description": "If set, only currently active projects will be displayed"
        },
        {
          "names": [
            "--continuous"
          ],
          "description": "If set, project information will be emitted until the command is stopped"
        },
        {
          "names": [
            "--continuous-sleep-interval",
            "-I"
          ],
          "description": "Time in seconds between ddev list --continuous output lists",
          "takes_arg": true,
          "arg": {
            "name": "continuous-sleep-interval"
          }
        },
        {
          "names": [
            "--wrap-table",
            "-W"
          ],
          "description": "Display table with wrapped text if required"
        }
      ]
    },
    {
      "name": "logs",
      "description": "Get the logs from your running services",
      "options": [
        {
          "names": [
            "--follow",
            "-f"
          ],
          "description": "Follow the logs in real time"
        },
        {
          "names": [
            "--service",
            "-s"
          ],
          "description": "Defines the service to retrieve logs from. [e.g. web, db]",
          "takes_arg": true,
          "arg": {
            "name": "service"
          }
        },
        {
          "names": [
            "--tail"
          ],
          "description": "How many lines to show",
          "takes_arg": true,
          "arg": {
            "name": "tail"
          }
        },
        {
          "names": [
            "--time",
            "-t"
          ],
          "description": "Add timestamps to logs"
        }
      ]
    },
    {
      "name": "mutagen",
      "description": "Commands for mutagen status and sync, etc",
      "subcommands": [
        {
          "name": "monitor",
          "description": "Monitor mutagen status"
        },
        {
          "name": "reset",
          "description": "Reset mutagen for project"
        },
        {
          "name": "st",
          "aliases": [
            "status"
          ],
          "description": "Shows mutagen sync status",
          "options": [
            {
              "names": [
                "--verbose",
                "-l"
              ],
              "description": "Extended/verbose output for mutagen status"
            }
          ]
        },
        {
          "name": "sync",
          "description": "Explicit sync for mutagen",
          "options": [
            {
              "names": [
                "--verbose"
              ],
              "description": "Extended/verbose output for mutagen status"
            }
          ]
        }
      ]
    },
    {
      "name": "sc",
      "aliases": [
        "stop-containers",
        "pause"
      ],
      "description": "Uses 'docker stop' to pause/stop the containers belonging to a project",
      "options": [
        {
          "names": [
            "--all",
            "-a"
          ],
          "description": "Pause all running projects"
        }
      ]
    },
    {
      "name": "powerdown",
      "aliases": [
        "poweroff"
      ],
      "description": "Completely stop all projects and containers"
    },
    {
      "name": "pull",
      "description": "Pull files and database using a configured provider plugin"
    },
    {
      "name": "push",
      "description": "Push files and database using a configured provider plugin"
    },
    {
      "name": "restart",
      "description": "Restart a project or several projects",
      "options": [
        {
          "names": [
            "--all",
            "-a"
          ],
          "description": "Restart all projects"
        }
      ]
    },
    {
      "name": "service",
      "description": "Add or remove, enable or disable extra services",
      "subcommands": [
        {
          "name": "disable",
          "description": "Disable a 3rd party service"
        },
        {
          "name": "enable",
          "description": "Enable a 3rd party service"
        }
      ]
    },
    {
      "name": "share",
      "description": "Share project on the internet via ngrok",
      "options": [
        {
          "names": [
            "--subdomain"
          ],
          "description": "Ngrok --subdomain argument, as in \"ngrok --subdomain my-subdomain:, requires paid ngrok.com account\"",
          "takes_arg": true,
          "arg": {
            "name": "subdomain"
          }
        }
      ]
    },
    {
      "name": "snapshot",
      "description": "Create a database snapshot for one or more projects",
      "options": [
        {
          "names": [
            "--all",
            "-a"
          ],
          "description": "Snapshot all projects. Will start the project if it is stopped or paused"
        },
        {
          "names": [
            "--cleanup",
            "-C"
          ],
          "description": "Cleanup snapshots"
        },
        {
          "names": [
            "--list",
            "-l"
          ],
          "description": "List snapshots"
        },
        {
          "names": [
            "--name",
            "-n"
          ],
          "description": "Provide a name for the snapshot",
          "takes_arg": true,
          "arg": {
            "name": "name"
          }
        },
        {
          "names": [
            "--yes",
            "-y"
          ],
          "description": "Yes - skip confirmation prompt"
        }
      ]
    },
    {
      "name": "ssh",
      "description": "Starts a shell session in the container for a service. Uses web service by default",
      "options": [
        {
          "names": [
            "--dir",
            "-d"
          ],
          "description": "Defines the destination directory within the container",
          "takes_arg": true,
          "arg": {
            "name": "dir"
          }
        },
        {
          "names": [
            "--service",
            "-s"
          ],
          "description": "Defines the service to connect to. [e.g. web, db]",
          "takes_arg": true,
          "arg": {
            "name": "service"
          }
        }
      ]
    },
    {
      "name": "add",
      "aliases": [
        "start"
      ],
      "description": "Start a ddev project",
      "options": [
        {
          "names": [
            "--all",
            "-a"
          ],
          "description": "Start all projects"
        },
        {
          "names": [
            "--select",
            "-s"
          ],
          "description": "Interactively select a project to start"
        },
        {
          "names": [
            "--skip-confirmation",
            "-y"
          ],
          "description": "Skip any confirmation steps"
        }
      ]
    },
    {
      "name": "remove",
      "aliases": [
        "rm",
        "stop"
      ],
      "description": "Stop and remove the containers of a project. Does not lose or harm anything unless you add --remove-data",
      "options": [
        {
          "names": [
            "--all",
            "-a"
          ],
          "description": "Stop and remove all running or container-stopped projects and remove from global projects list"
        },
        {
          "names": [
            "--omit-snapshot",
            "-O"
          ],
          "description": "Omit/skip database snapshot"
        },
        {
          "names": [
            "--remove-data",
            "-R"
          ],
          "description": "Remove stored project data (MySQL, logs, etc.)"
        },
        {
          "names": [
            "--select",
            "-s"
          ],
          "description": "Interactively select a project to stop"
        },
        {
          "names": [
            "--snapshot",
            "-S"
          ],
          "description": "Create database snapshot"
        },
        {
          "names": [
            "--stop-ssh-agent"
          ],
          "description": "Stop the ddev-ssh-agent container"
        },
        {
          "names": [
            "--unlist",
            "-U"
          ],
          "description": "Remove the project from global project list, it won't show in ddev list until started again"
        }
      ]
    },
    {
      "name": "version",
      "description": "Print ddev version and component versions"
    },
    {
      "name": "help",
      "description": "Help about any command",
      "subcommands": [
        {
          "name": "auth",
          "description": "A collection of authentication commands",
          "subcommands": [
            {
              "name": "ssh",
              "description": "Add ssh key authentication to the ddev-ssh-auth container"
            }
          ]
        },
        {
          "name": "clean",
          "description": "Removes items ddev has created"
        },
        {
          "name": "composer",
          "description": "Executes a composer command within the web container",
          "subcommands": [
            {
              "name": "create",
              "description": "Executes 'composer create-project' within the web container with the arguments and flags provided"
            },
            {
              "name": "create-project"
            }
          ]
        },
        {
          "name": "config",
          "description": "Create or modify a ddev project configuration in the current directory",
          "subcommands": [
            {
              "name": "global",
              "description": "Change global configuration"
            }
          ]
        },
        {
          "name": "d",
          "aliases": [
            "dbg",
            "debug"
          ],
          "description": "A collection of debugging commands",
          "subcommands": [
            {
              "name": "capabilities",
              "description": "Show capabilities of this version of ddev"
            },
            {
              "name": "check-db-match",
              "description": "Verify that the database in the ddev-db server matches the configured type/version"
            },
            {
              "name": "compose-config",
              "description": "Prints the docker-compose configuration of the current project"
            },
            {
              "name": "configyaml",
              "description": "Prints the project config.*.yaml usage"
            },
            {
              "name": "dockercheck",
              "description": "Diagnose DDEV docker/colima setup"
            },
            {
              "name": "download-images",
              "description": "Download all images required by ddev"
            },
            {
              "name": "fix-commands",
              "description": "Fix up custom/shell commands without running ddev start"
            },
            {
              "name": "get-volume-db-version",
              "description": "Get the database type/version found in the ddev-dbserver's database volume, which may not be the same as the configured database type/version"
            },
            {
              "name": "migrate-database",
              "description": "Migrate a mysql or mariadb database to a different dbtype:dbversion; works only with mysql and mariadb, not with postgres"
            },
            {
              "name": "mutagen",
              "description": "Allows access to any mutagen command"
            },
            {
              "name": "nfsmount",
              "description": "Checks to see if nfs mounting works for current project"
            },
            {
              "name": "refresh",
              "description": "Refreshes docker cache for project"
            },
            {
              "name": "router-nginx-config",
              "description": "Prints the nginx config of the router"
            },
            {
              "name": "test",
              "description": "Run diagnostics on ddev using the embedded test_ddev.sh script"
            }
          ]
        },
        {
          "name": "delete",
          "description": "Remove all project information (including database) for an existing project",
          "subcommands": [
            {
              "name": "images",
              "description": "Deletes drud/ddev-* docker images not in use by current ddev version"
            }
          ]
        },
        {
          "name": "desc",
          "aliases": [
            "st",
            "status",
            "describe"
          ],
          "description": "Get a detailed description of a running ddev project"
        },
        {
          "name": ".",
          "aliases": [
            "exec"
          ],
          "description": "Execute a shell command in the container for a service. Uses the web service by default"
        },
        {
          "name": "export-db",
          "description": "Dump a database to a file or to stdout"
        },
        {
          "name": "get",
          "description": "Get/Download a 3rd party add-on (service, provider, etc.)"
        },
        {
          "name": "hostname",
          "description": "Manage your hostfile entries"
        },
        {
          "name": "import-db",
          "description": "Import a sql file into the project"
        },
        {
          "name": "import-files",
          "description": "Pull the uploaded files directory of an existing project to the default public upload directory of your project"
        },
        {
          "name": "l",
          "aliases": [
            "ls",
            "list"
          ],
          "description": "List projects"
        },
        {
          "name": "logs",
          "description": "Get the logs from your running services"
        },
        {
          "name": "mutagen",
          "description": "Commands for mutagen status and sync, etc",
          "subcommands": [
            {
              "name": "monitor",
              "description": "Monitor mutagen status"
            },
            {
              "name": "reset",
              "description": "Reset mutagen for project"
            },
            {
              "name": "st",
              "aliases": [
                "status"
              ],
              "description": "Shows mutagen sync status"
            },
            {
              "name": "sync",
              "description": "Explicit sync for mutagen"
            }
          ]
        },
        {
          "name": "sc",
          "aliases": [
            "stop-containers",
            "pause"
          ],
          "description": "Uses 'docker stop' to pause/stop the containers belonging to a project"
        },
        {
          "name": "powerdown",
          "aliases": [
            "poweroff"
          ],
          "description": "Completely stop all projects and containers"
        },
        {
          "name": "pull",
          "description": "Pull files and database using a configured provider plugin"
        },
        {
          "name": "push",
          "description": "Push files and database using a configured provider plugin"
        },
        {
          "name": "restart",
          "description": "Restart a project or several projects"
        },
        {
          "name": "service",
          "description": "Add or remove, enable or disable extra services",
          "subcommands": [
            {
              "name": "disable",
              "description": "Disable a 3rd party service"
            },
            {
              "name": "enable",
              "description": "Enable a 3rd party service"
            }
          ]
        },
        {
          "name": "share",
          "description": "Share project on the internet via ngrok"
        },
        {
          "name": "snapshot",
          "description": "Create a database snapshot for one or more projects"
        },
        {
          "name": "ssh",
          "description": "Starts a shell session in the container for a service. Uses web service by default"
        },
        {
          "name": "add",
          "aliases": [
            "start"
          ],
          "description": "Start a ddev project"
        },
        {
          "name": "remove",
          "aliases": [
            "rm",
            "stop"
          ],
          "description": "Stop and remove the containers of a project. Does not lose or harm anything unless you add --remove-data"
        },
        {
          "name": "version",
          "description": "Print ddev version and component versions"
        }
      ]
    }
  ],
  "options": [
    {
      "names": [
        "--json-output",
        "-j"
      ],
      "description": "If true, user-oriented output will be in JSON format"
    },
    {
      "names": [
        "--help",
        "-h"
      ],
      "description": "Display help"
    }
  ]
}
