# Contributing to featherstone
Thanks for your interest in contributing! Here's how to get started.
## Building
```bash
cargo build
cargo build --all-features # includes URDF support
```
## Testing
```bash
cargo test --all-features
```
## Linting
```bash
cargo fmt --check
cargo clippy --all-features -- -D warnings -A clippy::too-many-arguments
```
## Pull Request Process
1. Fork the repository and create a branch from `main`.
2. Make your changes. Add tests for new functionality.
3. Ensure `cargo test --all-features` passes.
4. Ensure `cargo clippy` and `cargo fmt --check` are clean.
5. Open a pull request against `main`.
## Code Style
- Run `cargo fmt` before committing.
- Keep clippy warnings clean (except `too-many-arguments`).
- Write doc comments for public items.
- Add tests for new algorithms and bug fixes.
## License
By contributing, you agree that your contributions will be licensed under Apache-2.0.