Getting Started
Install dotweave and set up your first sync in a few minutes.
Prerequisites
- Node.js 24 or later
Installation
winget install tinyrack.dotweaveStarting Fresh
If this is your first time using dotweave, follow these steps to create a new sync directory.
Initialize
Create a new sync directory with a fresh age key for encrypting secrets.
dotweave initThis sets up the dotweave app-data directory with a Git repository and an age identity.
Track your files
Tell dotweave which files to sync. For example:
dotweave track ~/.zshrc dotweave track ~/.config/starship.toml dotweave track ~/.config/nvimFor sensitive files like SSH keys, use secret mode:
dotweave track --mode secret ~/.ssh/configPush to the sync directory
Copy your tracked files into the sync directory:
dotweave pushCommit and push with Git
Open the sync directory and push to a remote:
dotweave cd git add -A && git commit -m "Initial sync" git remote add origin <your-repo-url> git push -u origin main
After setting up, check out the Directory Structure guide to see where dotweave stores your config and synced files.
Connecting an Existing Sync Directory
On a new machine, clone your existing sync directory:
Clone and initialize
dotweave init <your-repo-url> --key-file ~/dotweave.agekeyThis clones the repository into the dotweave app-data directory under
repository/. When connecting an existing sync repository, you must provide the same age private key used to decrypt its secret files:dotweave init <your-repo-url>Pull your files
Restore all tracked files to their local paths:
dotweave pull
If your sync directory contains encrypted secrets, you need the same age private key on all machines. See Syncing Secrets for details.
What's Next?
Now that you're set up, explore the guides:
- Directory Structure — understand where dotweave stores files
- Tracking Files — learn more about tracking options
- Sync Modes — normal, secret, and ignore modes
- Syncing Secrets — encrypt sensitive files with age