Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

"Contributing to Rover", aggregate issue #561

Closed
lrlna opened this issue May 21, 2021 · 3 comments
Closed

"Contributing to Rover", aggregate issue #561

lrlna opened this issue May 21, 2021 · 3 comments

Comments

@lrlna
Copy link
Member

lrlna commented May 21, 2021

This issue is encapsulate a few items that we talked about in the past few weeks regarding making Rover more friendly to contribute to.

Documentation items:

  1. Create a CONTRIBUTING.md that includes

    • building Rover from source on various environments
    • this should point people to read ARCHITECTURE.md
    • local workspace good-to-haves (vscode, rust-analyzer, cargo fmt, clippy) and how to set those up to make sure that code written locally will pass CI on remote (for example, not having cargo fmt run on-save in vscode may cause problems)
    • what it looks like to add a command from scratch
      • adding a command in to Rover's src
      • adding an endpoint in rover_client
      • setting up a separate RoverClientError (and when it's necessary to do so)
      • adding a Suggestion and Code to errors (including creating an error file)
      • adding a different output type to RoverStdout
  2. Create ARCHITECTURE.md that includes

    • how our crates work together
    • how we build for alpine (no composition)
    • how our error setup works
    • our thought process on command/flag creation language and how we expect future commands to follow that
    • documentation on rover client
    • how our build process works
    • how our testing works
    • how our build.rs works
  3. cargo xtask Use cargo-xtask for automating builds #388

  4. any sort of cleanup we would like to do in rover_client RFC: Improve architecture of rover-client #142

  5. Adding rust docs to any public facing APIs

  6. Adding the following to public facing crates:

    #![forbid(unsafe_code)]
    #![deny(missing_debug_implementations, nonstandard_style)]
    #![warn(missing_docs, future_incompatible, unreachable_pub, rust_2018_idioms)]
@lrlna lrlna added this to the June 8 milestone May 21, 2021
@ndintenfass
Copy link
Contributor

Probably worth adding to the list is some way to talk about how to do good command design and how we decide whether something should be a top level command vs. a sub-command (along with style guide on when to use a positional vs flagged input).

@EverlastingBugstopper
Copy link
Contributor

@lrlna do you think we can close this and maybe open a new issue for docs stuff? We've done everything in this issue except 4, 5, and 6

@lrlna
Copy link
Member Author

lrlna commented Jun 13, 2021

yea, let's close this!

@lrlna lrlna closed this as completed Jun 13, 2021
This was referenced Jun 22, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants