Repository navigation
The first BeautifulRust release with outside contributions. Huge thanks to @mvanhorn, who sent both of this release's headline features.
Every lint is now proven to fire
lints/check/ is a small crate with one deliberate violation for each of the 28 lints in the drop-in config, and scripts/check-lints.sh runs clippy on it. It fails if a lint goes quiet, if anything unexpected fires, or if the published table drifts from the tested one. CI runs it on every push and pull request, so the lints config can't silently rot.
It already caught a real problem: clippy silently disables allow_attributes and allow_attributes_without_reason for any crate whose rust-version is below 1.81, because those crates can't use #[expect]. If your MSRV is older, those two lints were never on. The config and README now say so.
The skills are checked in CI
scripts/check-skill.py validates every skill's frontmatter and links, every eval case, and the plugin manifests, using only Python's standard library. It runs on every push and pull request, so a broken skill can't ship.
Also
- Four more lints:
redundant_clone,rc_buffer,string_add, andwildcard_imports. rust-best-practicesis back under the 500-line skill guidance, with no rules removed.- CI uses
actions/checkout@v7with read-only permissions.
Full details are in the changelog. Update a Claude Code install with claude plugin update beautiful-rust; for other agents, re-run your install command.
Want to contribute? CONTRIBUTING.md has the one rule: every rule needs a published source.