sluuz
git, but it sleuths. π΅οΈ
sluuz is a drop-in git superset. The command you type is the short slu,
and every git command still works exactly as before β slu commit, slu push,
slu log all pass straight through to git. On top of that you get superpowers a
shell alias could never give you: pickaxe a string through every branch of every
repo at once, audit history for leaked secrets, and manage many repos in one go.
The name? It's for people who like sleuthing through git history.
Install
This installs a single command: slu β three letters, same length as git
itself. Update later with slu update (or cargo install sluuz --force).
It's just git⦠until it isn't
Anything git understands is forwarded verbatim, with your editor, pager, prompts, colors, and exit codes intact:
Then come the superpowers.
slu search β sleuth a string through history
Uses git's pickaxe (git log -S) across all branches, then shows the matching
commit, the file(s) the change touched, and the branches that contain it.
Being pickaxe-based, it even finds matches inside binary/encrypted blobs.
Matching is case-sensitive (pickaxe is precise by nature).
slu scan β audit repos for leaked secrets
Sweeps every commit on every branch for a list of sensitive terms (case-insensitive) and reports each hit with its commit, branch, and file β including secrets committed in binary/encrypted files.
slu repos β state of every repo at a glance
A dashboard of every repo under a path: current branch, uncommitted files, and how far ahead/behind its upstream it is.
Legend: β uncommitted Β· β unpushed commits Β· β unpulled commits
slu sync β fetch (and optionally fast-forward) every repo
Fetches and prunes all repos in parallel. With --pull it also runs
git pull --ff-only, which fast-forwards safely and refuses rather than merging
when it can't β so it never creates merge commits or conflicts.
slu tidy β find merged, deletable branches
Lists local branches already merged into your current branch (safe to delete), with how long since each was last touched and a ready-to-paste delete command.
slu each β run any git command across all repos
The catch-all multi-repo power tool: whatever you'd type after git, run it in
every repo under you, in parallel.
slu update β update sluuz itself
Common options
The multi-repo commands accept a path argument (defaults to .) and
-d, --depth <N> β how many directory levels deep to look for repos (default 3).
License
AGPL-3.0-only