When you work across multiple projects and directories, it's easy to
lose track of which repositories have uncommitted changes, which ones
need to be pushed, or which ones have diverged from remote.
That's why I built check-projects --- a fast CLI tool that gives
you a unified overview of all your git repositories in a single
command.
tldr; https://github.com/uralys/check-projects
The Problem
My work is spread across several directories:
- Uralys projects →
~/Projects/uralys - Nomodata projects →
~/Projects/uralys - Alterego projects →
~/Projects/alterego
Running git status or git fetch manually in each folder is slow and error-prone. I
wanted one tool to scan everything and tell me what needs attention.
Quick Start
Install
curl -fsSL https://raw.githubusercontent.com/uralys/check-projects/main/install.sh | sh
This installs a single binary compatible with macOS, Linux, and Windows.
Configure
Create a config file at ~/check-projects.yml:
categories:
- name: uralys
root: ~/Projects/uralys
- name: alterego
root: ~/Projects/alterego
ignore:
- "*-deprecated"
check-projects will automatically scan these directories for git
repositories.
Run
check-projects
Example output:
✔ alterego
x uralys
* M www
⬆ flying-ones
✱ ✚ avindi
Understanding the Symbols
-
✔--- Clean (in sync with remote) -
⬆--- Ahead of remote (push needed) -
⬆⬆--- Diverged from remote -
* M--- Modified files -
* D--- Deleted files -
✱ ✚--- Untracked files
Two Modes
1. CLI Mode --- Quick Status Check
check-projects
check-projects -v
check-projects --category uralys
check-projects --fetch
2. TUI Mode --- Interactive Interface
check-projects --tui
From this interface, you can navigate between projects, see detailed
status, and press f to fetch from remote on the selected project.
Thanks for reading, see you around!
As always, feel free to comment on parts you need more explanations for, or share your thoughts on how you would have handled the parts you disagree with.
Full documentation: https://github.com/uralys/check-projects

Top comments (0)