Summary
Replace the .cargo/config.toml alias table with a Justfile using just — a cross-platform command runner widely used in the Rust ecosystem.
Motivation
Cargo aliases only support cargo subcommands. Chaining commands (e.g. cargo ci = lint + test + deny) requires shell escaping via !, which is an unimplemented feature request (rust-lang/cargo#6575). The existing ci and setup aliases are silently broken as a result.
just solves this cleanly and is already the standard in the Rust ecosystem (used by tokio, axum, embassy, etc.).
Scope
- Delete
.cargo/config.toml — all aliases migrate to Justfile
- Create
Justfile with recipes: setup, check, lint, test, deny, ci
- Install
just via apt-get in postCreateCommand
- Replace
git config core.hooksPath .githooks in postCreateCommand with just setup
Acceptance criteria
Summary
Replace the
.cargo/config.tomlalias table with aJustfileusingjust— a cross-platform command runner widely used in the Rust ecosystem.Motivation
Cargo aliases only support cargo subcommands. Chaining commands (e.g.
cargo ci = lint + test + deny) requires shell escaping via!, which is an unimplemented feature request (rust-lang/cargo#6575). The existingciandsetupaliases are silently broken as a result.justsolves this cleanly and is already the standard in the Rust ecosystem (used by tokio, axum, embassy, etc.).Scope
.cargo/config.toml— all aliases migrate toJustfileJustfilewith recipes:setup,check,lint,test,deny,cijustviaapt-getinpostCreateCommandgit config core.hooksPath .githooksinpostCreateCommandwithjust setupAcceptance criteria
just ciruns clippy, tests, and deny in sequence and fails fast on first errorjust setupconfigures git hooksjustautomatically on creation