saddle
Repo wrangler — track, organize, and sync every git repository locally (and remotely).
Install
Build from source:
git clone https://github.com/ansilithic/saddle.git
cd saddle
make build && make installRequires Swift 6.0. macOS 14+ or Linux.
Authenticate
Saddle uses GitHub's OAuth device flow — no tokens to copy-paste.
saddle authA browser opens, a code is displayed. Enter the code, authorize, done.
Saddle stores GitHub credentials in its data directory. The directory uses owner-only 0700 permissions and the credential file uses owner-only 0600 permissions. Credential updates use atomic file replacement.
Quick start
Add repos to the manifest:
saddle equip user/dotfiles
saddle equip user/scripts
saddle equip user/cool-cliOr create the manifest directly:
# $XDG_CONFIG_HOME/com.ansilithic.saddle/manifest.toml
mount = "~/Developer"
[repos]
"github.com/user/dotfiles"
"github.com/user/scripts"
"github.com/user/cool-cli"Then sync everything with saddle up