jjaylabs/sweep-git-reposv0.4.6Public
Sweep git repos
You have a folder full of repos and no idea which ones hold work that only exists on your laptop.
Read the full description
This finds them. It walks every git repo under a folder you choose and reports unpushed commits, uncommitted changes, stashes and branches with no upstream, then asks GitHub whether that work is already on origin or in a pull request. That leg uses your existing gh login or the rote github adapter, makes GET calls only, and can be switched off. A repo it cannot read is listed as unknown, not dropped. The only file it writes is a baseline kept outside your repositories, so the next sweep shows what moved. It never writes inside a repository and never fetches.
Before you run it3 local tools
Everything here is checked on your machine when rote inspects the play. This page never learns what you have installed or which credentials you hold.
- ○python3local tool
Requires >=3.9. Run rote play inspect to check your host; unverified versions remain unknown.
- ○gitlocal tool
Must be on your PATH when used. minimum version undeclared.
- ○ghlocal tooloptional
Must be on your PATH when used. minimum version undeclared.
Inputs8, all optional
rote asks for these before running and shows the defaults it will use.
- Base dir
base_dirFolder to sweep. A tilde path like ~/code is expanded to your home folder. Anything else must be a full path, not a relative one.
optionalstringdefault~/Documentsexample~/Documentscustom value allowed - Max depth
max_depthHow many folder levels below base_dir to look for repos, 1 to 6. Keep it small on big trees.
optionalstringdefault3example3custom value allowed - State dir
state_dirWhere to keep the baseline this play compares against. Leave empty to use the play's own run workspace. Nothing is ever written inside a repository either way.
optionalstringexample~/.rote/sweep-git-repos-statecustom value allowed - Emails
emailsExtra addresses that count as yours, comma separated. Your repo-level and global git user.email already count; this is for the other addresses you commit under.
optionalstringexampleyou@work.com, you@users.noreply.github.comcustom value allowed - Only
onlySweep only the repositories whose path under base_dir contains this text, case-insensitive. The baseline still records everything found, so a filtered run cannot make the next full run think the rest disappeared.
optionalstringexamplenohuntcustom value allowed - Max repos
max_reposStop after this many repositories, in path order. 0 means no cap.
optionalstringdefault0example20custom value allowed - Format
formatHow the briefing reads. text is the aligned terminal view, markdown is a table you can paste into a document, json prints the same object the result view carries.
optionalstringdefaulttextexamplemarkdown3 choices
textmarkdownjson
- Github
githubWhich route to use for the GitHub leg, where the play asks about unpushed or upstream-less branches. The value auto tries the gh CLI first when it is signed in to github.com, then the rote github adapter when its token variable is set, and skips the leg with a stated reason when neither is available. The values gh and adapter each insist on one route. The value never turns the GitHub leg off, so the sweep stays entirely local. Every route makes GET calls only.
optionalstringdefaultautoexampleadapter4 choices
autoghadapternever
What it changes
No write operations are declared in this version's manifest.
Credentials remain in the recipient's local rote vault; this page and the publisher never receive them.
Runtime details
- rote CLIversion 0.62.0 or newer
- Servicesnone declared
- Digest
sha256:0f619f5511a50d09802d414e82bcfa01e3bb2c010a27257c9f49e87463657760 - Archive size46130 bytes
- Published2026-09-03T23:19:13.576712+00:00
- Published withrote 0.75.0
Credential values and current readiness remain local. Opening this page never prompts for a credential, opens an authorization browser, or calls a service this play uses.
A play is a published, versioned automation package that runs on your own machine through rote, a free command-line tool. Opening this page installs nothing and runs nothing.