Skip to content

Latest commit

 

History

History
59 lines (37 loc) · 2.96 KB

CONTRIBUTING.md

File metadata and controls

59 lines (37 loc) · 2.96 KB

Contributing

Thank you for considering contributing to menyoki!

When contributing, please first discuss the change you wish to make via issue, email, or any other method with the owners of this repository before making a change.

Note that we have a Code of Conduct, please follow it in all your interactions with the project.

Setup

  1. Fork this repository and create your branch from master.

  2. Clone your forked repository.

git clone https://github.com/{username}/menyoki && cd menyoki
  1. Make sure that you have Rust 1.49.0-nightly or later installed and build the project.
cargo build
  1. See if the project is built without errors. If not, check if the system dependencies are installed and then go back to step 3.

  2. Start committing your changes. You can use --release flag in the development phase for avoiding issues related to performance.

  3. Add your tests (if you haven't already) or update the existing tests according to the changes. And check if the tests are passed.

cargo test
# Include the window system tests
cargo test --features test-ws
  1. Make sure rustfmt and clippy don't complain.
cargo fmt --all -- --check --verbose
cargo clippy --verbose -- -D warnings
  1. If you've committed a change about command line arguments*:

Create a Pull Request

  1. Ensure that you updated the documentation and filled the Pull Request template according to the changes you made.

  2. Wait for approval from the project owner/maintainer. Discuss the possible changes and update your Pull Request if necessary.

  3. You may merge the Pull Request once you have the sign-off of the project owner/maintainer, or if you do not have permission to do that, you may request the project owner/maintainer to merge it in case s/he haven't done it after a while.

License

By contributing, you agree that your contributions will be licensed under GNU General Public License v3.0.