git-scope
A fast TUI dashboard to view the git status of all your repositories in one place. > Stop the cd → git status loop.


⚡ Installation
Get started in seconds.
Homebrew (macOS/Linux)
brew tap Bharath-code/tap
brew install git-scope
Update
brew upgrade git-scope
From Source (windows)
go install github.com/Bharath-code/git-scope/cmd/git-scope@latest
If you find this useful, please consider giving it a ⭐ star to help others find it!
🚀 Usage
Simply run it in any directory containing your projects:
git-scope
Help
git-scope -h
By default, it recursively scans the current directory. You can configure permanent root paths later.
🆚 git-scope vs. lazygit
- 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 |
✨ Features
- 🔍 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
.git vs node_modules size (d).
- ⏰ Timeline — View recent activity across all projects (
t).
⌨️ Keyboard Shortcuts
| 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 |
⚙️ Configuration
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,cursor
💡 Why I Built This
I 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 repos
I 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.
🗺️ Roadmap
- Background file watcher (real-time updates)
- Quick actions (bulk pull/fetch)
- Repo grouping (Service / Team / Stack)
- Custom team dashboards
📄 License
MIT © Bharath-code