Idea: cargo-giftwrap - giving the gift awesome Rust libraries
Here are some things in Rust’s ecosystem that I really like:
- The awesome people
- Well documented libraries by awesome people
- Automation to help awesome people focus on awesome stuff
I would like to add something to that.
My thoughts so far
cargo-giftwrap
My idea is this: A new cargo giftwrap1 subcommand that automatically tries to ensure the Rust library it is executed in is top-notch, i.e.:
Cargo.tomlhas- well-formatted authors
- license
- descriptions
- repository OR website OR documentation (more is better)
- Readme file name
- keywords and categories
.gitignoreand.editorconfigREADME.mdwith- Code example(s)
- Link to API docs (ideally docs.rs)
- Contribution section
- Has a license
- Has CI integration
- Is documented (
#[deny(missing_docs]) - Passes
clippy - Has unit and/or integration tests
- Has
examples/with code that builds and/ordocs/with guides - Is formatted with
rustfmt(diff == 0)
Running cargo giftwrap will check which of these requirements are and try to add what is missing in an interactive manner. (Ideally, you would run this as a pre-publish hook.)
So far, this is just an idea
If you want to make it real: That’s awesome! Get right on it! (Mentioning me on GitHub, or sending me an email would be great.)
Naming is hard. If you don’t like “giftwrap”, Matthias Endler suggests “tidy”, “neat”, or “lector”. ↩︎