Parallel by default
A worker pool checks repos concurrently — 8 at a time out of the box, tune it with -w.
reposcan walks your filesystem, checks every Git and jj repo in parallel, and opens a terminal UI listing every one that’s ahead, behind, or sitting on uncommitted changes — across every root you scan.
$ curl -fsSL https://raw.githubusercontent.com/mabd-dev/reposcan/main/install.sh | sh
Read the script first · download a binary instead
Clipboard blocked — the command above is selected, press ⌘C or Ctrl+C. Or open the script and run it yourself.
The flows you’ll reach for every day.
Point it at as many roots as you keep code in. A worker pool checks them concurrently — 8 at a time by default, tuned with -w — and dirIgnore globs keep node_modules and caches out of the walk.
$ reposcan -r ~/Code -r ~/work
Default to dirty, or pass -f to slice by uncommitted, unpushed, unpulled, or stash. Inside the TUI, / narrows the list without leaving it.
$ reposcan -f unpushed
reposcan discovers .git directories, worktree-style .git files, and .jj repositories in the same pass. Every row carries the VCS it came from, and JSON reports carry a vcsType field so consumers can tell them apart.
[tui] showVCS = true
Finding the dirty repo is half the job. c copies the selected repository’s path, r refreshes the list, ? opens the full keymap.
c copy path · r refresh · ? keymap
Everything you’d expect from a tool you run a dozen times a day.
A worker pool checks repos concurrently — 8 at a time out of the box, tune it with -w.
Scans Git worktrees as well as plain checkouts, and finds stash-only work on request — -f stash, or set countStashAsDirty to fold it into the dirty filter.
Emit machine-readable reports for dashboards and CI with a single flag.
-o json
--json-output-path ./out
Set your roots, ignore globs, and output format once — they travel with you. CLI flags still override per run.
~/.config/reposcan/
config.toml
Detects your OS and architecture, drops the latest release on your $PATH.
$ curl -fsSL https://raw.githubusercontent.com/mabd-dev/reposcan/main/install.sh | sh
Read the script first · download a binary instead
Clipboard blocked — the command above is selected, press ⌘C or Ctrl+C. Or open the script and run it yourself.
or build from source with go build -o reposcan .