Skip to content

Repository files navigation

🔍 Git Uncommitted Scanner (scanrepos)

Python Typer Rich Textual PyPI version License

A high-speed, cross-platform CLI & TUI utility that recursively deep-scans your filesystem to instantly locate Git repositories with pending uncommitted changes.


⚡ Why git-uncommitted-scanner?

Tired of discovering forgotten, uncommitted code changes in scattered workspace folders months later? git-uncommitted-scanner recursively hunts down pending changes across your entire filesystem with asynchronous speed, presenting them in either a clean CLI table or a high-tech interactive Terminal User Interface (TUI).


📦 Installation

Install globally via pip (or pipx for isolated environment management):

pip install git-uncommitted-scanner

🚀 Usage

The package installs a global executable command scanrepos that runs in two distinct modes:

1. Standard CLI Mode

Run a rapid background scan that outputs a styled Rich table listing all uncommitted repositories.

# Scan the current directory
scanrepos

# Scan a specific directory path
scanrepos /path/to/your/projects

2. Interactive TUI Mode (-i)

Launch the Neon-Cyan Terminal User Interface. Navigate repositories with keyboard arrows and spawn a native shell terminal directly inside the highlighted workspace.

# Launch TUI in the current directory
scanrepos -i

# Launch TUI for a specific path
scanrepos -i /path/to/your/projects

TUI Keyboard Controls:

  • o : Spawn native OS terminal (cmd, Terminal.app, gnome-terminal, alacritty, etc.) in the selected repository.
  • r : Trigger an asynchronous re-scan of the target folder.
  • q : Quit the application.

✨ Key Features

  • Asynchronous Deep Scanning: Traverses nested folder structures in worker threads without freezing the user interface.
  • Dual Interface: Choice between concise CLI tabular output and full interactive TUI.
  • High-Tech Neon-Cyan Aesthetics: Built with customized Textual components and Rich console formatting.
  • OS-Aware Terminal Launcher: Select an uncommitted repository in the TUI and instantly launch a native shell running git status inside that folder (supports Windows, macOS, and Linux).
  • Zero Dependencies Bloat: Built purely on Python standard libraries alongside typer, rich, and textual.

🛠️ Technology Stack

  • Core Engine: Python >=3.9, standard subprocess, pathlib.Path
  • CLI Routing: Typer
  • Terminal Formatting: Rich
  • Interactive TUI: Textual
  • Build System: setuptools (PEP 621 compliant)

🤖 Agent Ecosystem & Developer Guidelines

This repository includes a structured multi-agent automation setup for continuous maintenance:

  • AGENTS.md — Mandatory developer & autonomous agent guidelines, zero-fake-progress rules, and PR formatting standards.
  • prompt-bolt.mdGitScanner Bolt ⚡ (Performance & scan speed optimizer prompt).
  • prompt-evo.mdGitScanner Evo 🚀 (Product feature evolution prompt).
  • prompt-pallete.mdGitScanner Palette 🎨 (TUI & CLI UX evolution prompt).
  • .coderabbit.yaml — Assertive automated PR code review rules.
  • Target PR Branch: Dev2Auto

📜 Version History & Release Notes

For a complete record of all updates, bug fixes, and feature additions across releases, please refer to the CHANGELOG.md.


Built with ❤️ by RootDeveloperDS

About

A lightning-fast, cross-platform utility that recursively deep-scans directories to instantly find Git repositories with uncommitted changes.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages