Development Tools

cat-development-tools

Tools that provide developer-facing features such as testing, debugging, linting, performance profiling, autocompletion, formatting, and more.

TopicRust Crates
Build System/Package Managercargo
Formatterrustfmt
Linterclippy
Testing Frameworkcargo test (built-in), rstest (for data-driven tests)
Debugginggdb, lldb (often used via IDE integration), cargo-debug
Profilingcargo flamegraph, perf (system profiler)
Documentation Generatorcargo doc
Code Coveragegrcov, tarpaulin
Continuous Integrationoften uses CI platforms directly; no specific Rust crates needed, but xtask can help manage CI tasks
Code Analysiscargo clippy, rust-analyzer (for Language Server Protocol support in IDEs)

See also Rust tools⮳.

Cargo

RecipeCratesCategories
Package Layoutcargocat-development-tools

Rust Compilation

RecipeCratesCategories
Optimize Linkinglldzldcat-compilers
Alternative - mold Linkermoldcat-compilers

Documentation

RecipeCratesCategories
Badgesshield.iocat-development-tools

Formatting

Installation

Versioning

Rust Code Cross-compilation

See also Cross Compiling (Cargo Plugins).

Transpilation into Rust

RecipeCratesCategories
C to Rust Translationc2rustcat-compilers

Other

Useful Utilities

Utilities
fd-find as a more human-friendly alternative to find which, by default, ignores paths listed in things like .gitignore and mimics Vim's smartcase option.
hyperfine as an analogue to the UNIX time command which can do warm-up runs, run the command multiple times to do statistical outlier detection, display a progress bar for the multiple runs, export results to CSV/JSON/etc., parameterize the runs, etc.
miniserve as a simple, easy way to serve up some files or accept some uploads over HTTP.
ripgrep is excellent for fast searching of file contents.
rust-script as a way to quickly write little single-file programs in Rust without having to spin up a whole project.
skim is a Rust clone of fzf with some additional features.
tokei gathers statistics about a codebase (i.e. number of files, lines, lines of code, lines of comments, and lines of blanks, per language).
xd as an alternative to 'xxd' that doesn't have as many features, but renders un-printable characters in a reversible "codepage 437 plus a symbol for NULL" mapping to ensure that all patterns in the visualization of binary files are visible... not just ones that occur in printable characters.