Zinc Oxide
Documentation
A Rust CLI tool that recursively checks for git projects and reports their statuses.
Zinc Oxide scans directories to find git repositories and displays their current status, showing which repositories have uncommitted changes. It's useful for managing multiple projects and ensuring all your repositories are in a clean state.
Installation
https://github.com/mozart409/zinc_oxide
Usage
Basic usage
zinc_oxide
Searches the current directory recursively for git repositories and reports their status.
Specify a path
zinc_oxide --path /path/to/searchzinc_oxide -p ~/code/
Show individual files
zinc_oxide -f
Shows the specific files that have uncommitted changes.
Show empty repositories
zinc_oxide -e
Includes repositories that have no uncommitted changes in the output.
Combine options
zinc_oxide --path ~/code -f -e
Check Nix flake locks
cargo install --path . --features nixzinc_oxide --path ~/code --flakeszinc_oxide -F -p ~/code/rust/axon-gateway
Recursively discovers directories containing a
flake.nix and checks each one for available
flake.lock updates. The check runs against a throwaway
lock path, so your existing flake.lock files are never
modified. Requires building with the nix Cargo feature
and having the nix CLI on PATH.
Examples
# Search current directory for git repos with changeszinc_oxide# Search a specific directory and show changed fileszinc_oxide --path ~/dev -f# Show all repositories including clean oneszinc_oxide -e# Check Nix flakes for available lock updates
(non-mutating)zinc_oxide -F -p ~/code
Features
- Recursive directory scanning for git repositories
- Status reporting for uncommitted changes
- File-level detail when requested
- Hidden directory filtering
- Bare repository detection and exclusion
-
Optional Nix flake lock-update checker (non-mutating; behind the
nixCargo feature) - Comprehensive test coverage