# Contributing to `state_machine_future` Hi! We'd love to have your contributions! If you want help or mentorship, reach out to us in a GitHub issue, or ping `fitzgen` in [`#rust` on irc.mozilla.org](irc://irc.mozilla.org#rust) and introduce yourself. - [Code of Conduct](#code-of-conduct) - [Building](#building) - [Testing](#testing) - [Automatic code formatting](#automatic-code-formatting) ## Code of Conduct We abide by the [Rust Code of Conduct][coc] and ask that you do as well. [coc]: https://www.rust-lang.org/en-US/conduct.html ## Building ``` $ cargo build ``` ## Testing To run all the tests: ``` $ cargo test ``` ## Automatic code formatting We use [`rustfmt`](https://github.com/rust-lang-nursery/rustfmt) to enforce a consistent code style across the whole code base. You can install the latest version of `rustfmt` with this command: ``` $ cargo install -f rustfmt-nightly ``` Ensure that `~/.cargo/bin` is on your path. Once that is taken care of, you can (re)format all code by running this command: ``` $ cargo fmt ``` The code style is described in the `rustfmt.toml` file in top level of the repo.