rust-best-practices
Write idiomatic, robust, maintainable Rust. Use this skill whenever you write, review, refactor, debug, or explain Rust code: new crates, modules, functions, structs, traits, error types, async code, unsafe or FFI code, Cargo.toml, tests, or rustdoc. Trigger on any mention of Rust, cargo, crates, .rs files, the borrow checker, lifetimes, traits, clippy, or rustfmt, even when the user does not ask for "best practices" or "idiomatic" code. Synthesized from the Google Rust Style Guide, the Rust API Guidelines, Effective Rust, Rust Design Patterns, and Microsoft's Pragmatic Rust Guidelines.
Pinned to revision a9cdcfa94d13, so it is the text this page describes rather than whatever the author pushed since.
Files
- skills/rust-best-practices/SKILL.md
- skills/rust-best-practices/evals/bevy-arena-regen/case.yaml
- skills/rust-best-practices/evals/bevy-arena-regen/files/Cargo.lock
- skills/rust-best-practices/evals/bevy-arena-regen/files/Cargo.toml
- skills/rust-best-practices/evals/bevy-arena-regen/files/src/lib.rs
- skills/rust-best-practices/evals/bevy-arena-regen/files/tests/arena.rs
- skills/rust-best-practices/evals/bevy-arena-regen/graders/01-builds-and-tests-pass.md
- skills/rust-best-practices/evals/bevy-arena-regen/graders/02-regen-tested-headless.md
- skills/rust-best-practices/evals/bevy-arena-regen/graders/03-system-params-by-value.md
- skills/rust-best-practices/evals/bevy-arena-regen/graders/04-keeps-bevy-prelude.md
- skills/rust-best-practices/evals/bevy-arena-regen/graders/05-plain-data-components.md
- skills/rust-best-practices/evals/bevy-arena-regen/graders/06-ordered-after-damage.md
- skills/rust-best-practices/evals/bevy-arena-regen/graders/07-no-panicking-queries.md
- skills/rust-best-practices/evals/bevy-arena-regen/graders/08-clippy-clean.md
- skills/rust-best-practices/evals/bevy-arena-regen/graders/09-health-never-exceeds-max.md
- skills/rust-best-practices/evals/bevy-arena-regen/graders/10-existing-code-not-rewritten.md
- skills/rust-best-practices/evals/bevy-arena-regen/place-files.sh
- skills/rust-best-practices/evals/bevy-arena-regen/prompt.md
- skills/rust-best-practices/evals/log-summary-cli/case.yaml
- skills/rust-best-practices/evals/log-summary-cli/graders/01-never-panics-on-bad-input.md
- skills/rust-best-practices/evals/log-summary-cli/graders/02-errors-name-the-file.md
- skills/rust-best-practices/evals/log-summary-cli/graders/03-malformed-lines-counted.md
- skills/rust-best-practices/evals/log-summary-cli/graders/04-paths-as-path-types.md
- skills/rust-best-practices/evals/log-summary-cli/graders/05-sorted-and-skipped-count.md
- skills/rust-best-practices/evals/log-summary-cli/graders/06-dependency-ranges.md
- skills/rust-best-practices/evals/log-summary-cli/graders/07-map-based-counting.md
- skills/rust-best-practices/evals/log-summary-cli/graders/08-aggregation-unit-tested.md
- skills/rust-best-practices/evals/log-summary-cli/prompt.md
- skills/rust-best-practices/evals/refactor-inventory-module/case.yaml
- skills/rust-best-practices/evals/refactor-inventory-module/files/inventory.rs
- skills/rust-best-practices/evals/refactor-inventory-module/graders/01-deny-warnings-removed.md
- skills/rust-best-practices/evals/refactor-inventory-module/graders/02-no-rc-refcell-in-api.md
- skills/rust-best-practices/evals/refactor-inventory-module/graders/03-borrowed-param-types.md
- skills/rust-best-practices/evals/refactor-inventory-module/graders/04-error-implements-error.md
- skills/rust-best-practices/evals/refactor-inventory-module/graders/05-no-unwrap-on-fallible-paths.md
- skills/rust-best-practices/evals/refactor-inventory-module/graders/06-getter-renamed.md
- skills/rust-best-practices/evals/refactor-inventory-module/graders/07-bool-param-replaced.md
- skills/rust-best-practices/evals/refactor-inventory-module/graders/08-deterministic-report.md
- skills/rust-best-practices/evals/refactor-inventory-module/graders/09-format-over-concat.md
- skills/rust-best-practices/evals/refactor-inventory-module/graders/10-no-check-then-unwrap.md
- skills/rust-best-practices/evals/refactor-inventory-module/graders/11-changes-listed-with-reasons.md
- skills/rust-best-practices/evals/refactor-inventory-module/graders/12-signature-changes-called-out.md
- skills/rust-best-practices/evals/refactor-inventory-module/place-files.sh
- skills/rust-best-practices/evals/refactor-inventory-module/prompt.md
- skills/rust-best-practices/evals/semver-library-api/case.yaml
- skills/rust-best-practices/evals/semver-library-api/graders/01-implements-fromstr.md
- skills/rust-best-practices/evals/semver-library-api/graders/02-implements-display.md
- skills/rust-best-practices/evals/semver-library-api/graders/03-dedicated-error-type.md
- skills/rust-best-practices/evals/semver-library-api/graders/04-common-traits-derived.md
- skills/rust-best-practices/evals/semver-library-api/graders/05-fields-private.md
- skills/rust-best-practices/evals/semver-library-api/graders/06-rustdoc-with-errors-section.md
- skills/rust-best-practices/evals/semver-library-api/graders/07-doc-examples-use-question-mark.md
- skills/rust-best-practices/evals/semver-library-api/graders/08-precedence-rules-tested.md
- skills/rust-best-practices/evals/semver-library-api/graders/09-no-unwrap-in-library-code.md
- skills/rust-best-practices/evals/semver-library-api/graders/10-eq-hash-agree-with-ord.md
- skills/rust-best-practices/evals/semver-library-api/prompt.md
- skills/rust-best-practices/references/bevy.md
- skills/rust-best-practices/references/effective-rust.md
- skills/rust-best-practices/references/google-rust-style-guide.md
- skills/rust-best-practices/references/microsoft-rust-guidelines.md
- skills/rust-best-practices/references/rust-api-guidelines.md
- skills/rust-best-practices/references/rust-design-patterns.md
Every link opens the file at its source, pinned to the revision this page describes.