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”. ↩︎