🪺 RepoNest
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!
Roadmap
- 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
- ...
Features
- 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
Installation
From Source
Using Cargo
Pre-built Binaries
Download from Releases
Quick Start
TUI Mode (Default)
Launch the interactive terminal interface:
# Auto scan all repositories in home directory
# Scan specific path
Note: To enable o (cd to repository) functionality, source the wrapper script in your shell: examples/shell_wrapper.sh
CLI Mode
Perfect for scripts and automation:
# List all repositories
# Only find dirty repositories
# Show detailed info for repos in a specific path
For more CLI options, run:
Configuration
RepoNest 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.
Documentation
To be added!
Contributing
Contributions are welcome! Please feel free to submit a Pull Request. See CONTRIBUTING.md for guidelines.
Acknowledgments
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!
Support
- Report Issues
- Discussions
- Star the project if you find it useful!
License
This project is licensed under the MIT License.