| Crates.io | rusty-repo-context-manager |
| lib.rs | rusty-repo-context-manager |
| version | 1.0.0 |
| created_at | 2025-11-23 01:48:44.583914+00 |
| updated_at | 2025-11-23 01:48:44.583914+00 |
| description | A Rust CLI tool that packages your codebase for LLMs with tree visualization and git integration |
| homepage | https://github.com/RiverDave/rust-cli-tool |
| repository | https://github.com/RiverDave/rust-cli-tool |
| max_upload_size | |
| id | 1945974 |
| size | 184,150 |
A simple Rust CLI tool that packages your codebase for LLMs. It scans directories, shows file contents, and displays a nice tree view of your project structure.
The easiest way to install rusty-repo-context-manager is using Cargo:
cargo install rusty-repo-context-manager
After installation, you can use it directly:
rusty-repo-context-manager .
git clone https://github.com/RiverDave/rust-cli-tool.git
cd rust-cli-tool
cargo build --release
./target/release/rusty-repo-context-manager
Note: Only one path argument is supported.
# Scan current directory
./rusty-repo-context-manager .
# Include only source files
./rusty-repo-context-manager . -i "src/*"
# Exclude build artifacts
./rusty-repo-context-manager . -e "target/*" -e "*.log"
# Save to file
./rusty-repo-context-manager . -o output.txt
# Only include files modified in the last 7 days
./rusty-repo-context-manager . --recent
| Option | Description |
|---|---|
-i, --include |
Include file patterns (e.g., "src/*") |
-e, --exclude |
Exclude file patterns (e.g., "target/*") |
-o, --output |
Save to file instead of stdout |
-r, --recursive |
Recursive scanning (default: true) |
--recent |
Only include files modified within the last 7 days |
| Crate | Purpose |
|---|---|
| clap | Command-line parsing |
| git2 | Git repository operations |
| globset | Pattern matching |
| ptree | Tree visualization |
| chrono | Date/time handling |
The tool uses globset to match patterns against file paths relative to the root you pass.
Rules:
.) are skipped automatically.** matches across directory boundaries.Examples:
# Include only Rust and Markdown sources
./rusty-repo-context-manager . --include 'src/**/*.rs' '**/*.md'
# Exclude build artifacts and logs
./rusty-repo-context-manager . --exclude 'target/**' '**/*.log'
# Combine include + exclude
./rusty-repo-context-manager . --include 'src/**/*.rs' --exclude 'src/generated/**'
# Only recent files (last 7 days)
./rusty-repo-context-manager . --recent
# Combine recent with include patterns
./rusty-repo-context-manager . --recent --include 'src/**/*.rs' --output recent_changes
Gotchas:
dir/** (not just dir/*).If patterns donβt behave as expected, run with no patterns first to view relative paths, then refine patterns.
This project uses GitHub Actions for continuous integration and deployment:
See CI/CD Documentation for detailed information.
# Install dependencies
cargo build
# Run tests
cargo test
# Format code
cargo fmt
# Run lints
cargo clippy
# Build release binary
cargo build --release
Or use the provided Makefile:
make help # Show all available commands
make check # Run all checks
make all # Run all checks and build
MIT License - see LICENSE file.