The uutils project reimplements ubiquitous command line utilities in
Rust. Our goal is to modernize the utils, while retaining full
compatibility with the existing utilities.
We are planning to replace all essential Linux tools.
# Why?
C has served us well for decades, but it is time to move on. For new generations of developers, Rust is more appealing — and it brings real, substantive benefits:
- **Memory safety** — eliminates entire categories of bugs without sacrificing performance
- **Cross-platform portability** — the same code runs on Linux, macOS, Windows, Android, FreeBSD, NetBSD, OpenBSD, Solaris, Illumos, Fuchsia, Redox and even WebAssembly
- **Modern tooling** — Cargo, crates.io and a rich ecosystem mean we don't have to reinvent the wheel
- **Easy parallelism** — fearless concurrency built into the language
- **Terrific performance** — on par with or better than C implementations
This is not about fighting the GNU project. It is not primarily about security (GNU coreutils only had 17 CVEs since 2003) or about license debates. It is about **modernizing foundational software** so it can be maintained and improved by the next generation of contributors.
Ubuntu is already [carefully but purposefully adopting](https://discourse.ubuntu.com/t/carefully-but-purposefully-oxidising-ubuntu/56995) uutils coreutils, and Debian is following the same path.
# Projects
# Crates
We maintain a variety of public crates to support our projects,
which are published on [crates.io](https://crates.io/).
- [`ansi-width`](https://github.com/uutils/ansi-width)
- [`num-prime`](https://github.com/uutils/num-prime)
- [`parse_datetime`](https://github.com/uutils/parse_datetime)
- [`platform-info`](https://github.com/uutils/platform-info)
- [`uutils-term-grid`](https://github.com/uutils/uutils-term-grid)
# Contributing
You can help us out by:
- Contributing code
- Contributing documentation
- Reporting bugs (e.g. incompatibilities with GNU utilities)
- Triaging bugs
- [Sponsoring uutils on GitHub](https://github.com/sponsors/uutils)
You can join our [Discord server](https://discord.gg/wQVJbvJ) to discuss or ask anything concerning uutils. We're happy to help you get started with contributing!
# Talks & Media
We did a few talks about this project, see [our talks & media page](/talks).
# Friends of uutils
We collaborate with and build upon many other projects in the Rust
community, either by using or providing crates. We highly recommend
giving these projects a look!
- [`nushell`](https://www.nushell.sh/)
- [`ripgrep`](https://github.com/burntsushi/ripgrep)
- [`eza`](https://github.com/eza-community/eza)