Here are some things in Rust’s ecosystem that I really like:

  1. The awesome people
  2. Well documented libraries by awesome people
  3. 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.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/or docs/ 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.)

  1. Naming is hard. If you don’t like “giftwrap”, Matthias Endler suggests “tidy”, “neat”, or “lector”.