Skip to content

Bharath-code/git-scope

Repository files navigation

git-scope

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

Go Report Card License: MIT GitHub stars Buy Me A Coffee

git-scope Demo


⚡ 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
14 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