The modern dotfiles manager
Simple, fast, and built in TypeScript. Manage your dotfiles with Git, sync across machines, and never lose your configs again.
npm install -g @prnv/tuckSmart category detection organizes your configs automatically. Let tuck init and tuck sync discover files automatically, or use tuck add for manual control. Files are copied and organized by category.
Learn about tracking →See your entire configuration state at a glance. Branch info, sync status, and all tracked files organized by category - everything you need to stay in control.
View all commands →Automatically detects changes AND new dotfiles on your system. Select what to track interactively, commit, and push - all in one command. Pulls from remote first if behind. No manual git workflows needed.
See how sync works →Bootstrap a new machine in seconds. Just provide a GitHub username and tuck will clone their dotfiles, create Time Machine backup snapshots of your existing configs, and apply with smart merging that preserves your local customizations.
Learn about apply →Symlink or copy, your choice. Automatic backups before every operation mean you can always restore. SSH and GPG permissions are handled correctly.
Explore restore options →Up and running in under a minute
npm install -g @prnv/tuckor use yarn, pnpm, or bun
tuck initScans your dotfiles, select what to track, syncs to GitHub
tuck syncRun anytime - detects changes, finds new files, pushes updates
What 99% of users need. Initialize, sync, and check status - the essential workflow for managing your dotfiles.
tuck initSet up tuck, scan for dotfiles, select what to track, and sync - all in one. Creates ~/.tuck directory with Git tracking.
tuck syncDetect changes, find new files, and push to remote. Pulls first if behind, scans for new dotfiles, commits and pushes.
tuck statusSee what's tracked and what's changed. Shows branch info, sync status, and all tracked files by category.
Fine-grained control for creating and managing your dotfile backups. Add files, discover new ones, and sync manually.
tuck add <files>Manually track specific files. Copies files to ~/.tuck organized by category (shell, git, editors, etc).
tuck scanDiscover dotfiles on your system without syncing. Interactive selection for which files to track.
tuck push / pullManual git operations. Push commits to remote or pull latest changes. Use tuck sync for automated workflow.
Apply dotfiles from others, restore your own, or undo changes. Everything you need to use your backups across machines.
tuck apply <user>Apply dotfiles from any GitHub user's repository. Smart merging preserves your local customizations.
tuck restoreRestore dotfiles from ~/.tuck to your system. Useful when setting up on a new machine.
tuck undoRestore files from Time Machine backup snapshots. Created automatically when using tuck apply.
tuck stores your dotfiles in ~/.tuck, organized by category. When you run tuck init, it scans your system and lets you choose which files to track. Run tuck sync anytime to detect changes and sync to your remote.
Run tuck sync to detect changes and push to remote. On a new machine: tuck init --from <repo-url> or tuck apply username
Choose your preferred method
npm install -g @prnv/tuckbrew install prnv/tap/tuckcurl -fsSL https://tuck.sh/install.sh | bash