# Quality
To ensure the quality of the crate, we use some helpers:
```bash
# Install tool `cargo fmt`
rustup component add rustfmt
# Install tool `cargo clippy`
rustup component add clippy
## # Install tool `cargo semver`
## rustup toolchain add nightly
## cargo +nightly install semverver
# Install tool `cargo geiger`
cargo install cargo-geiger
# Install tool `cargo outdated`
cargo install cargo-outdated
```
## Commit
First, run these commands:
```
# Mandatory
cargo fmt
cargo clippy
cargo outdated
# Fun
cargo geiger
```
If clippy doesn't print out anything, then do these commands:
```
git add .
git commit
git push
```
## Publish
After a commit meant for publish, do:
```
cargo outdated
# cargo semver
cargo package
```
Only if no warnings or errors are found, do `cargo publish`.