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 giftwrap
1 subcommand that automatically tries to ensure the Rust library it is executed in is top-notch, i.e.:
Cargo.toml
has- well-formatted authors
- license
- descriptions
- repository OR website OR documentation (more is better)
- Readme file name
- keywords and categories
.gitignore
and.editorconfig
README.md
with- 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”. ↩