Skip to content

A fast TUI to see the status of all git repositories on your machine.

License

Notifications You must be signed in to change notification settings

curtis2point1/git-scope

Β 
Β 

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

Commands

git-scope              # Launch TUI dashboard
git-scope init         # Create config file interactively
git-scope scan         # Scan and print repos (JSON)
git-scope scan-all     # Full system scan from home directory
git-scope issue        # Open GitHub issues page in browser
git-scope -h           # Show help

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).
  • πŸ“„ Pagination β€” Navigate large repo lists with page-by-page browsing ([ / ]). Shows 15 repos per page with a dynamic page indicator.
  • πŸš€ 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
[ / ] Page Navigation (Previous / Next)
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:

  • 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.

About

A fast TUI to see the status of all git repositories on your machine.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 95.7%
  • Shell 4.3%