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.
-
Fork this repository and create your branch from
master
. -
Clone your forked repository.
git clone https://github.com/{username}/menyoki && cd menyoki
- Make sure that you have Rust
1.49.0-nightly
or later installed and build the project.
cargo build
-
See if the project is built without errors. If not, check if the system dependencies are installed and then go back to step 3.
-
Start committing your changes. You can use
--release
flag in the development phase for avoiding issues related to performance. -
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
cargo fmt --all -- --check --verbose
cargo clippy --verbose -- -D warnings
- If you've committed a change about command line arguments*:
- Regenerate the shell completions. (run
./completions/generate.sh
) - Update the man pages, configuration file and README.md about these changes if necessary.
- Regenerate the shell completions. (run
-
Ensure that you updated the documentation and filled the Pull Request template according to the changes you made.
-
Wait for approval from the project owner/maintainer. Discuss the possible changes and update your Pull Request if necessary.
-
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.
By contributing, you agree that your contributions will be licensed under GNU General Public License v3.0.