← Back
romancitodev

romancitodev/cargo-pretty

A cargo build wrapper with a live, animated status view

View on GitHub ↗https://crates.io/crates/cargo-pretty-build ↗
cargocargo-subcommandrustrust-clirust-communityrust-craterust-langrust-library
Stars
295
Forks
1
Watchers
295
Open issues
2
Contributors
3
Language
Rust
License
MIT License
Default branch
main
Created Sep 7, 2026Updated Sep 13, 2026

Star growth

Today—
This week—
This month—

Star history will appear here once this repo has been tracked for a couple of days.

README

cargo-pretty

Check Format and Code Quality license

demo

Cargo's own build output does the job. This does it prettier: a live status view for build, run and test, showing which crates (or tests) are running right now, how long each one took, and a progress bar driven by cargo's real unit graph instead of a guess.

💔 Renamed from cargo-pretty-build. One binary now, not one per verb. Had the old one installed? cargo uninstall cargo-pretty-build, install this, and swap cargo pretty-build for cargo pretty build. Bare cargo pretty still means build, so most of your muscle memory survives.

Install

cargo install cargo-pretty-build      # from crates.io
cargo binstall cargo-pretty-build     # prebuilt, from GitHub releases
cargo install --git https://github.com/romancitodev/cargo-pretty  # straight from source

The crate is still called cargo-pretty-build (it was already published under that name), only the binary it installs is cargo-pretty.

Usage

cargo pretty                              # cargo build
cargo pretty build --release
cargo pretty run --bin server -- --port 8080
cargo pretty test

Everything after the verb goes straight to the matching cargo command. For run, args after -- land in your binary, not cargo. For test, args after -- land in the test harness (--no-fail-fast, a name filter, whatever you need).

What you get

  • 🛠️ Up to six crates (or tests) in flight at once, each with its own timer, older entries fading out as newer ones start
  • 📊 A progress bar reading cargo's real unit count (via its own --unit-graph), not an estimate
  • ⚠️ Warnings collected into a browsable panel (↑↓ move, Enter expand, Esc dismiss) instead of scrolling past them
  • ❌ Failed tests get the same treatment, always visible instead of vanishing once the run ends: ↑↓ to pick one, Enter to see the panic
  • ✅ A short summary on exit: time elapsed, libs compiled or tests passed, disk used
  • 💌 Feed it a verb it doesn't know and it takes it personally

Testing

Testing was upgraded to provide a better output experience. Now, when a test fails, the output will include diff-coloring for assert! and assert_eq! panics, making it easier to identify what went wrong. Additionally, you can expand the information of a specific test by pressing Enter, and if you want to retry the test, simply press r. This makes debugging and iterating on tests much more efficient and user-friendly.

testing

Star History

Star History Chart

Built on

The rendering runs on nobubbles, a TUI library from the same author.

License

MIT, see LICENSE.