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
Universal Installer (macOS/Linux)
curl -sSL https://raw.githubusercontent.com/Bharath-code/git-scope/main/scripts/install.sh | sh
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
π Workspace Switch β Switch root directories without quitting (w). Supports ~, relative paths, and symlinks .
π 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).
π Symlink Support β Symlinked directories resolve transparently (great for Codespaces/devcontainers).
β¨οΈ Keyboard Shortcuts
Key
Action
w
Switch Workspace (with Tab completion)
/
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
In-app workspace switching with Tab completion
Symlink resolution for devcontainers/Codespaces
Background file watcher (real-time updates)
Quick actions (bulk pull/fetch)
Repo grouping (Service / Team / Stack)
Custom team dashboards
π License
MIT Β© Bharath-code
π Acknowledgements
Built with these amazing open-source projects:
β Star History
π₯ Contributors
Made with contrib.rocks .