id = "dolt"
name = "Dolt"
homepage = "https://www.dolthub.com"
description = "Dolt is Git for data."
executables = ["dolt"]
[dotfiles]
paths = ["~/.dolt/config_global.json", "~/.dolt/config.json"]
secret = ["~/.dolt/creds/"]
[[dotfiles.secret_paths]]
file = "~/.dolt/config_global.json"
format = "json"
match = { key_path = ["*.password", "profiles.*.password"] }
[[dotfiles.secret_paths]]
file = "~/.dolt/config.json"
format = "json"
match = { key_path = ["*.password", "profiles.*.password"] }
[commands]
format = 1
label = "Dolt"
description = "Common Dolt jobs: clone a database, run SQL, commit and read the log. Remotes, branches, merges and the SQL server are not covered."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = false, short_attached = true, short_bundles = false }
[[commands.subcommand]]
path = ["clone"]
label = "Clone a database"
[[commands.subcommand.source]]
id = "help"
kind = "manual"
url = "https://docs.dolthub.com/cli-reference/cli"
revision = "2026-10-27"
evidence = """
dolt clone [-remote <remote>] [-branch <branch>] [--aws-region <region>] [--aws-creds-type <creds-type>] [--aws-creds-file <file>] [--aws-creds-profile <profile>] <remote-url> <new-dir>
-b, --branch:
The branch to be cloned. If not specified all branches will be cloned.
--depth:
Clone a single branch and limit history to the given commit depth.
-u, --user:
User name to use when authenticating with the remote. Gets password from the environment variable DOLT_REMOTE_PASSWORD.
--single-branch:
Clone only the history leading to the tip of a single branch, either specified by —branch or the remote's HEAD (default).
"""
[[commands.subcommand.field]]
id = "remote_url"
label = "Remote URL"
description = "For example dolthub/repository or a file:// URL."
type = "string"
position = 0
min = 1
sources = ["help"]
[[commands.subcommand.field]]
id = "new_dir"
label = "New directory"
description = "Defaults to the repository name."
type = "path"
position = 1
path = { kind = "directory", role = "output", must_exist = false }
sources = ["help"]
[[commands.subcommand.field]]
id = "branch"
label = "Branch"
type = "string"
option = ["--branch", "-b"]
sources = ["help"]
[[commands.subcommand.field]]
id = "depth"
label = "History depth"
type = "integer"
option = ["--depth"]
sources = ["help"]
[[commands.subcommand.field]]
id = "single_branch"
label = "Single branch only"
type = "boolean"
option = ["--single-branch"]
sources = ["help"]
[[commands.subcommand.field]]
id = "user"
label = "User"
type = "string"
option = ["--user", "-u"]
sources = ["help"]
[[commands.subcommand.task]]
id = "clone"
label = "Clone"
fields = ["remote_url", "new_dir", "branch", "depth"]
required = ["remote_url"]
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["remote_url", "new_dir", "branch", "depth"]
[[commands.subcommand.group]]
id = "advanced"
label = "Advanced"
fields = ["single_branch", "user"]
[[commands.subcommand]]
path = ["sql"]
label = "Run SQL"
[[commands.subcommand.source]]
id = "help"
kind = "manual"
url = "https://docs.dolthub.com/cli-reference/cli"
revision = "2026-10-27"
evidence = """
dolt sql
dolt sql < script.sql
dolt sql -q <query> [-r <result format>] [-s <name> -m <message>] [-b]
-q, --query:
Runs a single query and exits.
-r, --result-format:
How to format result output. Valid values are tabular, csv, json, vertical, and parquet. Defaults to tabular.
-s, --save:
Used with —query, save the query to the query catalog with the name provided.
-x, --execute:
Executes a saved query with the given name.
-l, --list-saved:
List all saved queries.
-m, --message:
Used with —query and —save, saves the query with the descriptive message given.
-c, --continue:
Continue running queries on an error. Used for batch mode only.
-f, --file:
Execute statements from the file given.
"""
[[commands.subcommand.field]]
id = "query"
label = "Query"
description = "Runs a single query and exits. Leave empty for the interactive shell."
type = "string"
option = ["--query", "-q"]
sources = ["help"]
[[commands.subcommand.field]]
id = "file"
label = "SQL file"
description = "Execute statements from this file."
type = "path"
option = ["--file", "-f"]
path = { kind = "file", role = "input", must_exist = true }
sources = ["help"]
[[commands.subcommand.field]]
id = "result_format"
label = "Result format"
type = "enum"
option = ["--result-format", "-r"]
choices = [{ value = "tabular", label = "tabular" }, { value = "csv", label = "csv" }, { value = "json", label = "json" }, { value = "vertical", label = "vertical" }, { value = "parquet", label = "parquet" }]
sources = ["help"]
[[commands.subcommand.field]]
id = "save"
label = "Save query as"
description = "Used with a query: save it in the query catalog under this name."
type = "string"
option = ["--save", "-s"]
sources = ["help"]
[[commands.subcommand.field]]
id = "message"
label = "Saved query description"
type = "string"
option = ["--message", "-m"]
sources = ["help"]
[[commands.subcommand.field]]
id = "execute"
label = "Run saved query"
type = "string"
option = ["--execute", "-x"]
sources = ["help"]
[[commands.subcommand.field]]
id = "list_saved"
label = "List saved queries"
type = "boolean"
option = ["--list-saved", "-l"]
sources = ["help"]
[[commands.subcommand.field]]
id = "continue_on_error"
label = "Continue on error"
type = "boolean"
option = ["--continue", "-c"]
sources = ["help"]
[[commands.subcommand.task]]
id = "query"
label = "Run a query"
fields = ["query", "result_format"]
required = ["query"]
[[commands.subcommand.task]]
id = "script"
label = "Run a script"
fields = ["file", "continue_on_error"]
required = ["file"]
[[commands.subcommand.task]]
id = "shell"
label = "Interactive shell"
fields = []
required = []
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["query", "file", "result_format", "list_saved"]
[[commands.subcommand.group]]
id = "advanced"
label = "Advanced"
fields = ["save", "message", "execute", "continue_on_error"]
[[commands.subcommand]]
path = ["commit"]
label = "Commit staged changes"
[[commands.subcommand.source]]
id = "help"
kind = "manual"
url = "https://docs.dolthub.com/cli-reference/cli"
revision = "2026-10-27"
evidence = """
dolt commit [options]
-m, --message:
Use the given <msg> as the commit message.
--allow-empty:
Allow recording a commit that has the exact same data as its sole parent.
--skip-empty:
Only create a commit if there are staged changes.
--date:
Specify the date used in the commit. If not specified the current system time is used.
-f, --force:
Ignores any foreign key warnings and proceeds with the commit.
--author:
Specify an explicit author using the standard A U Thor <author@example.com> format.
-a, --all:
Adds all existing, changed tables (but not new tables) in the working set to the staged set.
-A, --ALL:
Adds all tables and databases (including new tables) in the working set to the staged set.
--amend:
Amend previous commit
"""
[[commands.subcommand.field]]
id = "message"
label = "Message"
type = "string"
option = ["--message", "-m"]
sources = ["help"]
[[commands.subcommand.field]]
id = "all"
label = "Stage changed tables"
type = "boolean"
option = ["--all", "-a"]
sources = ["help"]
[[commands.subcommand.field]]
id = "all_new"
label = "Stage all tables including new"
type = "boolean"
option = ["--ALL", "-A"]
sources = ["help"]
[[commands.subcommand.field]]
id = "skip_empty"
label = "Skip when nothing staged"
type = "boolean"
option = ["--skip-empty"]
sources = ["help"]
[[commands.subcommand.field]]
id = "allow_empty"
label = "Allow empty commit"
type = "boolean"
option = ["--allow-empty"]
sources = ["help"]
[[commands.subcommand.field]]
id = "amend"
label = "Amend previous commit"
type = "boolean"
option = ["--amend"]
effect = "overwrite"
sources = ["help"]
[[commands.subcommand.field]]
id = "author"
label = "Author"
description = "A U Thor <author@example.com>"
type = "string"
option = ["--author"]
sources = ["help"]
[[commands.subcommand.field]]
id = "date"
label = "Date"
description = "YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS."
type = "string"
option = ["--date"]
sources = ["help"]
[[commands.subcommand.field]]
id = "force"
label = "Ignore foreign key warnings"
type = "boolean"
option = ["--force", "-f"]
sources = ["help"]
[[commands.subcommand.task]]
id = "commit"
label = "Commit"
fields = ["message", "all"]
required = ["message"]
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["message", "all", "all_new", "skip_empty"]
[[commands.subcommand.group]]
id = "advanced"
label = "Advanced"
fields = ["allow_empty", "amend", "author", "date", "force"]
[[commands.subcommand]]
path = ["log"]
label = "Show commit log"
[[commands.subcommand.source]]
id = "help"
kind = "manual"
url = "https://docs.dolthub.com/cli-reference/cli"
revision = "2026-10-27"
evidence = """
dolt log [-n <num_commits>] [<revision-range>] [[--] <table>]
-n, --number:
Limit the number of commits to output.
--merges:
Equivalent to min-parents == 2, this will limit the log to commits with 2 or more parents.
--parents:
Shows all parents of each commit in the log.
--all:
Automatically select every branch in database
--oneline:
Shows logs in a compact format.
--stat:
Shows the diffstat for each commit.
--graph:
Shows the commit graph.
"""
[[commands.subcommand.field]]
id = "revisions"
label = "Revisions"
description = "Revision or revision range; defaults to HEAD."
type = "string"
position = 0
multiple = true
sources = ["help"]
[[commands.subcommand.field]]
id = "number"
label = "Number of commits"
type = "integer"
option = ["--number", "-n"]
sources = ["help"]
[[commands.subcommand.field]]
id = "oneline"
label = "Compact format"
type = "boolean"
option = ["--oneline"]
sources = ["help"]
[[commands.subcommand.field]]
id = "graph"
label = "Commit graph"
type = "boolean"
option = ["--graph"]
sources = ["help"]
[[commands.subcommand.field]]
id = "stat"
label = "Diffstat per commit"
type = "boolean"
option = ["--stat"]
sources = ["help"]
[[commands.subcommand.field]]
id = "merges"
label = "Merge commits only"
type = "boolean"
option = ["--merges"]
sources = ["help"]
[[commands.subcommand.field]]
id = "parents"
label = "Show parents"
type = "boolean"
option = ["--parents"]
sources = ["help"]
[[commands.subcommand.field]]
id = "all"
label = "All branches"
type = "boolean"
option = ["--all"]
sources = ["help"]
[[commands.subcommand.task]]
id = "recent"
label = "Recent commits"
fields = ["number", "oneline"]
required = []
set = { number = [10], oneline = [true] }
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["revisions", "number", "oneline", "graph"]
[[commands.subcommand.group]]
id = "advanced"
label = "Advanced"
fields = ["stat", "merges", "parents", "all"]