Skip to content

cs50victor/fast-rust-dev

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

frd — fast rust dev

Interactive optimizer for local Rust builds.

frd reads your machine and project, then walks you through build-speed and target/-shrinking changes one at a time. Accept or skip each; it changes nothing without your approval.

Install

Prebuilt binary (no compile), via cargo-binstall:

cargo binstall frd

From source:

cargo install frd

Or download a binary directly: each GitHub release ships macOS (Apple Silicon + Intel), Linux (x86_64 + arm64), and Windows (x86_64) builds.

Usage

Run it inside a Cargo project (or anywhere, for the global suggestions):

frd              # report, then the interactive wizard
frd report       # print the system and project report, then exit
frd doctor       # audit which optimizations are applied; exit non-zero if any are pending
frd --dry-run    # show every change as a diff, write and run nothing
frd --yes        # accept every applicable suggestion without prompting
frd --root DIR   # operate on DIR instead of the current directory

Each suggestion is a card: why it helps, the exact diff, and a color for what it optimizes (disk, speed, or both). Choose Accept, Skip, or Quit. Installs and sweeps stream their output, then fold to one line when they finish.

What it can change

Every edit preserves your comments and ordering, and copies the file to a timestamped .frd-bak-* backup first.

  • ~/.cargo/config.toml — a shared target-dir so repos and git worktrees stop duplicating target/; on nightly, no-embed-metadata; route rustc through sccache once it is installed.
  • ./Cargo.toml profilesdev debug as line-tables-only, optimized dependencies, a disk-light fast-build profile, release strip = true, and on macOS split-debuginfo = "unpacked".
  • ./.cargo/config.toml — on nightly, parallel-frontend and share-generics rustflags, kept project-local so they do not override a repo's own flags.
  • Tools — install sccache, cargo-sweep, and cargo-machete (preferring cargo-binstall when present), and sweep stale build artifacts.

License

MIT. See LICENSE.

About

Interactive CLI that tunes Rust build speed and disk usage via cargo config and Cargo.toml

Topics

Resources

License

Stars

Watchers

Forks

Contributors