Pulse-check every local git repo — dirty trees, unpushed commits, stale branches, and repos with no remote at all.
gitpulse # scan ~/Projects
gitpulse ~ # scan your whole home directory
gitpulse --all # include clean repos
gitpulse --json # machine-readable reportgitpulse walks a directory tree looking for .git directories, then runs the standard git binary against each repository it finds. It is a read-only audit: it never fetches, never writes, and never touches your remotes. It answers one question — what did I forget?
- dirty — staged, modified, untracked, or conflicted files sitting in the worktree
- unpushed — commits ahead of upstream, or a branch that was never pushed at all
- local-only — no remote configured; the repo exists only on this disk
- behind — upstream has commits you have not pulled
- stale — last commit (or a side branch tip) older than
--stale-days(default 90) - empty — a repository with no commits yet
- clean — none of the above (shown with
--all)
Flagged repos sort first by severity, then by how much work is sitting uncommitted.
[ROOT]sets the scan root (default~/Projects,~expands to your home).--max-depth Nlimits how deep the search descends (default 4).--allincludes clean repositories in the report.--hiddenalso descends into dot-directories like.config.--stale-days Nsets the staleness threshold (default 90).--jsonemits a JSON report withroot,summary, andreposfields.--color auto|always|nevercontrols color.autocolors only terminal output, andNO_COLORdisables it unless--color alwaysis set.-hor--helpprints usage.
Build the release binary with Rust and Cargo:
git clone https://github.com/horizzon3507/gitpulse.git
cd gitpulse
cargo build --release
install -Dm755 target/release/gitpulse ~/.local/bin/gitpulsecargo build --release
cargo testgitpulse is written in Rust, has no runtime service, and probes repos by calling the git binary you already have installed. All inspection happens locally; nothing is sent over the network — not even a git fetch.
Apache-2.0