From 19243bfc9f9e12409006c982bd407ab3b820e786 Mon Sep 17 00:00:00 2001 From: ClementTsang Date: Tue, 28 Apr 2020 22:54:50 -0400 Subject: docs: Add CONTRIBUTING.md --- CONTRIBUTING.md | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 CONTRIBUTING.md (limited to 'CONTRIBUTING.md') diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000..c616a359 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,73 @@ +# Contribution + +If you want to contribute to this project - first of all, thank you! I'm glad to see +interest in it! + +Here are some notes about how to contribute to bottom (structure is based on the official +[Rust contribution guidelines](https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md)): + +- [Feature reports](#feature-reports) +- [Bug reports](#bug-reports) +- [Other types of reports](#other-types-of-reports) +- [Pull requests](#pull-requests) + +## Feature reports + +Feature suggestions can be submitted via [GitHub Issues](https://github.com/ClementTsang/bottom/issues) using the "feature" tag. +Prior to submission, please look to see if this has already been suggested or solved; if it has and is not resolved, +it would be better to comment on the relevant report. + +Within your feature report, try to answer the given prompts - in particular, state the specific feature you want and if possible, +please state why you want this added to the program. + +## Bug reports + +Bug reports can be submitted via [GitHub Issues](https://github.com/ClementTsang/bottom/issues) using the "bug" tag. +Prior to submission, please look to see if this has already been reported or solved; if it has and is not resolved, +it would be better to comment on the relevant report. + +Within your bug report, try to answer the given prompts. Be as specific as possible - describe your bug to the best of your ability, how +to replicate it, and provide information like screenshots, OS and terminal. It can be very useful to help whoever is dealing with the issue! + +## Other types of reports + +For reports/suggestions that don't fit the definition of a feature or bug, try to use the other tags: + +- documentation: If you note a typo, or want to suggest something to do with the documentation of bottom, use this. +- question: If you have a question, and not really a suggestion or request, then use this tag. +- ci, investigative, refactoring: Generally, these are for internal use to track issues in order to manage GitHub Projects, and won't be the appropriate topic for a report. +- other: If your suggestion doesn't fit those categories, then use this. + +## Pull requests + +If you want to help contribute by submitting a PR, by all means, I'm open! In regards to the development process: + +- I develop primarily using _stable_ Rust. That is, whatever is the most up-to-date stable version you can get via running + `rustup update stable`. + +- I use both [clippy](https://github.com/rust-lang/rust-clippy) and [rustfmt](https://github.com/rust-lang/rustfmt) in development (with some settings, see [clippy.toml](./clippy.toml) and [rustfmt.toml](rustfmt.toml)). Note clippy must pass to pass CI. + + - You can check clippy using `cargo +nightly clippy`. + +And in regards to the pull request process: + +- Create a personal fork of the process and PR that, as per the [fork and pull method](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/about-collaborative-development-models). + +- Merge against the `master` branch. + +- If you encounter a merge conflict, I expect you to resolve this via rebasing to `master`. + +- _Ensure your change builds, runs, and works_. Furthermore, state how you checked this, including what platforms you tested on. + +- If your change will result in needing to update documentation, please do so. In particular: + + - Does the README need to be updated to accommodate your change? + + - Does the help action, `?`, need to be updated to accommodate your change? + +- Please ensure that CI passes. If it fails, check to see why it fails! Chances are it's clippy. + +- If all looks good, then request someone with write access (so basically me, [@ClementTsang](https://github.com/ClementTsang)) to give your code a review. If it's fine, then I'll merge! + +- Please use the [pull request template](https://github.com/ClementTsang/bottom/blob/master/.github/pull_request_template.md) to + help you in this process. -- cgit v1.2.3