Skip to content
Dotweave Dotweave v0.39.7

Dotweave

A CLI tool that syncs your dotfiles with Git.

Dotweave is a CLI tool that syncs your development environment config files (dotfiles) with Git. Keep a consistent setup across multiple machines.


Tools like stow and chezmoi treat the repository as the source of truth — you edit files through the tool, and it manages the repository for you. stow creates symlinks from your home directory into a repository, while chezmoi requires you to edit through chezmoi edit before applying changes locally. These approaches keep the repository state clear, but they add friction to your daily editing workflow.

Dotweave takes the opposite approach. Your local files are always the source of truth. The sync directory is just a mirror. Edit ~/.zshrc directly in your favorite editor — no special commands needed. When you’re ready to sync, run dotweave push to copy your local files into the sync directory, then use Git to share them.


  • Track any file or directory under your home directory
  • Push and pull between your local files and the sync directory
  • Encrypt secrets with age — SSH keys, API tokens, and other sensitive files stay encrypted in the repository
  • Profiles let you maintain different configs for work, personal, or per-machine setups
  • Platform-specific paths handle cross-OS differences (Linux, macOS, Windows, WSL)
  • No symlinks, no special editors — your workflow stays exactly the same

# Track a config file
dotweave track ~/.config/starship.toml
# Push local changes to the sync directory
dotweave push
# On another machine, pull to restore
dotweave pull

Head to Getting Started to install dotweave and set up your first sync.