reponest

Crates.ioreponest
lib.rsreponest
version0.1.0-alpha
created_at2025-12-14 09:54:22.894036+00
updated_at2025-12-14 09:54:22.894036+00
descriptionA TUI/CLI tool for managing multiple git repositories written in Rust.
homepage
repositoryhttps://github.com/peoxin/reponest
max_upload_size
id1984072
size1,324,681
Pei Haoxiang (peoxin)

documentation

README

🪺 RepoNest

A multiple Git repositories/projects manager with TUI & CLI interfaces

Don't forget to tend your repos!

Crates.io Docs.rs License: MIT Rust Version CI Release

Installation • Quick Start • Features • Configuration • Documentation


RepoNest Demo

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

git clone https://github.com/peoxin/reponest.git
cd reponest
cargo install --path .

Using Cargo

cargo install reponest

Pre-built Binaries

Download from Releases

Quick Start

TUI Mode (Default)

Launch the interactive terminal interface:

# Auto scan all repositories in home directory
reponest

# Scan specific path
reponest ~/projects

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
reponest list

# Only find dirty repositories
reponest list --dirty

# Show detailed info for repos in a specific path
reponest list --detail ~/projects

For more CLI options, run:

reponest --help

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

License

This project is licensed under the MIT License.

Commit count: 0

cargo fmt