CLI to check git sync status of repos in current directory
npm install @roeus/gitsync


CLI tool that scans directories for git repos and reports their sync status.
Working across multiple git repositories? It's easy to forget uncommitted changes, unpushed commits, or branches without upstreams.
gitsync gives you a quick overview of all repos in a directory so nothing falls through the cracks.
- Detect uncommitted changes
- Track ahead/behind status vs remote
- Find branches without upstream tracking
- Multiple output formats: JSON, table, minimal
- Recursive directory scanning
- Config file support (cosmiconfig)
``bash`
npm install -g @roeus/gitsync
Or build locally:
`bash`
git clone https://github.com/syz51/gitsync.git
cd gitsync
pnpm install
pnpm run build
pnpm link --global
`bash`
gitsync [options] [paths...]
| Flag | Description |
| --------------------- | -------------------------------------------------- |
| -a, --all | Show all repos (not just outstanding) |-f, --format
| | Output: json, table, minimal (default: json) |-q, --quiet
| | Suppress output |-r, --recursive
| | Scan recursively |-d, --depth
| | Max depth (default: 1) |--include-hidden
| | Include hidden directories |--filter
| | Filter: changes,ahead,behind,untracked |--dir
| | Config file search directory |
`bashscan current dir, show only repos with issues
gitsync
Config File
Supports
.gitsyncrc, .gitsyncrc.json, .gitsyncrc.yaml, gitsync.config.js, or package.json field.Example
.gitsyncrc.json:`json
{
"format": "table",
"recursive": true,
"depth": 2
}
`CLI args override config file values.
Output
By default shows repos with issues:
- uncommitted changes
- ahead/behind remote
- no upstream
- untracked branches
$3
`json
[{"name": "repo", "uncommittedChanges": 3, "ahead": 1, ...}]
`$3
`text
REPO BRANCH CHANGES AHEAD BEHIND UNTRACKED
my-repo main 3 1 0 feature-x
`$3
`text
my-repo (main): 3 changes, 1 ahead, [feature-x]
`Requirements
- Node.js >= 24
- git
Development
`bash
git clone https://github.com/syz51/gitsync.git
cd gitsync
pnpm install
pnpm run buildtest locally
pnpm link --global
gitsync
``1. Fork the repo
2. Create a feature branch
3. Make changes
4. Submit a PR
MIT