Skip to content

Bharath-code/git-scope

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

68 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

git-scope

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

Go Report Card GitHub Release 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

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

  • πŸ” 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


πŸ™ Acknowledgements

Built with these amazing open-source projects:

  • Bubble Tea β€” The TUI framework
  • Lip Gloss β€” Style definitions
  • Bubbles β€” TUI components (table, spinner, text input)

⭐ Star History

Star History Chart

πŸ‘₯ Contributors

Made with contrib.rocks.