{
  "name": "redwood",
  "description": "Redwood provides a first-class CLI that helps you at every stage of development, from your first commit to your first deploy",
  "options": [
    {
      "names": [
        "--help",
        "-h"
      ],
      "description": "Show help for redwood"
    }
  ],
  "subcommands": [
    {
      "name": "dev",
      "description": "Start development servers for api and web",
      "options": [
        {
          "names": [
            "--forward",
            "--fwd"
          ],
          "description": "String of one or more Webpack Dev Server config options",
          "args": [
            {
              "name": "options",
              "description": "Options to pass to Webpack Dev Server"
            }
          ]
        }
      ],
      "args": [
        {
          "name": "side",
          "description": "Which side(s) to build",
          "isOptional": true,
          "suggestions": [
            "api",
            "web"
          ]
        }
      ]
    },
    {
      "name": "deploy",
      "description": "Deploy your redwood project to a hosting provider target",
      "subcommands": [
        {
          "name": "aws",
          "description": "Deploy to AWS using the selected provider",
          "options": [
            {
              "names": [
                "--side"
              ],
              "description": "Show help for command",
              "priority": 1,
              "args": [
                {
                  "name": "side",
                  "description": "Which side(s) to deploy",
                  "suggestions": [
                    "api",
                    "web"
                  ]
                }
              ]
            }
          ],
          "args": [
            {
              "name": "provider",
              "description": "AWS Deploy provider to configure",
              "isOptional": true,
              "suggestions": [
                "serverless"
              ]
            }
          ]
        },
        {
          "name": "netlify",
          "description": "Build command for Netlify deploy",
          "options": [
            {
              "names": [
                "--build"
              ],
              "description": "Build for production [default: \"true\"]"
            },
            {
              "names": [
                "--prisma"
              ],
              "description": "Apply database migrations [default: \"true\"]"
            },
            {
              "names": [
                "--data-migrate",
                "--dm"
              ],
              "description": "Migrate the data in your database [default: \"true\"]"
            }
          ]
        },
        {
          "name": "render",
          "description": "Build (web) and Start (api) command for Render deploy",
          "options": [
            {
              "names": [
                "--serve"
              ],
              "description": "Run server for api in production [default: \"true\"]"
            },
            {
              "names": [
                "--prisma"
              ],
              "description": "Apply database migrations [default: \"true\"]"
            },
            {
              "names": [
                "--data-migrate",
                "--dm"
              ],
              "description": "Migrate the data in your database [default: \"true\"]"
            }
          ],
          "args": [
            {
              "name": "side",
              "description": "Select side to build",
              "suggestions": [
                "api",
                "web"
              ]
            }
          ]
        },
        {
          "name": "vercel",
          "description": "Build command for Vercel deploy",
          "options": [
            {
              "names": [
                "--build"
              ],
              "description": "Build for production [default: \"true\"]"
            },
            {
              "names": [
                "--prisma"
              ],
              "description": "Apply database migrations [default: \"true\"]"
            },
            {
              "names": [
                "--data-migrate",
                "--dm"
              ],
              "description": "Migrate the data in your database [default: \"true\"]"
            }
          ]
        }
      ]
    },
    {
      "name": "destroy",
      "aliases": [
        "d"
      ],
      "description": "Rollback changes made by the generate command",
      "subcommands": [
        {
          "name": "cell",
          "description": "Destroy a cell component",
          "args": [
            {
              "name": "name",
              "description": "Name of the cell component"
            }
          ]
        },
        {
          "name": "component",
          "description": "Destroy a component",
          "args": [
            {
              "name": "name",
              "description": "Name of the component"
            }
          ]
        },
        {
          "name": "function",
          "description": "Destroy a Function",
          "args": [
            {
              "name": "name",
              "description": "Name of the Function"
            }
          ]
        },
        {
          "name": "layout",
          "description": "Destroy a layout component",
          "args": [
            {
              "name": "name",
              "description": "Name of the layout component"
            }
          ]
        },
        {
          "name": "page",
          "description": "Destroy a page and route component",
          "args": [
            {
              "name": "name",
              "description": "Name of the page"
            },
            {
              "name": "path",
              "description": "URL path to the page. Defaults to name",
              "isOptional": true
            }
          ]
        },
        {
          "name": "scaffold",
          "description": "Destroy pages, SDL, and Services files based on a given DB schema Model",
          "args": [
            {
              "name": "name",
              "description": "Name of the scaffold"
            }
          ]
        },
        {
          "name": "sdl",
          "description": "Destroy a GraphQL schema and service component based on a given DB schema Model",
          "args": [
            {
              "name": "name",
              "description": "Name of the sdl"
            }
          ]
        },
        {
          "name": "service",
          "description": "Destroy a service component",
          "args": [
            {
              "name": "name",
              "description": "Name of the service"
            }
          ]
        }
      ]
    },
    {
      "name": "generate",
      "aliases": [
        "g"
      ],
      "description": "Save time by generating boilerplate code",
      "subcommands": [
        {
          "name": "cell",
          "description": "Generate a cell component",
          "options": [
            {
              "names": [
                "--force",
                "-f"
              ],
              "description": "Overwrite existing files",
              "isDangerous": true
            },
            {
              "names": [
                "--typescript",
                "--ts"
              ],
              "description": "Generate TypeScript files Enabled by default if we detect your project is TypeScript"
            },
            {
              "names": [
                "--list"
              ],
              "description": "Use this flag to generate a list cell. This flag is needed when dealing with irregular words whose plural and singular is identical such as equipment or pokemon"
            },
            {
              "names": [
                "--tests"
              ],
              "description": "Generate test files [default: true]"
            },
            {
              "names": [
                "--stories"
              ],
              "description": "Generate Storybook files [default: true]"
            }
          ],
          "args": [
            {
              "name": "name",
              "description": "Name of the cell component"
            }
          ]
        },
        {
          "name": "component",
          "description": "Generate a component component",
          "options": [
            {
              "names": [
                "--force",
                "-f"
              ],
              "description": "Overwrite existing files",
              "isDangerous": true
            },
            {
              "names": [
                "--typescript",
                "--ts"
              ],
              "description": "Generate TypeScript files Enabled by default if we detect your project is TypeScript"
            },
            {
              "names": [
                "--tests"
              ],
              "description": "Generate test files [default: true]"
            },
            {
              "names": [
                "--stories"
              ],
              "description": "Generate Storybook files [default: true]"
            }
          ],
          "args": [
            {
              "name": "name",
              "description": "Name of the component"
            }
          ]
        },
        {
          "name": "dataMigration",
          "description": "Generate a data migration component",
          "args": [
            {
              "name": "name",
              "description": "Name of the component"
            }
          ]
        },
        {
          "name": "directive",
          "description": "Generate a directive",
          "options": [
            {
              "names": [
                "--force",
                "-f"
              ],
              "description": "Overwrite existing files",
              "isDangerous": true
            },
            {
              "names": [
                "--typescript",
                "--ts"
              ],
              "description": "Generate TypeScript files Enabled by default if we detect your project is TypeScript"
            },
            {
              "names": [
                "--type"
              ],
              "description": "Directive type [Choices: \"validator\", \"transformer\"]"
            }
          ],
          "args": [
            {
              "name": "name",
              "description": "Name of the directive"
            }
          ]
        },
        {
          "name": "function",
          "description": "Generate a Function",
          "options": [
            {
              "names": [
                "--force",
                "-f"
              ],
              "description": "Overwrite existing files",
              "isDangerous": true
            },
            {
              "names": [
                "--typescript",
                "--ts"
              ],
              "description": "Generate TypeScript files Enabled by default if we detect your project is TypeScript"
            }
          ],
          "args": [
            {
              "name": "name",
              "description": "Name of the Function"
            }
          ]
        },
        {
          "name": "layout",
          "description": "Generate a layout component",
          "options": [
            {
              "names": [
                "--force",
                "-f"
              ],
              "description": "Overwrite existing files",
              "isDangerous": true
            },
            {
              "names": [
                "--typescript",
                "--ts"
              ],
              "description": "Generate TypeScript files Enabled by default if we detect your project is TypeScript"
            },
            {
              "names": [
                "--tests"
              ],
              "description": "Generate test files [default: true]"
            },
            {
              "names": [
                "--stories"
              ],
              "description": "Generate Storybook files [default: true]"
            },
            {
              "names": [
                "--skipLink"
              ],
              "description": "Generate a layout with a skip link [default: false]"
            }
          ],
          "args": [
            {
              "name": "name",
              "description": "Name of the layout component"
            }
          ]
        },
        {
          "name": "page",
          "description": "Generate a page component",
          "options": [
            {
              "names": [
                "--force",
                "-f"
              ],
              "description": "Overwrite existing files",
              "isDangerous": true
            },
            {
              "names": [
                "--typescript",
                "--ts"
              ],
              "description": "Generate TypeScript files Enabled by default if we detect your project is TypeScript"
            },
            {
              "names": [
                "--tests"
              ],
              "description": "Generate test files [default: true]"
            },
            {
              "names": [
                "--stories"
              ],
              "description": "Generate Storybook files [default: true]"
            }
          ],
          "args": [
            {
              "name": "name",
              "description": "Name of the page"
            },
            {
              "name": "path",
              "description": "URL path to the page. Defaults to name",
              "isOptional": true
            }
          ]
        },
        {
          "name": "scaffold",
          "description": "Generate Pages, SDL, and Services files based on a given DB schema Model. Also accepts <path/model>",
          "options": [
            {
              "names": [
                "--force",
                "-f"
              ],
              "description": "Overwrite existing files",
              "isDangerous": true
            },
            {
              "names": [
                "--typescript",
                "--ts"
              ],
              "description": "Generate TypeScript files Enabled by default if we detect your project is TypeScript"
            }
          ],
          "args": [
            {
              "name": "model",
              "description": "Model to scaffold. You can also use <path/model> to nest files by type at the given path directory (or directories). For example, redwood g scaffold admin/post"
            }
          ]
        },
        {
          "name": "sdl",
          "description": "Generate a GraphQL schema and service object",
          "options": [
            {
              "names": [
                "--force",
                "-f"
              ],
              "description": "Overwrite existing files",
              "isDangerous": true
            },
            {
              "names": [
                "--typescript",
                "--ts"
              ],
              "description": "Generate TypeScript files Enabled by default if we detect your project is TypeScript"
            },
            {
              "names": [
                "--crud"
              ],
              "description": "Also generate mutations"
            }
          ],
          "args": [
            {
              "name": "model",
              "description": "Model to generate the sdl for"
            }
          ]
        },
        {
          "name": "service",
          "description": "Generate a service component",
          "options": [
            {
              "names": [
                "--force",
                "-f"
              ],
              "description": "Overwrite existing files",
              "isDangerous": true
            },
            {
              "names": [
                "--typescript",
                "--ts"
              ],
              "description": "Generate TypeScript files Enabled by default if we detect your project is TypeScript"
            },
            {
              "names": [
                "--tests"
              ],
              "description": "Generate test files [default: true]"
            },
            {
              "names": [
                "--stories"
              ],
              "description": "Generate Storybook files [default: true]"
            }
          ],
          "args": [
            {
              "name": "name",
              "description": "Name of the service"
            }
          ]
        },
        {
          "name": "types",
          "description": "Generate types and supplementary code"
        },
        {
          "name": "script",
          "description": "Generate a script that can use your services/libs to execute with redwood exec script <name>",
          "options": [
            {
              "names": [
                "--typescript",
                "--ts"
              ],
              "description": "Generate TypeScript files Enabled by default if we detect your project is TypeScript"
            }
          ],
          "args": [
            {
              "name": "name",
              "description": "Name of the service"
            }
          ]
        }
      ]
    },
    {
      "name": "exec",
      "description": "Execute scripts generated by yarn redwood generate script to run one-off operations, long-running jobs, or utility scripts",
      "args": [
        {
          "name": "script",
          "description": "Name of the script to execute",
          "generators": [
            {
              "script": [
                "bash",
                "-c",
                "until [[ -f redwood.toml ]] || [[ $PWD = '/' ]]; do cd ..; done; ls -1p scripts/"
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "build",
      "description": "Build the api and web",
      "options": [
        {
          "names": [
            "--stats"
          ],
          "description": "Use Webpack Bundle Analyzer to visualize the size of Webpack output files via an interactive zoomable treemap"
        },
        {
          "names": [
            "--verbose",
            "-v"
          ],
          "description": "Print more information while building"
        }
      ],
      "args": [
        {
          "name": "side",
          "description": "Which side(s) to build",
          "isOptional": true,
          "suggestions": [
            "api",
            "web"
          ]
        }
      ]
    },
    {
      "name": "diagnostics",
      "aliases": [
        "check"
      ],
      "description": "Get structural diagnostics for a Redwood project (experimental)"
    },
    {
      "name": "console",
      "aliases": [
        "c"
      ],
      "description": "Launch an interactive Redwood shell (experimental)"
    },
    {
      "name": "info",
      "description": "Print your system environment information"
    },
    {
      "name": "upgrade",
      "description": "Upgrade all @redwoodjs packages via an interactive CLI",
      "options": [
        {
          "names": [
            "--dry-run",
            "-d"
          ],
          "description": "Check for outdated packages without upgrading"
        },
        {
          "names": [
            "--tag",
            "-t"
          ],
          "description": "Choices are \"canary\", \"rc\", or a specific version (e.g. \"0.19.3\"). WARNING: Unstable releases in the case of \"canary\" and \"rc\", which will force upgrade packages to the most recent release of the specified tag",
          "args": [
            {
              "name": "tag",
              "description": "Tag to use for upgrade",
              "suggestions": [
                "canary",
                "rc"
              ]
            }
          ]
        },
        {
          "names": [
            "--pr"
          ],
          "description": "Installs packages for the given PR"
        }
      ]
    },
    {
      "name": "serve",
      "description": "Runs a server that serves both the api and the web sides",
      "options": [
        {
          "names": [
            "--port"
          ],
          "description": "What port should the server run on [default: 8911]",
          "args": [
            {
              "name": "port",
              "description": "Port to run the server on"
            }
          ]
        },
        {
          "names": [
            "--socket"
          ],
          "description": "The socket the server should run. This takes precedence over port",
          "args": [
            {
              "name": "socket",
              "description": "Socket to run the server on"
            }
          ]
        },
        {
          "names": [
            "--apiRootPath"
          ],
          "description": "The root path where your api functions are served",
          "args": [
            {
              "name": "apiRootPath",
              "description": "Root path for the api",
              "template": "folders"
            }
          ]
        },
        {
          "names": [
            "--apiHost"
          ],
          "description": "Forwards requests from the apiProxyPath (defined in redwood.toml) to the specified host",
          "args": [
            {
              "name": "apiHost",
              "description": "Host to forward requests to"
            }
          ]
        }
      ],
      "args": [
        {
          "name": "side",
          "description": "Which side(s) to check (Default to both)",
          "isOptional": true,
          "suggestions": [
            "api",
            "web"
          ]
        }
      ]
    },
    {
      "name": "type-check",
      "aliases": [
        "tsc",
        "tc"
      ],
      "description": "Runs a TypeScript compiler check on both the api and the web sides",
      "args": [
        {
          "name": "side",
          "description": "Which side(s) to check (Default to both)",
          "isOptional": true,
          "suggestions": [
            "api",
            "web"
          ]
        }
      ]
    },
    {
      "name": "test",
      "description": "Run Jest tests for api and web",
      "options": [
        {
          "names": [
            "--help"
          ],
          "description": "Show help"
        },
        {
          "names": [
            "--version"
          ],
          "description": "Show version number"
        },
        {
          "names": [
            "--watch"
          ],
          "description": "Run tests related to changed files based on hg/git (uncommitted files). Specify the name or path to a file to focus on a specific set of tests [default: true]"
        },
        {
          "names": [
            "--watchAll"
          ],
          "description": "Run all tests"
        },
        {
          "names": [
            "--collectCoverage"
          ],
          "description": "Show test coverage summary and output info to coverage directory in project root. See this directory for an .html coverage report"
        },
        {
          "names": [
            "--clearCache"
          ],
          "description": "Delete the Jest cache directory and exit without running tests"
        },
        {
          "names": [
            "--db-push"
          ],
          "description": "Syncs the test database with your Prisma schema without requiring a migration. It creates a test database if it doesn't already exist [default: true]. This flag is ignored if your project doesn't have an api side"
        }
      ],
      "args": [
        {
          "name": "sides or filter",
          "description": "Which side(s) to test, and/or a regular expression to match against your test files to filter by",
          "isOptional": true,
          "suggestions": [
            "api",
            "web"
          ]
        }
      ]
    },
    {
      "name": "storybook",
      "description": "Starts Storybook locally",
      "options": [
        {
          "names": [
            "--open"
          ],
          "description": "Open Storybook in your browser on start"
        },
        {
          "names": [
            "--build"
          ],
          "description": "Build Storybook"
        },
        {
          "names": [
            "--port"
          ],
          "description": "Which port to run Storybook on (defaults to 7910)",
          "args": [
            {
              "name": "port",
              "description": "Port to run Storybook on"
            }
          ]
        }
      ]
    },
    {
      "name": "lint",
      "description": "Lint your files",
      "options": [
        {
          "names": [
            "--fix"
          ],
          "description": "Try to fix linting errors"
        }
      ]
    },
    {
      "name": "open",
      "description": "Open your project in your browser"
    },
    {
      "name": "setup",
      "description": "Initialize project config and install packages",
      "subcommands": [
        {
          "name": "auth",
          "description": "Setup auth configuration for a provider",
          "options": [
            {
              "names": [
                "--force",
                "-f"
              ],
              "description": "Overwrite existing files",
              "isDangerous": true
            }
          ],
          "args": [
            {
              "name": "provider",
              "description": "Auth provider to configure",
              "suggestions": [
                "auth0",
                "firebase",
                "goTrue",
                "magicLink",
                "netlify"
              ]
            }
          ]
        },
        {
          "name": "custom-web-index",
          "description": "Setup an index.js file in web/src so you can customize how your Redwood App mounts to the DOM",
          "options": [
            {
              "names": [
                "--force",
                "-f"
              ],
              "description": "Overwrite existing files",
              "isDangerous": true
            }
          ]
        },
        {
          "name": "generator",
          "description": "SCopies a given generator's template files to your local app for customization. The next time you generate that type again, it will use your custom template instead of Redwood's default",
          "options": [
            {
              "names": [
                "--force",
                "-f"
              ],
              "description": "Overwrite existing copied template files",
              "isDangerous": true
            }
          ],
          "args": [
            {
              "name": "name",
              "description": "Name of the generator template(s) to copy (see help for list)"
            }
          ]
        },
        {
          "name": "tsconfig",
          "description": "Setup tsconfig.json on both web and api sides",
          "options": [
            {
              "names": [
                "--force",
                "-f"
              ],
              "description": "Overwrite existing files",
              "isDangerous": true
            }
          ]
        },
        {
          "name": "deploy",
          "description": "Setup auth configuration for a provider",
          "options": [
            {
              "names": [
                "--database",
                "-d"
              ],
              "description": "Database deployment for Render only  [default: \"postgresql\"]",
              "args": [
                {
                  "name": "database",
                  "isOptional": true,
                  "suggestions": [
                    "none",
                    "postgresql",
                    "sqlite"
                  ]
                }
              ]
            },
            {
              "names": [
                "--force",
                "-f"
              ],
              "description": "Overwrite existing files",
              "isDangerous": true
            }
          ],
          "args": [
            {
              "name": "provider",
              "description": "Auth provider to configure",
              "suggestions": [
                "aws-serverless",
                "netlify",
                "render",
                "vercel"
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "data-migrate",
      "aliases": [
        "dm",
        "dataMigrate"
      ],
      "description": "Data migration tools",
      "args": [
        {
          "name": "command",
          "suggestions": [
            "install",
            "up"
          ]
        }
      ]
    },
    {
      "name": "prisma",
      "description": "Prisma commands",
      "subcommands": [
        {
          "name": "init",
          "description": "Setup Prisma for your app",
          "options": [
            {
              "names": [
                "-h",
                "--help"
              ],
              "description": "Display this help message"
            },
            {
              "names": [
                "--datasource-provider"
              ],
              "description": "Define the datasource provider to use",
              "args": [
                {
                  "description": "Choose provider",
                  "suggestions": [
                    "PostgreSQL",
                    "MySQL",
                    "SQLite",
                    "SQLServer",
                    "MongoDB",
                    "CockroachDB"
                  ]
                }
              ]
            },
            {
              "names": [
                "--url"
              ],
              "description": "Define a custom datasource url",
              "args": [
                {
                  "name": "full url",
                  "template": "filepaths"
                }
              ]
            }
          ]
        },
        {
          "name": "generate",
          "description": "Generate artifacts (e.g. Prisma Client)",
          "options": [
            {
              "names": [
                "-h",
                "--help"
              ],
              "description": "Display this help message"
            },
            {
              "names": [
                "--schema"
              ],
              "description": "Custom path to your Prisma schema",
              "args": [
                {
                  "name": "Schema path",
                  "template": "filepaths"
                }
              ]
            },
            {
              "names": [
                "--data-proxy"
              ],
              "description": "Enable the Data Proxy in the Prisma Client"
            },
            {
              "names": [
                "--no-hints"
              ],
              "description": "Hides the hint messages but still outputs errors and warnings"
            },
            {
              "names": [
                "--no-engine"
              ],
              "description": "Generate a client for use with Accelerate only"
            },
            {
              "names": [
                "--watch"
              ],
              "description": "Watch the Prisma schema and rerun after a change"
            },
            {
              "names": [
                "--allow-no-models"
              ],
              "description": "Allow generating a client without models"
            }
          ]
        },
        {
          "name": "studio",
          "description": "Open Prisma Studio",
          "options": [
            {
              "names": [
                "-h",
                "--help"
              ],
              "description": "Display this help message"
            },
            {
              "names": [
                "--schema"
              ],
              "description": "Custom path to your Prisma schema",
              "args": [
                {
                  "name": "Schema path",
                  "template": "filepaths"
                }
              ]
            },
            {
              "names": [
                "-p",
                "--port"
              ],
              "description": "Port to start Studio on",
              "args": [
                {
                  "name": "port"
                }
              ]
            },
            {
              "names": [
                "-b",
                "--browser"
              ],
              "description": "Browser to open Studio in",
              "args": [
                {
                  "name": "Browser choice",
                  "suggestions": [
                    "firefox",
                    "chrome",
                    "safari",
                    "none"
                  ]
                }
              ]
            },
            {
              "names": [
                "-n",
                "--hostname"
              ],
              "description": "Hostname to bind the Express server to",
              "args": [
                {
                  "name": "port"
                }
              ]
            }
          ]
        },
        {
          "name": "format",
          "description": "Format your schema",
          "options": [
            {
              "names": [
                "-h",
                "--help"
              ],
              "description": "Display this help message"
            },
            {
              "names": [
                "--schema"
              ],
              "description": "Custom path to your Prisma schema",
              "args": [
                {
                  "name": "Schema path",
                  "template": "filepaths"
                }
              ]
            }
          ]
        },
        {
          "name": "migrate",
          "description": "Migrate your database",
          "subcommands": [
            {
              "name": "dev",
              "description": "The migrate dev command updates your database using migrations files during development",
              "options": [
                {
                  "names": [
                    "-h",
                    "--help"
                  ],
                  "description": "Display this help message"
                },
                {
                  "names": [
                    "--schema"
                  ],
                  "description": "Custom path to your Prisma schema",
                  "args": [
                    {
                      "name": "Schema path",
                      "template": "filepaths"
                    }
                  ]
                },
                {
                  "names": [
                    "--skip-seed"
                  ],
                  "description": "Skip triggering seed"
                },
                {
                  "names": [
                    "--skip-generate"
                  ],
                  "description": "Skip triggering generators (e.g. Prisma Client)"
                },
                {
                  "names": [
                    "--create-only"
                  ],
                  "description": "Create a new migration but do not apply it. The migration will be empty if there are no changes in Prisma schema"
                },
                {
                  "names": [
                    "-n",
                    "--name"
                  ],
                  "description": "The name of the migration. If no name is provided, the CLI will prompt you",
                  "args": [
                    {
                      "name": "filename",
                      "isOptional": true
                    }
                  ]
                }
              ]
            },
            {
              "name": "reset",
              "description": "Reset your database and apply all migrations, all data will be lost",
              "options": [
                {
                  "names": [
                    "-h",
                    "--help"
                  ],
                  "description": "Display this help message"
                },
                {
                  "names": [
                    "--schema"
                  ],
                  "description": "Custom path to your Prisma schema",
                  "args": [
                    {
                      "name": "Schema path",
                      "template": "filepaths"
                    }
                  ]
                },
                {
                  "names": [
                    "--skip-seed"
                  ],
                  "description": "Skip triggering seed"
                },
                {
                  "names": [
                    "--skip-generate"
                  ],
                  "description": "Skip triggering generators (e.g. Prisma Client)"
                },
                {
                  "names": [
                    "-f",
                    "--force"
                  ],
                  "description": "Skip the confirmation prompt",
                  "isDangerous": true
                }
              ]
            },
            {
              "name": "deploy",
              "description": "Apply pending migrations to update the database schema in production/staging",
              "options": [
                {
                  "names": [
                    "-h",
                    "--help"
                  ],
                  "description": "Display this help message"
                },
                {
                  "names": [
                    "--schema"
                  ],
                  "description": "Custom path to your Prisma schema",
                  "args": [
                    {
                      "name": "Schema path",
                      "template": "filepaths"
                    }
                  ]
                }
              ]
            },
            {
              "name": "resolve",
              "description": "Resolve issues with database migrations in deployment databases",
              "options": [
                {
                  "names": [
                    "-h",
                    "--help"
                  ],
                  "description": "Display this help message"
                },
                {
                  "names": [
                    "--schema"
                  ],
                  "description": "Custom path to your Prisma schema",
                  "args": [
                    {
                      "name": "Schema path",
                      "template": "filepaths"
                    }
                  ]
                },
                {
                  "names": [
                    "--applied"
                  ],
                  "description": "Record a specific migration as applied",
                  "args": [
                    {
                      "name": "migration file path",
                      "template": "filepaths"
                    }
                  ]
                },
                {
                  "names": [
                    "--rolled-back"
                  ],
                  "description": "Record a specific migration as rolled back",
                  "args": [
                    {
                      "name": "migration file path",
                      "template": "filepaths"
                    }
                  ]
                }
              ]
            },
            {
              "name": "status",
              "description": "Check the status of your database migrations",
              "options": [
                {
                  "names": [
                    "-h",
                    "--help"
                  ],
                  "description": "Display this help message"
                },
                {
                  "names": [
                    "--schema"
                  ],
                  "description": "Custom path to your Prisma schema",
                  "args": [
                    {
                      "name": "Schema path",
                      "template": "filepaths"
                    }
                  ]
                }
              ]
            },
            {
              "name": "diff",
              "description": "Compares the database schema from two arbitrary sources, and outputs the differences either as a human-readable summary (by default) or an executable script",
              "options": [
                {
                  "names": [
                    "-h",
                    "--help"
                  ],
                  "description": "Display this help message"
                },
                {
                  "names": [
                    "--from-url"
                  ],
                  "description": "A datasource url",
                  "args": [
                    {
                      "name": "full url",
                      "template": "filepaths"
                    }
                  ]
                },
                {
                  "names": [
                    "--to-url"
                  ],
                  "description": "A datasource url",
                  "args": [
                    {
                      "name": "full url",
                      "template": "filepaths"
                    }
                  ]
                },
                {
                  "names": [
                    "--from-empty"
                  ],
                  "description": "Flag to assume from is an empty datamodel"
                },
                {
                  "names": [
                    "--to-empty"
                  ],
                  "description": "Flag to assume to is an empty datamodel"
                },
                {
                  "names": [
                    "--from-schema-datamodel"
                  ],
                  "description": "Path to a Prisma schema file, uses the 'datamodel' for the diff",
                  "args": [
                    {
                      "name": "filepath",
                      "template": "filepaths"
                    }
                  ]
                },
                {
                  "names": [
                    "--to-schema-datamodel"
                  ],
                  "description": "Path to a Prisma schema file, uses the 'datamodel' for the diff",
                  "args": [
                    {
                      "name": "filepath",
                      "template": "filepaths"
                    }
                  ]
                },
                {
                  "names": [
                    "--from-schema-datasource"
                  ],
                  "description": "Path to a Prisma schema file, uses the 'datasource url' for the diff",
                  "args": [
                    {
                      "name": "filepath",
                      "template": "filepaths"
                    }
                  ]
                },
                {
                  "names": [
                    "--to-schema-datasource"
                  ],
                  "description": "Path to a Prisma schema file, uses the 'datasource url' for the diff",
                  "args": [
                    {
                      "name": "filepath",
                      "template": "filepaths"
                    }
                  ]
                },
                {
                  "names": [
                    "--from-migrations"
                  ],
                  "description": "Path to the Prisma Migrate migrations directory",
                  "args": [
                    {
                      "name": "folder",
                      "template": "folders"
                    }
                  ]
                },
                {
                  "names": [
                    "--to-migrations"
                  ],
                  "description": "Path to the Prisma Migrate migrations directory",
                  "args": [
                    {
                      "name": "folder",
                      "template": "folders"
                    }
                  ]
                },
                {
                  "names": [
                    "--shadow-database-url"
                  ],
                  "description": "URL for the shadow database. Only required if using --from-migrations or --to-migrations",
                  "args": [
                    {
                      "name": "full url",
                      "template": "filepaths"
                    }
                  ]
                },
                {
                  "names": [
                    "--script"
                  ],
                  "description": "Render a SQL script to stdout instead of the default human readable summary (not supported on MongoDB)",
                  "args": [
                    {
                      "name": "filepath",
                      "template": "filepaths"
                    }
                  ]
                },
                {
                  "names": [
                    "--exit-code"
                  ],
                  "description": "Change the exit code behavior to signal if the diff is empty or not (Empty: 0, Error: 1, Not empty: 2). Default behavior is Success: 0, Error: 1.`"
                }
              ]
            }
          ]
        },
        {
          "name": "db",
          "description": "Manage your database schema and lifecycle (Preview)",
          "subcommands": [
            {
              "name": "pull",
              "options": [
                {
                  "names": [
                    "-h",
                    "--help"
                  ],
                  "description": "Display this help message"
                },
                {
                  "names": [
                    "--schema"
                  ],
                  "description": "Custom path to your Prisma schema",
                  "args": [
                    {
                      "name": "Schema path",
                      "template": "filepaths"
                    }
                  ]
                },
                {
                  "names": [
                    "--force"
                  ],
                  "description": "Ignore current Prisma schema file",
                  "isDangerous": true
                },
                {
                  "names": [
                    "--print"
                  ],
                  "description": "Print the introspected Prisma schema to stdout"
                },
                {
                  "names": [
                    "--url"
                  ],
                  "description": "The datasource url",
                  "args": [
                    {
                      "name": "full url",
                      "template": "filepaths"
                    }
                  ]
                },
                {
                  "names": [
                    "--composite-type-depth"
                  ],
                  "description": "Specify the depth for introspecting composite types (e.g. Embedded Documents in MongoDB). Number, default is -1 for infinite depth, 0 = off",
                  "args": [
                    {
                      "name": "number"
                    }
                  ]
                }
              ]
            },
            {
              "name": "push",
              "description": "This command pushes the state of your Prisma schema file to the database without using migrations files",
              "options": [
                {
                  "names": [
                    "-h",
                    "--help"
                  ],
                  "description": "Display this help message"
                },
                {
                  "names": [
                    "--schema"
                  ],
                  "description": "Custom path to your Prisma schema",
                  "args": [
                    {
                      "name": "Schema path",
                      "template": "filepaths"
                    }
                  ]
                },
                {
                  "names": [
                    "--skip-generate"
                  ],
                  "description": "Skip generation of artifacts such as Prisma Client"
                },
                {
                  "names": [
                    "--force-reset"
                  ],
                  "description": "Resets the database and then updates the schema - useful if you need to start from scratch due to unexecutable migrations",
                  "isDangerous": true
                },
                {
                  "names": [
                    "--accept-data-loss"
                  ],
                  "description": "Ignore data loss warnings. This option is required if as a result of making the schema changes, data may be lost",
                  "isDangerous": true
                }
              ]
            },
            {
              "name": "seed",
              "description": "Seed your database",
              "isDangerous": true,
              "options": [
                {
                  "names": [
                    "-h",
                    "--help"
                  ],
                  "description": "Display this help message"
                },
                {
                  "names": [
                    "--schema"
                  ],
                  "description": "Custom path to your Prisma schema",
                  "args": [
                    {
                      "name": "Schema path",
                      "template": "filepaths"
                    }
                  ]
                }
              ]
            },
            {
              "name": "execute",
              "description": "Execute native commands to your database",
              "isDangerous": true,
              "options": [
                {
                  "names": [
                    "-h",
                    "--help"
                  ],
                  "description": "Display this help message"
                },
                {
                  "names": [
                    "--schema"
                  ],
                  "description": "Custom path to your Prisma schema",
                  "args": [
                    {
                      "name": "Schema path",
                      "template": "filepaths"
                    }
                  ]
                },
                {
                  "names": [
                    "--url"
                  ],
                  "description": "The datasource url",
                  "args": [
                    {
                      "name": "full url",
                      "template": "filepaths"
                    }
                  ]
                },
                {
                  "names": [
                    "--file"
                  ],
                  "description": "Path to a file. The content will be sent as the script to be executed",
                  "args": [
                    {
                      "name": "filepath",
                      "template": "filepaths"
                    }
                  ]
                },
                {
                  "names": [
                    "--stdin"
                  ],
                  "description": "Use the terminal standard input as the script to be executed"
                }
              ]
            }
          ]
        },
        {
          "name": "version",
          "aliases": [
            "-v"
          ],
          "description": "Print current version of Prisma components",
          "subcommands": [
            {
              "name": "--json",
              "description": "Output JSON"
            }
          ]
        }
      ]
    }
  ]
}
