# Contribution guidelines
First off, thank you for considering contributing to webfinger-rs
If your contribution is not straightforward, please first discuss the change you wish to make by
creating a new issue before making the change.
## Reporting issues
Before reporting an issue on the [issue tracker](https://github.com/joshka/webfinger-rs/issues),
please check that it has not already been reported by searching for some related keywords.
## Pull requests
Try to do one pull request per change.
## Commit Message Format
This project adheres to [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/).
A specification for adding human and machine readable meaning to commit messages.
### Commit Message Header
```plain
<type>(<scope>): <short summary>
│ │ │
│ │ └─⫸ Summary in present tense. Not capitalized. No period at the end.
│ │
│ └─⫸ Commit Scope
│
#### Type
| `feat` | Features | A new feature |
| `fix` | Bug fixes | A bug fix |
| `docs` | Documentation | Documentation-only changes |
| `style` | Styles | Changes that do not affect code meaning |
| `refactor` | Code refactoring | A change that neither fixes a bug nor adds a feature |
| `perf` | Performance improvements | A change that improves performance |
| `test` | Tests | Adding missing tests or correcting existing tests |
| `build` | Builds | Build system or dependency changes |
| `ci` | Continuous integrations | CI configuration or script changes |
| `chore` | Chores | Other changes that do not modify `src` or test files |
| `revert` | Reverts | Reverts a previous commit |
## Developing
### Set up
This is no different than other Rust projects.
```shell
git clone https://github.com/joshka/webfinger-rs
cd webfinger-rs
cargo test
```
### Useful Commands
- Run Clippy:
```shell
cargo clippy --all-targets --all-features --workspace
```
- Run all tests:
```shell
cargo test --all-features --workspace
```
- Check to see if there are code formatting issues
```shell
cargo fmt --all -- --check
```
- Format the code in the project
```shell
cargo fmt --all
```