Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Introduction

crates.io docs.rs CI license

Runi is a collection of small, composable Rust libraries for building reliable infrastructure and CLI tools. Each crate is scoped to a single concern and can be used on its own or combined with the rest of the set.

CratePurpose
runi-coreFoundation types + feature-gated bundle that re-exports the rest
runi-logStructured logging with a Uni-style terminal format
runi-cliTerminal color detection and Tint styling helpers
runi-testTest utilities: rstest, pretty_assertions, proptest

Quick install

# Cargo.toml
[dependencies]
runi = { package = "runi-core", version = "0.1" }

[dev-dependencies]
runi-test = "0.1"
use runi::{Error, Result};
use runi::log;

The package = "runi-core" alias lets you write use runi::… at the call site even though the crate ships as runi-core on crates.io. The runi-core page has the full details.

What this book covers

This book is the user guide for Runi — how to install the crates, compose them, and use the major features end to end. For the full API reference, see each crate's page on docs.rs.

Design principles

  • Small, focused crates. Pull in only what you need.
  • Rust-native first. Zero JS toolchain; the docs site itself is built with mdBook.
  • Readable output. Logs and CLI styling default to something a human wants to look at, with structured/JSON fallbacks for machines.
  • Test-friendly. runi-test bundles the fixtures and assertion helpers we reach for on every project.