fetchd
Lightweight background utility to sync personal CLI tools and GitHub release binaries across machines.
Features
- Downloads latest precompiled binaries from GitHub Releases
- Automatic fallback to git clone & source build if release binary is missing
- Smart state tracking (~/.config/fetchd/state.json) to skip already up-to-date binaries and avoid redundant downloads
- Safe in-place binary replacement (supports active executables on Windows/POSIX)
- Non-blocking lock to prevent overlapping runs
- Native background scheduler setup (Windows Task Scheduler, macOS launchd, Linux systemd/cron)
- Whitelist (env) to control which tools are added to PATH and .env
- Project helper (--add) to inspect any repository and generate its configuration snippet
---
Installation
Binaries
Download the latest binary from Releases:
Linux / macOS:
curl -L -o fetchd https://github.com/Sanskar-Awachar-commits/fetchd/releases/latest/download/fetchd-linux
chmod +x fetchd
./fetchd(On macOS, use fetchd-macos)
Windows (PowerShell):
Invoke-WebRequest -Uri https://github.com/Sanskar-Awachar-commits/fetchd/releases/latest/download/fetchd-windows.exe -OutFile fetchd.exe
.\fetchd.exeFrom Source
git clone https://github.com/Sanskar-Awachar-commits/fetchd.git
cd fetchd
python fetchd.py---