Same project. Less waiting.
Rune builds Cargo projects as they are — same manifests, lockfile, flags and plugins — with rustc directly, and adds what Cargo leaves to other tools. Your project keeps working with plain cargo, so trying it costs nothing.
- changes to your project: nothing to migrate, nothing to undo
- 0
- faster than Cargo overall, across 32 measurements
- 2.8×
- Cargo's speed on a fresh checkout of a 25-crate workspace
- 108×
Everything you already have.
Rune reads your existing project and changes nothing about it. Switch back at any time — there is nothing to switch back.
Your manifests
Every compilation-relevant Cargo.toml field, workspaces and inheritance — or the same contents in a Rune.toml, if you ever want one.
Your lockfile
A Cargo-format Cargo.lock, still the source of truth: a fresh one for Rune's own workspace is byte-identical to cargo generate-lockfile's.
Your configuration
The hierarchical .cargo/config.toml, RUSTFLAGS, RUSTC_WRAPPER, rust-toolchain files, profiles, [patch] and source replacement.
Your commands
Cargo's commands and selection flags, the registry workflow from install to publish, and every cargo-<name> plugin on your PATH.
What each does out of the box.
Most of what Rune adds exists for Cargo as separate tools. In Rune it is one binary, sharing one cache.
Where the time goes.
Both run the same compiler, so a cold build and a rebuild after an edit take about as long. Rune wins the moments a build tool is waited on most: finding out nothing changed, switching branches, starting fresh.
- fresh checkout
- 108×
- switching back to a branch
- 34×
- running the tests
- 9×
- faster overall, 32 measurements
- 2.8×
Where Cargo is still ahead.
Rune targets Cargo compatibility, and the list of what it does not do yet is short — and public.
Sparse registries only
Git-based registry indexes, and replacing a source with a git source, are rejected with an explanation.
Credential providers
A plain token and cargo:token-from-stdout work; others, like OS keychains, are not implemented yet.
Windows
Linux and macOS are Rune's home. Windows builds are new and less tested.
Structured diagnostics
Replayed warnings come back as rendered text, not as structured messages.
Try it on your project.
Nothing to migrate and nothing to undo: your project keeps working with plain cargo.
$ curl -fsSL https://www.runepm.com/install.sh | sh