About this project

Dolt is a SQL database that applies Git-style version control to tables. A database can be forked, cloned, branched, merged, pushed and pulled like a Git repository, and the project also offers DoltHub for sharing public databases, DoltLab for hosting your own instance, and Hosted Dolt for a managed server. Connecting and clients: Dolt ships with a MySQL-compatible server started via dolt sql-server, which by default listens on port 3306, and a MySQL-compatible client reached through dolt sql. The README states that any MySQL-compatible client can connect, over TCP or socket, and notes support up to MySQL version 8.4, recommending the 8.4 LTS release, with a linked post explaining caching_sha2_password configuration for MySQL 9.0. Version control surfaces: the dolt CLI mirrors Git commands, including init, status, add, diff, reset, clean, commit, branch, checkout, merge, conflicts, cherry-pick, revert, clone, fetch, pull, push, remote, tag and blame, plus database-oriented commands such as sql, sql-server, schema, table, dump, backup, migrate, read-tables, filter-branch and gc. In SQL, read operations are exposed as system tables (for example dolt_log, dolt_status, and per-table diff system tables) and write operations as stored procedures following the dolt_command naming pattern, such as dolt_add and dolt_commit. Option passing follows the command line model, and the system variable dolt_transaction_commit can generate a Dolt commit for every transaction. A Dolt commit is described as different from a standard SQL transaction commit. Database features: Dolt supports foreign keys, secondary indexes, triggers, check constraints and stored procedures, and the walkthrough demonstrates a join across three tables, stating support for up to twelve table joins. The documentation walkthrough covers creating a schema, inserting data, examining diffs before committing, and inspecting the log. Installation: Dolt is distributed as a single binary of roughly 103 megabytes. Install options include an install script for Linux and macOS that places the binary in /usr/local/bin, Arch Linux packages, Homebrew, a community MacPorts port, a Windows MSI installer, Chocolatey, official Docker images (dolthub/dolt for the CLI and dolthub/dolt-sql-server for server mode), or building from source with Go and a C toolchain because of a cgo dependency. User name and email are configured with dolt config, matching Git. Ecosystem: the README mentions Doltgres, a Postgres-oriented variant in Beta release, a Discord community, a public roadmap, a video introduction, and usage examples such as powering Beads and Gas Town, positioning Dolt as a database for agent memory in multi-agent and multi-machine workflows.