1# Contributing to glam 2 3Thanks for contributing to `glam`! These guidelines will try to make the 4process painless and efficient. 5 6The short guide to contributing is [start a discussion] on GitHub. Pull 7requests are welcome for bug fixes, documentation improvements and 8optimizations. For anything else it would be best to discuss it first. 9 10## Questions 11 12If you have a question about the usage of this library please [ask a question] 13with GitHub Discussions. That's the easiest way to get support right now. 14 15## Bugs 16 17If you find a bug please [open an issue] on GitHub or submit a pull request. A 18unit test for any bug that slipped through existing coverage would also be 19greatly appreciated. 20 21## New functions and methods 22 23If `glam` is missing functionality on existing types, [suggest a new feature] 24with GitHub Discussions describing what feature you would like added and 25ideally what your use case is for it just so I have a better understanding of 26the feature. I'd like to keep `glam` reasonably light functionality wise 27initially but commonly used functionality that is missing is very welcome. If 28you do submit a pull request please ensure any new functionality also has a 29test. 30 31## Optimizations 32 33If you feel some functionality could be optimized please [open an issue] on 34GitHub or submit a pull request. Any optimization pull request should include a 35benchmark if there isn't one already, so I can confirm the performance 36improvement. 37 38## Documentation 39 40If you feel any documentation could be added or improved please 41[open a GitHub issue] or submit a pull request. 42 43## Code contributions 44 45Most of `glam`'s source code is generated. See the [codegen README] on how 46to modify the code templates and generate new source code. 47 48You can run some of `glam`'s test suite locally by running the 49`build_and_test_features.sh` script. It's worth running that before creating a 50PR. 51 52Also run `cargo fmt` and `cargo clippy` on any new code. 53 54[start a discussion]: https://github.com/bitshifter/glam-rs/discussions/new 55[open an issue]: https://GitHub.com/bitshifter/glam-rs/issues/new 56[ask a question]: https://github.com/bitshifter/glam-rs/discussions/new?category=q-a 57[suggest a new feature]: https://github.com/bitshifter/glam-rs/discussions/new?category=ideas 58[ARCHITECTURE]: ARCHITECTURE.md 59[codegen README]: codegen/README.md 60