Tether CLI Documentation
Welcome to the Tether CLI documentation! Tether is an open source tool that automatically syncs your development environment (dotfiles and packages) across multiple Macs with end-to-end encryption.
Quick Start
Get up and running in under a minute:
# Install via Homebrew
$ brew install tether-cli
# Initialize with your Git repository
$ tether init --repo git@github.com:username/dotfiles.git
# Done! Tether is now syncing automatically
$ Key Features
- Automatic Syncing: Background daemon watches for changes and syncs in real-time
- End-to-End Encryption: AES-256-GCM encryption with keys in iCloud Keychain
- Package Manager Support: Syncs Homebrew, npm, and pnpm global packages
- Secret Detection: Prevents accidental syncing of API keys and credentials
- Git-Backed: Full version history and rollback capabilities
- Mac-Native: Optimized for macOS with system integrations
What Gets Synced?
Dotfiles (Encrypted)
.zshrc- Shell configuration.gitconfig- Git settings.zprofile- Shell profile (optional)- Custom dotfiles you specify
Package Managers
- Homebrew: Formulae, casks, and taps (via Brewfile)
- npm: Global packages
- pnpm: Global packages
How It Works
Tether uses a Git repository as the sync backend. When you make changes to dotfiles or install packages, the background daemon detects these changes, encrypts your dotfiles with AES-256-GCM, and pushes them to your private Git repository. On your other machines, Tether pulls these changes and applies them automatically.
Encryption keys are stored securely in iCloud Keychain and automatically sync across your Macs.
Your dotfiles are stored as .enc files in Git, so even if someone gains access to your
repository, they cannot read your configurations without the encryption key.
Requirements
- Platform: macOS 11.0 (Big Sur) or later
- Shell: zsh (default on macOS)
- Git: Configured with GitHub, GitLab, or self-hosted Git server
- iCloud: Signed in for Keychain sync (for multi-machine setup)
Next Steps
- Installation Guide - Detailed installation instructions
- Quick Start Tutorial - Step-by-step setup guide
- Command Reference - All available commands
- Security Architecture - Deep dive into encryption and security
Getting Help
If you run into issues or have questions: