A fast TUI dashboard to view the git status of all your repositories in one place. Stop the
cd->git statusloop.
git-scope is designed to be safe to run frequently and safe to recommend.
- Safe by default β dashboard mode is read-only; write actions are explicit commands
- Local-first β no network access, no telemetry, no accounts
- Predictable β no background services or daemons
- Conservative scope β focused on visibility, not automation
These choices make git-scope suitable for daily use and work environments where reliability and transparency matter.
Get started in seconds.
brew tap echaouchna/homebrew-tap && brew install --cask git-scopebrew upgrade --cask git-scopego install github.com/echaouchna/git-scope/cmd/git-scope@latestIf you find this useful, please consider giving it a β star to help others find it!
Simply run it in any directory containing your projects:
git-scopegit-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 standup # Multi-repo standup summary (default: 24h, all branches)
git-scope standup 3d # Multi-repo standup for last 3 days
git-scope standup 3d --current-branch # Limit commits to current branch only
git-scope standup 3d --author "Jane Doe" # Show commits for one author
git-scope pull-rebase # Run git pull --rebase in all discovered repos
git-scope switch main # Run git switch main in all discovered repos
git-scope create-branch feat/x # Run git switch -c feat/x in all discovered repos
git-scope merge-no-ff release/x # Run git merge --no-ff release/x in all discovered repos
git-scope issue # Open GitHub issues page in browser
git-scope -h # Show helpBy default, it recursively scans the current directory. You can configure permanent root paths later.
- 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 |
| Search | Find repo by name/branch | β |
| Integration | Press Enter to open editor |
Press Enter to stage files |
| Performance | ~10ms startup (cached) | Slower on large monorepos |
- π Workspace Switch β Switch root directories without quitting (
w). Supports~, relative paths, and symlinks. - π Fast Search β Find repos by name 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. - π Open Project Menu β Open the selected repo with Neovim, GitUI, Tig, Tig (
--all), or VS Code (tools shown only when installed). - π Searchable Open Menu β Open options can be filtered by typing and are scrollable (
β/β,PgUp/PgDn). - β Selection Workflow β Select/deselect repos inline (
Space), with select/deselect-all (Ctrl+A) for filtered results. - βοΈ In-TUI Git Actions β Action menu with keyboard navigation and branch autocomplete (
a). - π¦ Batch Actions β Run actions on selected repos; if none are selected, runs on the highlighted repo.
- πΏ Common Branch Suggestions β For
switch(and merge suggestions), branch autocomplete only suggests branches common across targets. - π Action Logs On Demand β Logs are available through the
lshortcut from the dashboard or Git Actions modal. - π Background File Watcher β Real-time status refresh updates dirty/staged/untracked signals as files change.
- β‘ Blazing Fast β JSON caching ensures ~10ms launch time even with 50+ repos.
- π Dashboard Stats β See branch name, staged/unstaged counts, and last commit time.
- π Symlink Support β Symlinked directories resolve transparently (great for Codespaces/devcontainers).
git-scope excels in environments where multi-repo complexity is a daily burden:
- Microservices Management β Quickly verify if all your services are on the correct branch and have no unpushed changes.
- OSS Contribution Tracking β Keep tabs on various upstream forks and personal branches in one view.
- Infrastructure as Code (IaC) β Monitor multiple Terraform/CloudFormation repos for configuration drift or uncommitted edits.
- Context Recovery β Instantly see where you left off after a weekend or a holiday without running
git status20 times.
While many Git tools focus on the micro (committing, staging, diffing), git-scope is built for the macro.
Typical git workflows involve "tunnel vision"βworking deep inside one repository. git-scope provides the "command center" view. It is local-first and blazing fast (<10ms), with optional explicit batch git commands when you want to take action across repositories.
| Key | Action |
|---|---|
w |
Switch Workspace (with Tab completion) |
/ |
Search repositories (name/branch) |
f |
Filter (Cycle: All / Dirty / Clean) |
s |
Cycle Sort Mode |
1β4 |
Sort by: Dirty / Name / Branch / Recent |
Space |
Select/Deselect current repo |
Ctrl+A |
Select/Deselect all filtered repos |
[ / ] |
Page Navigation (Previous / Next) |
Enter |
Open Project Menu |
a |
Open Git Actions modal (supports batch run) |
l |
Open Last Action Logs (from dashboard or actions modal) |
Ctrl+P |
Open Command Palette (search + run commands) |
? |
Show All Shortcuts overlay |
c |
Clear search & filters |
r |
Rescan directories |
q |
Quit |
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
- glob:*.cache
- path:vendor/github.com
- regex:^tmp-
- .venv
- dist
- .terraform
editor: code # any executable command available in PATHNotes:
ignoresupports explicit rule types and defaults to exact name matching:node_modulesorexact:node_modules-> exact directory-name match.glob:*.cache-> directory-name glob match.path:vendor/github.com-> root-relative path/subtree match.regex:^tmp-or/^tmp-/-> regular expression match.- Invalid regex rules are ignored safely.
- Open-project tools (Neovim, GitUI, Tig) appear only if installed on your machine.
standupchecks recent commits across all local branches by default; add--current-branchto limit to current branch only.standupsupports--author "<name>"to filter commit output to a specific contributor.- Use
Ctrl+P(Command Palette) and runStandup (..., all branches)by default, or choosecurrent branchvariants. - Command Palette also autocompletes
Standup ... by <author>entries from active users (last 24h, all branches). - In the open-project menu: type to filter options, use
β/βandPgUp/PgDnto scroll,Enterto run.
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 reposI 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.
- In-app workspace switching with Tab completion
- Symlink resolution for devcontainers/Codespaces
- Background file watcher (real-time updates)
- Quick actions (
pull --rebase,switch,create branch,merge --no-ff)
git-scope provides a fast terminal dashboard that shows the status of many local Git repositories at once. It helps developers regain context across projects without switching directories or running commands repeatedly.
git-scope reduces context switching when working across many Git repositories, such as microservices, tools, or configuration repos. It gives a single overview of repository state so developers can quickly see what needs attention.
Yes. git-scope runs entirely locally, has no telemetry, and dashboard mode is read-only. Write operations are only executed when you explicitly run action commands.
Not entirely. The TUI focuses on visibility and orientation, and there are optional batch commands for standup, pull --rebase, switch, create-branch, and merge --no-ff.
git-scope is designed for multi-repo (polyrepo) workflows. It is not intended to manage monorepos.
git-scope runs on macOS, Linux, and Windows.
Releases are built with GoReleaser and the formula is published to echaouchna/homebrew-tap.
Most git TUIs focus on interacting with a single repository. git-scope focuses on visibility across many repositories with optional explicit multi-repo actions.
MIT Β© echaouchna
Built with these amazing open-source projects:
- Bubble Tea β The TUI framework
- Lip Gloss β Style definitions
- Bubbles β TUI components (table, spinner, text input)
Made with contrib.rocks.