From c55b06a3d218e19ba1d4b9c5ef7601a87f3f6da2 Mon Sep 17 00:00:00 2001 From: Ziya Suzen Date: Mon, 29 Jan 2024 11:16:21 +0000 Subject: [PATCH] Contributor guide (#363) --- CODE-OF-CONDUCT.md | 3 +++ CONTRIBUTING.md | 37 +++++++++++++++++++++++++++++++++++++ README.md | 2 ++ 3 files changed, 42 insertions(+) create mode 100644 CODE-OF-CONDUCT.md create mode 100644 CONTRIBUTING.md diff --git a/CODE-OF-CONDUCT.md b/CODE-OF-CONDUCT.md new file mode 100644 index 000000000..38e130db8 --- /dev/null +++ b/CODE-OF-CONDUCT.md @@ -0,0 +1,3 @@ +## Community Code of Conduct + +The NATS.Net follows the [CNCF Code of Conduct](https://github.com/cncf/foundation/blob/master/code-of-conduct.md). diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 000000000..dcda13387 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,37 @@ +# Contributing + +Thanks for your interest in contributing! This document contains `nats-io/nats.net.v2` specific contributing details. If you are a first-time contributor, please refer to the general [NATS Contributor Guide](https://nats.io/contributing/) to get a comprehensive overview of contributing to the NATS project. + +## Getting started + +There are there general ways you can contribute to this repo: + +- Proposing an enhancement or new feature +- Reporting a bug or regression +- Contributing changes to the source code + +For the first two, refer to the [GitHub Issues](https://github.com/nats-io/nats.net.v2/issues/new/choose) which guides you through the available options along with the needed information to collect. + +## Contributing Changes + +_Prior to opening a pull request, it is recommended to open an issue first to ensure the maintainers can review intended changes. Exceptions to this rule include fixing non-functional source such as code comments, documentation or other supporting files._ + +Proposing source code changes is done through GitHub's standard pull request workflow. + +If your branch is a work-in-progress then please start by creating your pull requests as draft, by clicking the down-arrow next to the `Create pull request` button and instead selecting `Create draft pull request`. + +This will defer the automatic process of requesting a review from the NATS.Net team and significantly reduces noise until you are ready. Once you are happy with your PR, you can click the `Ready for review` button. + +### Guidelines + +A good pull request includes: + +- A high-level description of the changes, including links to any issues that are related by adding comments like `Resolves #NNN` to your description. See [Linking a Pull Request to an Issue](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue) for more information. +- An up-to-date parent commit. Please make sure you are pulling in the latest `main` branch and rebasing your work on top of it, i.e. `git rebase main`. +- Unit tests where appropriate. Bug fixes will benefit from the addition of regression tests. New features will not be accepted without suitable test coverage! +- No more commits than necessary. Sometimes having multiple commits is useful for telling a story or isolating changes from one another, but please squash down any unnecessary commits that may just be for clean-up, comments or small changes. +- No additional external dependencies that aren't absolutely essential. Please do everything you can to avoid pulling in additional libraries/dependencies as we will be very critical of these. + +## Get Help + +If you have questions about the contribution process, please start a [GitHub discussion](https://github.com/nats-io/nats.net.v2/discussions) or join the [NATS Slack](https://slack.nats.io/). diff --git a/README.md b/README.md index cd79966fe..e42778576 100644 --- a/README.md +++ b/README.md @@ -35,6 +35,8 @@ Check out the [documentation](https://nats-io.github.io/nats.net.v2/) for guides Find us on [slack.nats.io dotnet channel](https://natsio.slack.com/channels/dotnet) +Please also check out the [Contributor Guide](CONTRIBUTING.md) and [Code of Conduct](CODE-OF-CONDUCT.md). + ## Attribution This library is based on the excellent work in [Cysharp/AlterNats](https://github.com/Cysharp/AlterNats)