# terminal_tools_plus_plus
Lightweight Rust utilities for building better CLI tools.
Create clean and interactive terminal experiences with progress bars, spinners, and styled output without heavy dependencies.
---
## Features
- Progress bars with configurable width
- Non-blocking spinners (thread-based)
- Styled logs (OK, ERROR, INFO)
- Terminal utilities (clear screen, banners)
- Typewriter effect for animated text
- Simple and ergonomic API
---
## Installation
```toml
[dependencies]
terminal_tools_plus_plus = "0.2.1"
```
---
## Example Output
```
[INFO] Building project...
[████████░░] 80%
✔ Done
```
---
## Usage
```rust
use terminal_tools_plus_plus::*;
fn main() {
print_banner("CLI PROJECT");
log_status("Starting services...", Status::Info);
let pb = ProgressBar::new(100).set_width(30);
for i in 0..=100 {
pb.draw(i);
std::thread::sleep(std::time::Duration::from_millis(20));
}
pb.finish();
let spinner = Spinner::start("Loading...");
std::thread::sleep(std::time::Duration::from_secs(2));
spinner.stop();
log_status("System ready", Status::Ok);
}
```
---
## Design Goals
- Zero configuration
- No async runtime required
- Works in any Rust CLI project
- Minimal dependencies
---
## Why this crate
Many CLI tools lack clear feedback during execution. This crate helps you:
- Provide visual feedback during long operations
- Improve readability with structured and colored output
- Build tools that feel more modern and responsive
---
## Documentation
Documentation is available on docs.rs.
---
## License
MIT License. Free to use, modify, and distribute.
---
Developed by Fox Team Real