A fast TUI dashboard to view the git status of all your repositories in one place. > Stop the
cd→git statusloop.
Get started in seconds.
brew tap Bharath-code/tap
brew install git-scopebrew upgrade git-scopego install github.com/Bharath-code/git-scope/cmd/git-scope@latestIf you find this useful, please consider giving it a ⭐ star to help others find it!
Simply run it in any directory containing your projects:
git-scopegit-scope -hBy default, it recursively scans the current directory. You can configure permanent root paths later.
- git-scope is for your workspace (bird's-eye view).
- lazygit is for a specific repository (deep dive).
| Feature | git-scope | lazygit |
|---|---|---|
| Scope | All repos at once | One repo at a time |
| Primary Goal | Find what needs attention | Stage/Commit/Diff |
| Fuzzy Search | Find repo by name/path | ❌ |
| Integration | Press Enter to open editor |
Press Enter to stage files |
| Performance | ~10ms startup (cached) | Slower on large monorepos |
- 🔍 Fuzzy Search — Find any repo by name, path, or branch (
/). - 🛡️ Dirty Filter — Instantly show only repos with uncommitted changes (
f). - 🚀 Editor Jump — Open the selected repo in VSCode, Neovim, Vim, or Helix (
Enter). - ⚡ Blazing Fast — JSON caching ensures ~10ms launch time even with 50+ repos.
- 📊 Dashboard Stats — See branch name, staged/unstaged counts, and last commit time.
- 🌿 Contribution Graph — GitHub-style local heatmap for your activity (
g). - 💾 Disk Usage — Visualize
.gitvsnode_modulessize (d). - ⏰ Timeline — View recent activity across all projects (
t).
| Key | Action |
|---|---|
/ |
Search repositories (Fuzzy) |
f |
Filter (Cycle: All / Dirty / Clean) |
s |
Cycle Sort Mode |
1–4 |
Sort by: Dirty / Name / Branch / Recent |
Enter |
Open repo in Editor |
c |
Clear search & filters |
r |
Rescan directories |
g |
Toggle Contribution Graph |
d |
Toggle Disk Usage view |
t |
Toggle Timeline view |
q |
Quit |
Edit workspace location and code editor of your choice in ~/.config/git-scope/config.yml:
# ~/.config/git-scope/config.yml
roots:
- ~/code
- ~/work/microservices
- ~/personal/experiments
ignore:
- node_modules
- .venv
- dist
editor: code # options: code,nvim,lazygit,vim,cursorI work across dozens of small repositories—microservices, dotfiles, and side projects. I kept forgetting which repos had uncommitted changes or unpushed commits.
My mornings used to look like this:
cd repo-1 && git status
cd ../repo-2 && git status
# ... repeat for 20 reposI built git-scope to solve the "Multi-Repo Blindness" problem. It gives me a single screen to see what is dirty, what is ahead/behind, and where I left off yesterday.
- Background file watcher (real-time updates)
- Quick actions (bulk pull/fetch)
- Repo grouping (Service / Team / Stack)
- Custom team dashboards
MIT © Bharath-code
