diff --git a/README.md b/README.md index f3bd6a84a1b53d375ae94800cad102071e68b6f7..cf20b87759707d13f365fc9838ea122afe9feb1f 100644 --- a/README.md +++ b/README.md @@ -158,6 +158,10 @@ If you want a library that gives you absolute control over everything, this is t but for most users, the API provided by nhooyr/websocket will fit better as it is nearly just as performant but much easier to use correctly and idiomatic. +## Contributing + +Please see [docs/CONTRIBUTING.md](docs/CONTRIBUTING.md). + ## Users This is a list of companies or projects that use this library. diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md index 2d9104d16a1920f6ad72f8b88ba7b73be3d92bf0..57197ba1c7d84af02da13e3f29934415fefb2fc8 100644 --- a/docs/CONTRIBUTING.md +++ b/docs/CONTRIBUTING.md @@ -4,18 +4,23 @@ Please be as descriptive as possible with your description. +Reproducible examples are key to fixing bugs and strongly encouraged. + ## Pull requests -Please split up changes into several small descriptive commits. +Good issues for first time contributors are marked as such. Please feel free to +reach out for clarification on what needs to be done. + +Split up large changes into several small descriptive commits. -Please capitalize the first word in the commit message title. +Capitalize the first word in the commit message title. The commit message title should use the verb tense + phrase that completes the blank in > This change modifies websocket to \_\_\_\_\_\_\_\_\_ -Be sure to link to an existing issue if one exists. In general, try creating an issue -before making a PR to get some discussion going and to make sure you do not spend time +Be sure to link to an existing issue if one exists. In general, create an issue +before a PR to get some discussion going and to make sure you do not spend time on a PR that may be rejected. You can run tests normally with `go test`. @@ -25,10 +30,10 @@ In the future this dependency will be removed. See [#117](https://github.com/nho Please ensure CI passes for your changes. If necessary, you may run CI locally. The various steps are located in `ci/*.sh`. -`ci/fmt.sh` requires node (specifically prettier). -`ci/lint.sh` requires [shellcheck](https://github.com/koalaman/shellcheck#installing). -`ci/test.sh` requires the [Autobahn Test suite pip package](https://github.com/crossbario/autobahn-testsuite). -`ci/run.sh` runs everything in the above order and requires all of their dependencies. +- `ci/fmt.sh` requires node (specifically prettier). +- `ci/lint.sh` requires [shellcheck](https://github.com/koalaman/shellcheck#installing). +- `ci/test.sh` requires the [Autobahn Test suite pip package](https://github.com/crossbario/autobahn-testsuite). +- `ci/run.sh` runs everything in the above order and requires all of their dependencies. See [../ci/image/Dockerfile](../ci/image/Dockerfile) for the installation of the CI dependencies on Ubuntu. diff --git a/docs/ISSUE_TEMPLATE.md b/docs/ISSUE_TEMPLATE.md new file mode 100644 index 0000000000000000000000000000000000000000..5f828acbd0d7af5f6100079d403c609972e4ece9 --- /dev/null +++ b/docs/ISSUE_TEMPLATE.md @@ -0,0 +1,2 @@ +<!-- Please read the contributing guidelines. --> +<!-- https://github.com/nhooyr/websocket/blob/master/docs/CONTRIBUTING.md#pull-requests --> diff --git a/docs/PULL_REQUEST_TEMPLATE.md b/docs/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000000000000000000000000000000000000..c58db085376e546330a5cdc929b02b7747a3b9fc --- /dev/null +++ b/docs/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,2 @@ +<!-- Please read the contributing guidelines. --> +<!-- https://github.com/nhooyr/websocket/blob/master/docs/CONTRIBUTING.md#issues -->