{
  "name": "blitz",
  "description": "Blitz.js CLI is your single access point for interacting with your app, from database management to code generation",
  "subcommands": [
    {
      "name": "build",
      "aliases": [
        "b"
      ],
      "description": "Creates a production build",
      "options": [
        {
          "names": [
            "--help",
            "-h"
          ],
          "description": "Show help for command",
          "priority": 1
        }
      ]
    },
    {
      "name": "codegen",
      "aliases": [
        "cg"
      ],
      "description": "Generates Routes Manifest",
      "options": [
        {
          "names": [
            "--help",
            "-h"
          ],
          "description": "Show help for command",
          "priority": 1
        }
      ]
    },
    {
      "name": "console",
      "aliases": [
        "c"
      ],
      "description": "Run the Blitz console REPL",
      "options": [
        {
          "names": [
            "--help",
            "-h"
          ],
          "description": "Show help for command",
          "priority": 1
        }
      ]
    },
    {
      "name": "db",
      "description": "Run database commands",
      "options": [
        {
          "names": [
            "--help",
            "-h"
          ],
          "description": "Show help for command",
          "priority": 1
        }
      ],
      "args": [
        {
          "name": "command",
          "description": "Run specific db command",
          "suggestions": [
            "seed"
          ]
        }
      ]
    },
    {
      "name": "dev",
      "aliases": [
        "d"
      ],
      "description": "Start a development server",
      "options": [
        {
          "names": [
            "--help",
            "-h"
          ],
          "description": "Show help for command",
          "priority": 1
        },
        {
          "names": [
            "-p",
            "--port"
          ],
          "description": "Set port number",
          "args": [
            {
              "name": "port"
            }
          ]
        },
        {
          "names": [
            "-H",
            "--hostname"
          ],
          "description": "Set server hostname",
          "args": [
            {
              "name": "hostname"
            }
          ]
        },
        {
          "names": [
            "--inspect"
          ],
          "description": "Enable the Node.js inspector"
        },
        {
          "names": [
            "--no-incremental-build"
          ],
          "description": "Disable incremental build and start from a fresh cache"
        }
      ]
    },
    {
      "name": "export",
      "aliases": [
        "e"
      ],
      "description": "Exports a static page",
      "options": [
        {
          "names": [
            "--help",
            "-h"
          ],
          "description": "Show help for command",
          "priority": 1
        },
        {
          "names": [
            "-o",
            "--outdir"
          ],
          "description": "Set the output dir (defaults to 'out')",
          "args": [
            {
              "name": "outdir"
            }
          ]
        }
      ]
    },
    {
      "name": "generate",
      "aliases": [
        "g"
      ],
      "description": "Generate new files for your Blitz project",
      "isDangerous": true,
      "options": [
        {
          "names": [
            "--help",
            "-h"
          ],
          "description": "Show help for command",
          "priority": 1
        },
        {
          "names": [
            "-c",
            "--context"
          ],
          "description": "Provide a context folder within which we'll place the generated files for better code organization. You can also supply this in the name of the model to be generated (e.g. `blitz generate query admin/projects`). Combining the `--context` flags and supplying context via the model name in the same command is not supported",
          "args": [
            {
              "name": "context"
            }
          ]
        },
        {
          "names": [
            "-p",
            "--parent"
          ],
          "description": "Specify a parent model to be used for generating nested routes for dependent data when generating pages, or to create hierarchical validation in queries and mutations. The code will be generated with the nested data model in mind. Most often this should be used in conjunction with 'blitz generate all'",
          "args": [
            {
              "name": "parent"
            }
          ]
        },
        {
          "names": [
            "-d",
            "--dry-run"
          ],
          "description": "Show what files will be created without writing them to disk"
        }
      ],
      "args": [
        {
          "name": "type",
          "description": "What files to generate",
          "suggestions": [
            "all",
            "crud",
            "model",
            "pages",
            "queries",
            "query",
            "mutations",
            "mutation",
            "resource"
          ]
        },
        {
          "name": "model",
          "description": "The name of your model, like \"user\". Can be singular or plural - same result"
        }
      ]
    },
    {
      "name": "help",
      "aliases": [
        "h"
      ],
      "description": "Display help for <%= config.bin %>",
      "options": [
        {
          "names": [
            "--all"
          ],
          "description": "See all commands in CLI"
        }
      ],
      "args": [
        {
          "name": "command",
          "description": "Command to show help for",
          "isOptional": true
        }
      ]
    },
    {
      "name": "install",
      "aliases": [
        "i"
      ],
      "description": "Install a Recipe into your Blitz app",
      "options": [
        {
          "names": [
            "--help",
            "-h"
          ],
          "description": "Show help for command",
          "priority": 1
        }
      ],
      "args": [
        {
          "name": "recipe",
          "description": "Name of a Blitz recipe from @blitzjs/blitz/recipes, or a file path to a local recipe definition"
        },
        {
          "name": "recipe-flags",
          "description": "A list of flags to pass to the recipe. Blitz will only parse these in the form key=value",
          "isOptional": true
        }
      ]
    },
    {
      "name": "new",
      "description": "Create a new Blitz project",
      "options": [
        {
          "names": [
            "--help",
            "-h"
          ],
          "description": "Show help for command",
          "priority": 1
        },
        {
          "names": [
            "--npm"
          ],
          "description": "Use npm as the package manager"
        },
        {
          "names": [
            "--yarn"
          ],
          "description": "Use yarn as the package manager"
        },
        {
          "names": [
            "--form"
          ],
          "description": "A form library",
          "args": [
            {
              "name": "form",
              "suggestions": [
                "react-final-form",
                "react-hook-form",
                "formik"
              ]
            }
          ]
        },
        {
          "names": [
            "-d",
            "--dry-run"
          ],
          "description": "Show what files will be created without writing them to disk"
        },
        {
          "names": [
            "--no-git"
          ],
          "description": "Skip git repository creation"
        },
        {
          "names": [
            "--skip-upgrade"
          ],
          "description": "Skip blitz upgrade if outdated"
        }
      ],
      "args": [
        {
          "name": "name",
          "description": "Name of your new project"
        }
      ]
    },
    {
      "name": "prisma",
      "aliases": [
        "p"
      ],
      "description": "Loads env variables then proxies all args to Prisma CLI",
      "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"
            }
          ]
        }
      ]
    },
    {
      "name": "routes",
      "aliases": [
        "r"
      ],
      "description": "Display all Blitz URL Routes",
      "options": [
        {
          "names": [
            "--help",
            "-h"
          ],
          "description": "Show help for command",
          "priority": 1
        }
      ]
    },
    {
      "name": "start",
      "aliases": [
        "s"
      ],
      "description": "Start the production server",
      "options": [
        {
          "names": [
            "--help",
            "-h"
          ],
          "description": "Show help for command",
          "priority": 1
        },
        {
          "names": [
            "-p",
            "--port"
          ],
          "description": "Set port number",
          "args": [
            {
              "name": "port"
            }
          ]
        },
        {
          "names": [
            "-H",
            "--hostname"
          ],
          "description": "Set server hostname",
          "args": [
            {
              "name": "hostname"
            }
          ]
        },
        {
          "names": [
            "--inspect"
          ],
          "description": "Enable the Node.js inspector"
        }
      ]
    },
    {
      "name": "autocomplete",
      "description": "Display autocomplete installation instructions",
      "options": [
        {
          "names": [
            "-r",
            "--refresh-cache"
          ],
          "description": "Refresh cache (ignores displaying instructions)"
        }
      ],
      "args": [
        {
          "name": "shell",
          "description": "Shell type",
          "isOptional": true,
          "suggestions": [
            "zsh",
            "bash"
          ]
        }
      ]
    }
  ]
}
