# CONTRIBUTING We'd be glad for you to contribute to our source code and to make this project better! Feel free to submit a pull request or an issue, but make sure to use the templates It is **required to follow** the **`Language Style`** rules. It is **recommended to follow** the **`Commit Message Convention`** and **`Pull Request Convention`** **but not required**. ## Language Style Files of different languages should be checked locally according to the following conventions Commits should be made after all checks pass ### Rust Run `cargo fmt`(rustfmt) to format the code. Run `cargo clippy` to lint the code. Follow the official [naming convention](https://rust-lang.github.io/api-guidelines/naming.html). ### Shell Use `shellcheck` default configuration to check ## Commit Message Convention Each commit should contain relatively independent change (that is, a hodgepodge of multiple types of modifications is not allowed to be submitted in one commit), and the specific changes need to be clarified in the message The commit message conventions of this project mainly refers to the most widely used [AngularJS Git Commit Message Conventions](https://docs.google.com/document/d/1QrDFcIiPjSLDn3EL15IJygNPiHORgU1_OOAqWjiDU5Y/edit#heading=h.uyo6cb12dt6w) Here is the message format: > `(): ` > > // blank line > > `` > > // blank line > > `