{
  "description": "Common Dolt jobs: clone a database, run SQL, commit and read the log. Remotes, branches, merges and the SQL server are not covered.",
  "name": "dolt",
  "subcommands": [
    {
      "name": "clone",
      "description": "Clone a database",
      "options": [
        {
          "names": [
            "--branch",
            "-b"
          ],
          "description": "Branch",
          "args": {
            "name": "branch",
            "isOptional": false
          }
        },
        {
          "names": [
            "--depth"
          ],
          "description": "History depth",
          "args": {
            "name": "depth",
            "isOptional": false
          }
        },
        {
          "names": [
            "--single-branch"
          ],
          "description": "Single branch only"
        },
        {
          "names": [
            "--user",
            "-u"
          ],
          "description": "User",
          "args": {
            "name": "user",
            "isOptional": false
          }
        }
      ],
      "args": [
        {
          "name": "remote_url",
          "description": "For example dolthub/repository or a file:// URL.",
          "isOptional": false
        },
        {
          "name": "new_dir",
          "description": "Defaults to the repository name.",
          "isOptional": true,
          "template": "folders"
        }
      ]
    },
    {
      "name": "sql",
      "description": "Run SQL",
      "options": [
        {
          "names": [
            "--query",
            "-q"
          ],
          "description": "Runs a single query and exits. Leave empty for the interactive shell.",
          "args": {
            "name": "query",
            "description": "Runs a single query and exits. Leave empty for the interactive shell.",
            "isOptional": false
          }
        },
        {
          "names": [
            "--file",
            "-f"
          ],
          "description": "Execute statements from this file.",
          "args": {
            "name": "file",
            "description": "Execute statements from this file.",
            "isOptional": false,
            "template": "filepaths"
          }
        },
        {
          "names": [
            "--result-format",
            "-r"
          ],
          "description": "Result format",
          "args": {
            "name": "result_format",
            "isOptional": false,
            "suggestions": [
              {
                "name": "tabular",
                "description": "tabular"
              },
              {
                "name": "csv",
                "description": "csv"
              },
              {
                "name": "json",
                "description": "json"
              },
              {
                "name": "vertical",
                "description": "vertical"
              },
              {
                "name": "parquet",
                "description": "parquet"
              }
            ]
          }
        },
        {
          "names": [
            "--save",
            "-s"
          ],
          "description": "Used with a query: save it in the query catalog under this name.",
          "args": {
            "name": "save",
            "description": "Used with a query: save it in the query catalog under this name.",
            "isOptional": false
          }
        },
        {
          "names": [
            "--message",
            "-m"
          ],
          "description": "Saved query description",
          "args": {
            "name": "message",
            "isOptional": false
          }
        },
        {
          "names": [
            "--execute",
            "-x"
          ],
          "description": "Run saved query",
          "args": {
            "name": "execute",
            "isOptional": false
          }
        },
        {
          "names": [
            "--list-saved",
            "-l"
          ],
          "description": "List saved queries"
        },
        {
          "names": [
            "--continue",
            "-c"
          ],
          "description": "Continue on error"
        }
      ]
    },
    {
      "name": "commit",
      "description": "Commit staged changes",
      "options": [
        {
          "names": [
            "--message",
            "-m"
          ],
          "description": "Message",
          "args": {
            "name": "message",
            "isOptional": false
          }
        },
        {
          "names": [
            "--all",
            "-a"
          ],
          "description": "Stage changed tables"
        },
        {
          "names": [
            "--ALL",
            "-A"
          ],
          "description": "Stage all tables including new"
        },
        {
          "names": [
            "--skip-empty"
          ],
          "description": "Skip when nothing staged"
        },
        {
          "names": [
            "--allow-empty"
          ],
          "description": "Allow empty commit"
        },
        {
          "names": [
            "--amend"
          ],
          "description": "Amend previous commit",
          "isDangerous": true
        },
        {
          "names": [
            "--author"
          ],
          "description": "A U Thor <author@example.com>",
          "args": {
            "name": "author",
            "description": "A U Thor <author@example.com>",
            "isOptional": false
          }
        },
        {
          "names": [
            "--date"
          ],
          "description": "YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS.",
          "args": {
            "name": "date",
            "description": "YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS.",
            "isOptional": false
          }
        },
        {
          "names": [
            "--force",
            "-f"
          ],
          "description": "Ignore foreign key warnings"
        }
      ]
    },
    {
      "name": "log",
      "description": "Show commit log",
      "options": [
        {
          "names": [
            "--number",
            "-n"
          ],
          "description": "Number of commits",
          "args": {
            "name": "number",
            "isOptional": false
          }
        },
        {
          "names": [
            "--oneline"
          ],
          "description": "Compact format"
        },
        {
          "names": [
            "--graph"
          ],
          "description": "Commit graph"
        },
        {
          "names": [
            "--stat"
          ],
          "description": "Diffstat per commit"
        },
        {
          "names": [
            "--merges"
          ],
          "description": "Merge commits only"
        },
        {
          "names": [
            "--parents"
          ],
          "description": "Show parents"
        },
        {
          "names": [
            "--all"
          ],
          "description": "All branches"
        }
      ],
      "args": [
        {
          "name": "revisions",
          "description": "Revision or revision range; defaults to HEAD.",
          "isOptional": true,
          "isVariadic": true
        }
      ]
    }
  ]
}
