id = "dolt" name = "Dolt" homepage = "https://www.dolthub.com" description = "Dolt is Git for data." executables = ["dolt"] [dotfiles] # https://www.dolthub.com/blog/2024-12-04-dolt-configuration/ documents the # current global file ~/.dolt/config_global.json, while the official Dolt # anatomy article https://www.dolthub.com/blog/2024-10-28-dolt-anatomy/ and # https://www.dolthub.com/docs/cli-reference/cli/ document ~/.dolt/config.json # and the ~/.dolt/creds directory. Keep both global-file spellings because # Dolt has shipped both layouts; local .dolt files inside databases are not # user-level dotfiles. paths = ["~/.dolt/config_global.json", "~/.dolt/config.json"] # Dolt credentials are one JWK file per credential in ~/.dolt/creds; they are # always withheld as whole files. Profile passwords can also be present in # the global JSON, so the known profile layouts are selected below. 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 ] [-branch ] [--aws-region ] [--aws-creds-type ] [--aws-creds-file ] [--aws-creds-profile ] -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 [-r ] [-s -m ] [-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 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 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 " 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 ] [] [[--] ] -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"]