https://github.com/bharath-code/git-scope
A fast TUI to see the status of all git repositories on your machine.
https://github.com/bharath-code/git-scope
bubbletea cli command-line devtools git git-dashboard-nvim git-status git-tools git-tui go golang microservices productivity repo-manager terminal-ui tui workspace
Last synced: 16 days ago
JSON representation
A fast TUI to see the status of all git repositories on your machine.
- Host: GitHub
- URL: https://github.com/bharath-code/git-scope
- Owner: Bharath-code
- License: mit
- Created: 2025-12-08T09:08:05.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2025-12-19T05:31:17.000Z (24 days ago)
- Last Synced: 2025-12-20T10:52:01.567Z (23 days ago)
- Topics: bubbletea, cli, command-line, devtools, git, git-dashboard-nvim, git-status, git-tools, git-tui, go, golang, microservices, productivity, repo-manager, terminal-ui, tui, workspace
- Language: Go
- Homepage: https://bharath-code.github.io/git-scope/
- Size: 8.34 MB
- Stars: 33
- Watchers: 1
- Forks: 3
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# git-scope
> **A fast TUI dashboard to view the git status of *all your repositories* in one place.** > Stop the `cd` β `git status` loop.
[](https://goreportcard.com/report/github.com/Bharath-code/git-scope)
[](https://github.com/Bharath-code/git-scope/releases)
[](https://opensource.org/licenses/MIT)
[](https://github.com/Bharath-code/git-scope/stargazers)
[](https://buymeacoffee.com/iam_pbk)

---
## β‘ Installation
Get started in seconds.
### Homebrew (macOS/Linux)
```bash
brew tap Bharath-code/tap && brew install git-scope
````
### Update
```bash
brew upgrade git-scope
````
### Universal Installer (macOS/Linux)
```bash
curl -sSL https://raw.githubusercontent.com/Bharath-code/git-scope/main/scripts/install.sh | sh
```
### From Source (Windows)
```bash
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:
```bash
git-scope
```
#### Commands
```bash
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`:
```yaml
# ~/.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:
```bash
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
- [x] In-app workspace switching with Tab completion
- [x] 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](https://github.com/Bharath-code)
---
## π Acknowledgements
Built with these amazing open-source projects:
- [Bubble Tea](https://github.com/charmbracelet/bubbletea) β The TUI framework
- [Lip Gloss](https://github.com/charmbracelet/lipgloss) β Style definitions
- [Bubbles](https://github.com/charmbracelet/bubbles) β TUI components (table, spinner, text input)
---
## β Star History
---
## π₯ Contributors
Made with [contrib.rocks](https://contrib.rocks).