# Contributing to Node-bindgen Thank you for contributing. No matter how large or small, contributions are always welcome. Before contributing, please read [Code of Conduct](CODE-OF-CONDUCT.md) #### Table Of Contents [Assumptions](#assumptions) [Ask a Question](#ask-a-question) [Getting Started](#getting-started) [Contributing](#contributing) ## Assumptions This project uses v5 of Node N-API. Please see following [compatibility](https://nodejs.org/api/n-api.html#n_api_n_api_version_matrix) matrix. Familiarity with - [Rust](https://www.rust-lang.org) - [Node.js](https://nodejs.org/en/docs/) Currently, node-bindgen supports the following platforms: - Linux - MacOs - Windows ## Ask a Question Please open an Issue on GitHub with the label `question`. ## Getting Started - Please follow [README](https://github.com/infinyon/node-bindgen/blob/master/README.md) for installation instructions. ## Contributing ### Report a Bug To report a bug, open an issue on GitHub with the label `bug`. Please ensure the issue has not already been reported. ### Suggest an Enhancement To suggest an enhancement, please create an issue on GitHub with the label `enhancement`. ### Creating pull request - Fork the `node-bindgen` repository to your GitHub Account. - Create a branch, submit a PR when your changes are tested and ready for review If you’d like to implement a new feature, please consider creating a `feature request` issue first to start a discussion about the feature. ### Releasing New Versions When a tagged branch with `v*` is pushed, a new release with that reference will be created and all crates in the workspace will be automatically published to crates.io. See the note below about version management. #### Versioning Version control is handled by the CI workflow using `cargo cvm -x` to check against the `master` or target branch. If the version has not been updated, the CI will error with a message of which crate(s) have outdated versions. If a version is outdated, the developer can run `cargo cvm -f -s [`major`, `minor` or `patch`]` to automatically bump the crate's version. > NOTE: If you run this in the workspace root, it will update all workspace crate versions. If this is not desired, run the command in the crate directory. ### License This project is licensed under the [Apache license](LICENSE-APACHE). Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in Fluvio by you, shall be licensed as Apache, without any additional terms or conditions.