Skip to main content
rusty understands two project layouts so you can adopt incrementally.

rusty-format

Native-first layout: Create with:
Scripts live in rusty.json under "scripts". Lifecycle keys can override or wrap built-in verbs:
  • build, test, lint, format — special lifecycle hooks
  • any other name — run via rusty script <name>
lint and format always go through scripts (there is no built-in clippy/rustfmt driver under those names).

cargo-format

Interop layout for existing Cargo trees: Create with:
Or open an existing Cargo project; rusty detects Cargo.toml without requiring a prior init. Native support for cargo-format is a growing matrix. When a shape is not handled, build / run / check fail with a clear error rather than silently invoking cargo.

Choosing a format

Migrate

Convert Cargo → rusty-format:
Migration writes rusty.json + rusty.lock and removes Cargo files as designed by the migrate tool. Always dry-run on large workspaces first. Full guide: Migrate from Cargo.