Skip to content

Features

The CLI surface, explained

Every section maps to real commands from rusty --help. Jump to a group:

rusty env *

Language & toolchains

Manage Rust toolchains without a second product. Install channels, set defaults, resolve which binary is active, and put shims on PATH.

  • rusty env install stable
  • rusty env use stable
  • rusty env show
  • rusty env which rustc
Illustrative commands (not a benchmark)
$ rusty env install stable
$ rusty env use stable
$ rusty env show
$ rusty env which rustc

init / migrate / lock / fetch / build / test / add / install

Package manager

CAS-backed CARGO_HOME and artifact cache. Scaffold projects, migrate Cargo workspaces, resolve locks, and run the native driver when supported.

  • rusty init my-crate --kind lib
  • rusty migrate --dry-run
  • rusty fetch
  • rusty build
  • rusty test -p api --workspace
  • rusty add serde --vers ^1
Illustrative commands (not a benchmark)
$ rusty init my-crate --kind lib
$ rusty migrate --dry-run
$ rusty fetch
$ rusty build
$ rusty test -p api --workspace
$ rusty add serde --vers ^1

rusty store *

Content store

pnpm-style content-addressable store for blobs, trees, and crates. Deduplicate once; materialize when you need a working tree.

  • rusty store path
  • rusty store stats
  • rusty store put ./artifact
  • rusty store gc --dry-run
  • rusty store crate list
Illustrative commands (not a benchmark)
$ rusty store path
$ rusty store stats
$ rusty store put ./artifact
$ rusty store gc --dry-run
$ rusty store crate list

rusty layers *

Build layers

Per-crate differential cache under .rusty/. Forecast hits and misses before a long build, and explain why a layer key looks the way it does.

  • rusty layers list --profile release
  • rusty layers plan --profile release
  • rusty layers why serde --profile release
Illustrative commands (not a benchmark)
$ rusty layers list --profile release
$ rusty layers plan --profile release
$ rusty layers why serde --profile release

rusty cache *

Build cache

Artifact groups keyed by source digests. Store and restore compiled outputs; wrap rustc via RUSTC_WRAPPER for transparent caching.

  • rusty cache path
  • rusty cache key
  • rusty cache stats
  • rusty cache wrap
Illustrative commands (not a benchmark)
$ rusty cache path
$ rusty cache key
$ rusty cache stats
$ rusty cache wrap

$RUSTY_HOME/bin

Proxy shims

After env use, cargo, rustc, rustdoc and friends are hardlinks to rusty and dispatch to the active toolchain. Override with +toolchain or RUSTY_TOOLCHAIN.

  • export PATH="${RUSTY_HOME:-$HOME/.rusty}/bin:$PATH"
  • cargo +nightly build
  • RUSTY_TOOLCHAIN=stable rustc -vV
Illustrative commands (not a benchmark)
$ export PATH="${RUSTY_HOME:-$HOME/.rusty}/bin:$PATH"
$ cargo +nightly build
$ RUSTY_TOOLCHAIN=stable rustc -vV

rusty workspace *

Workspace monorepo

Large Rust monorepos suck less with first-class member listing, affected sets, reverse dependents, version-drift reports, and test plans.

  • rusty workspace list
  • rusty workspace affected main
  • rusty workspace affected --reverse
  • rusty workspace dependents serde
  • rusty workspace unify
  • rusty workspace test-plan main
Illustrative commands (not a benchmark)
$ rusty workspace list
$ rusty workspace affected main
$ rusty workspace affected --reverse
$ rusty workspace dependents serde
$ rusty workspace unify
$ rusty workspace test-plan main

Ready when you are

Join early access to create an account for product updates. No private builds, SLAs, or guaranteed features at 0.0.1-dev.