Dotbot is a tool that bootstraps your dotfiles by automating the installation and configuration of dotfiles across systems.
The problem Dotbot solves is the tedious manual setup required when moving to a new machine or setting up a fresh system. Rather than manually symlinking configuration files and running setup scripts, Dotbot lets you define your entire dotfiles installation in a single YAML configuration file. When you run the installer, it executes a series of directives—linking files, creating directories, running shell commands, and cleaning up old configurations—all from that declarative specification. The tool is designed to be lightweight and self-contained, requiring no external dependencies and no prior installation beyond Python.
Dotbot suits developers who want a simple, version-control-agnostic approach to managing dotfiles. It works well for anyone bootstrapping a new system with a single command and for teams sharing dotfiles templates. The tool is particularly valuable because it does less than competing solutions—it deliberately avoids managing your dotfiles themselves, leaving that to your version control system. This philosophy makes it a drop-in replacement for other dotfiles managers. The core directives handle linking, creating directories, running arbitrary shell commands, and cleaning stale symlinks, while its plugin system extends functionality for secrets management, package installation, and application-specific configuration.
The project maintains active continuous integration with automated testing and code coverage tracking. Development follows a pattern of regular maintenance and responsiveness to issues, with the codebase receiving updates that address user needs and edge cases. The tool is distributed through standard package management channels, making it accessible to users across different environments.