A multiple Git repositories/projects manager with TUI & CLI interfaces
Don't forget to tend your repos!
Installation • Quick Start • Features • Configuration • Documentation
Monitor all your Git repositories at a glance
Note
🚧 Work in Progress
RepoNest is under active development and not yet production-ready. There's still plenty of work to be done before the first stable release. Despite this, you're welcome to try it out and share your feedback!
- Core functionality: scan Git repositories, gather status
- Basic TUI interface with Ratatui
- Basic CLI commands:
list - Configuration file support
- Preset themes for TUI
- Support non-Git projects with specific status info
- More opening actions
- Remote repository status integration (GitHub, GitLab, etc.)
- Performance: smarter and faster scanning, faster status gathering
- Support jujutsu repositories
- ...
- Lightning Fast — Parallel repository scanning with async I/O and multi-threaded Git operations
- Beautiful TUI — Interactive terminal interface built with Ratatui, featuring real-time updates
- Scriptable CLI — Automate workflows with powerful command-line flags
- Smart Discovery — Recursively finds all Git repositories with configurable depth and exclusions
- Rich Insights — Track branches, commits, changes, stashes, and remote status at a glance
- Highly Configurable — TOML-based configuration with sensible defaults
- Zero Dependencies — Single binary, no runtime required
git clone https://github.com/peoxin/reponest.git
cd reponest
cargo install --path .cargo install reponestDownload from Releases
Launch the interactive terminal interface:
# Auto scan all repositories in home directory
reponest
# Scan specific path
reponest ~/projectsNote: To enable o (cd to repository) functionality, source the wrapper script in your shell: examples/shell_wrapper.sh
Perfect for scripts and automation:
# List all repositories
reponest list
# Only find dirty repositories
reponest list --dirty
# Show detailed info for repos in a specific path
reponest list --detail ~/projectsFor more CLI options, run:
reponest --helpRepoNest looks for configuration at:
| Platform | Path |
|---|---|
| Linux/macOS | ~/.config/reponest/config.toml |
| Windows | %APPDATA%\reponest\config.toml |
You can find an example config file at examples/config.toml.
To be added!
Contributions are welcome! Please feel free to submit a Pull Request. See CONTRIBUTING.md for guidelines.
Built with amazing Rust libraries:
- Tokio — Async runtime
- Ratatui — Terminal UI framework
- libgit2 — Git implementation
- Rayon — Data parallelism
Thanks for GitUI and gfold for showing how to build Git related tools in Rust!
- Report Issues
- Discussions
- Star the project if you find it useful!
This project is licensed under the MIT License.