# Contributing to glam Thanks for contributing to `glam`! These guidelines will try to make the process painless and efficient. The short guide to contributing is [start a discussion] on GitHub. Pull requests are welcome for bug fixes, documentation improvements and optimizations. For anything else it would be best to discuss it first. ## Questions If you have a question about the usage of this library please [ask a question] with GitHub Discussions. That's the easiest way to get support right now. ## Bugs If you find a bug please [open an issue] on GitHub or submit a pull request. A unit test for any bug that slipped through existing coverage would also be greatly appreciated. ## New functions and methods If `glam` is missing functionality on existing types, [suggest a new feature] with GitHub Discussions describing what feature you would like added and ideally what your use case is for it just so I have a better understanding of the feature. I'd like to keep `glam` reasonably light functionality wise initially but commonly used functionality that is missing is very welcome. If you do submit a pull request please ensure any new functionality also has a test. ## Optimizations If you feel some functionality could be optimized please [open an issue] on GitHub or submit a pull request. Any optimization pull request should include a benchmark if there isn't one already, so I can confirm the performance improvement. ## Documentation If you feel any documentation could be added or improved please [open a GitHub issue] or submit a pull request. ## Code contributions Most of `glam`'s source code is generated. See the [codegen README] on how to modify the code templates and generate new source code. You can run some of `glam`'s test suite locally by running the `build_and_test_features.sh` script. It's worth running that before creating a PR. Also run `cargo fmt` and `cargo clippy` on any new code. [start a discussion]: https://github.com/bitshifter/glam-rs/discussions/new [open an issue]: https://GitHub.com/bitshifter/glam-rs/issues/new [ask a question]: https://github.com/bitshifter/glam-rs/discussions/new?category=q-a [suggest a new feature]: https://github.com/bitshifter/glam-rs/discussions/new?category=ideas [codegen README]: codegen/README.md