diff --git a/docs/contributing.md b/docs/contributing.md index 6272489dae..d0d95a1110 100644 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -1,7 +1,19 @@ -# How to Contribute +# Contribution Guide -We'd love to accept your patches and contributions to this project. There are -just a few small guidelines you need to follow. +zx is a fully [open-source project](https://github.com/google/zx), which is developing by the community for the community. +We welcome contributions of any kind, including but not limited to: +* Bug reports +* Feature requests +* Code contributions +* Documentation improvements +* Discussions + +https://google.github.io/zx/contribution + +## Community Guidelines + +This project follows [Google's Open Source Community Guidelines](https://opensource.google/conduct/). +In short: all contributors are treated with respect and fairness. ## Contributor License Agreement @@ -15,14 +27,28 @@ You generally only need to submit a CLA once, so if you've already submitted one (even if it was for a different project), you probably don't need to do it again. +## How to Contribute +Before proposing changes, look for similar ones in the project's [issues](https://github.com/google/zx/issues) and [pull requests](https://github.com/google/zx/pulls). If you can't decide, create a new [discussion](https://github.com/google/zx/discussions) topic, and we will help you figure it out. When ready to move on: +* Prepare your development environment. + * Ensure you have Node.js 20+ installed. + * Bash is essential for running zx scripts. Linux and macOS users usually have it installed by default. Consider using [Windows Subsystem for Linux](https://docs.microsoft.com/en-us/windows/wsl/install) or [Git Bash](https://git-scm.com/downloads) if you are on Windows. +* Fork [the repository](https://github.com/google/zx). +* Create a new branch. +* Make your changes. + * If you are adding a new feature, please include additional tests. The coverage threshold is 98%. + * Create a [conventional-commits](https://www.conventionalcommits.org/en/v1.0.0/) compliant messages. +* Ensure that everything is working: + * `npm run fmt` to format your code. + * `npm run test:coverage` to run the tests. +* Push the changes to your fork. +* Create a pull request. + * Describe your changes in detail. + * Reference any related issues if applicable. + ## Code Reviews -All submissions, including submissions by project members, require review. We -use GitHub pull requests for this purpose. Consult -[GitHub Help](https://help.github.com/articles/about-pull-requests/) for more -information on using pull requests. +All submissions, including submissions by project members, require review. We use GitHub pull requests for this purpose. Consult [GitHub Help](https://help.github.com/articles/about-pull-requests/) for more information on using pull requests. -## Community Guidelines +## License -This project follows [Google's Open Source Community -Guidelines](https://opensource.google/conduct/). +The project is licensed under the [Apache-2.0](https://github.com/google/zx?tab=Apache-2.0-1-ov-file#readme) \ No newline at end of file