diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..5ea9b53 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,12 @@ +### Proposed changes +Describe the use case and detail of the change. If this PR addresses an issue on GitHub, make sure to include a link to that issue here in this description (not in the title of the PR). + +### Checklist +Before creating a PR, run through this checklist and mark each as complete. + +- [ ] I have read the [CONTRIBUTING](https://github.com/nginxinc/crossplane/blob/master/CONTRIBUTING.md) doc +- [ ] I have added tests that prove my fix is effective or that my feature works +- [ ] I have checked that all unit tests pass after adding my changes +- [ ] I have updated necessary documentation +- [ ] I have rebased my branch onto master +- [ ] I will ensure my PR is targeting the master branch and pulling from my branch from my own fork diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..2d9ce8c --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,75 @@ +# Code of Conduct + +This project and everyone participating in it is governed by this code. + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to making participation in our project and +our community a harassment-free experience for everyone, regardless of age, body +size, disability, ethnicity, sex characteristics, gender identity and expression, +level of experience, education, socio-economic status, nationality, personal +appearance, race, religion, or sexual identity and orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment +include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery and unwelcome sexual attention or + advances +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic + address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or +reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct, or to ban temporarily or +permanently any contributor for other behaviors that they deem inappropriate, +threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. Examples of +representing a project or community include using an official project e-mail +address, posting via an official social media account, or acting as an appointed +representative at an online or offline event. Representation of a project may be +further defined and clarified by project maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by contacting the project team at [mailto:nginx@nginx.org]. All +complaints will be reviewed and investigated and will result in a response that +is deemed necessary and appropriate to the circumstances. The project team is +obligated to maintain confidentiality with regard to the reporter of an incident. +Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good +faith may face temporary or permanent repercussions as determined by other +members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, +available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html + +[homepage]: https://www.contributor-covenant.org \ No newline at end of file diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..48166c5 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,109 @@ +# Contributing Guidelines + +Contributions are welcome, and they are greatly appreciated\! Every +little bit helps, and credit will always be given. + +## Table of Contents + +- [Types of Contributions](#types-of-contributions) +- [Get Started](#get-started) +- [Pull Request Guidelines](#pull-request-guidelines) +- [Tips](#tips) + +### Types of Contributions + +#### Report Bugs + +Report bugs at . + +If you are reporting a bug, please include: + +- Your operating system name and version. +- Any details about your local setup that might be helpful in +troubleshooting. +- Detailed steps to reproduce the bug. + +#### Fix Bugs + +Look through the GitHub issues for bugs. Anything tagged with "bug" is +open to whoever wants to implement it. + +#### Implement Features + +Look through the GitHub issues for features. Anything tagged with +"feature" is open to whoever wants to implement it. + +#### Write Documentation + +crossplane could always use more documentation, whether as part of the +official crossplane docs, in docstrings, or even on the web in blog +posts, articles, and such. + +#### Submit Feedback + +The best way to send feedback is to file an issue at +. + +If you are proposing a feature: + +- Explain in detail how it would work. +- Keep the scope as narrow as possible, to make it easier to +implement. +- Remember that this is a volunteer-driven project, and that +contributions are welcome :) + +### Get Started + +Ready to contribute? Here's how to set up crossplane for local +development. + +1. [Fork](https://github.com/nginxinc/crossplane/fork) the crossplane + repo on GitHub. + +2. Clone your fork locally: + + git clone git@github.com:your_name_here/crossplane.git + +3. Create a branch for local development: + + git checkout -b name-of-your-bugfix-or-feature + + Now you can make your changes locally. + +4. When you're done making changes, check that your changes pass style + and unit tests, including testing other Python versions with tox: + + tox + + To get tox, just pip install it. + +5. Commit your changes and push your branch to GitHub: + + git add . + git commit -m "Your detailed description of your changes." + git push origin name-of-your-bugfix-or-feature + +6. Submit a pull request through the GitHub website. + +### Pull Request Guidelines + +Before you submit a pull request, check that it meets these guidelines: + +1. The pull request should include tests. +2. The pull request should work for CPython 2.6, 2.7, 3.3, 3.4, 3.5, + 3.6, and 3.7 and for PyPy. Check + under pull requests for + active pull requests or run the `tox` command and make sure that the + tests pass for all supported Python versions. +3. Make sure to add yourself to the Contributors list in AUTHORS.rst :) + +### Tips + +To run a subset of tests: + + tox -e -- tests/[::test] + +To run all the test environments in *parallel* (you need to `pip install +detox`): + + detox diff --git a/README.md b/README.md index 28850c6..03d7740 100644 --- a/README.md +++ b/README.md @@ -21,11 +21,6 @@ - [crossplane.build()](#crossplanebuild) - [crossplane.lex()](#crossplanelex) - [Other Languages](#other-languages) - - [Contributing](#contributing) - - [Types of Contributions](#types-of-contributions) - - [Get Started](#get-started) - - [Pull Request Guidelines](#pull-request-guidelines) - - [Tips](#tips) ## Install @@ -520,110 +515,5 @@ giant JSON string. ## Other Languages - - Ruby port by [@gdanko](https://github.com/gdanko): +- Ruby port by [@gdanko](https://github.com/gdanko): - -## Contributing - -Contributions are welcome, and they are greatly appreciated\! Every -little bit helps, and credit will always be given. - -You can contribute in many ways: - -### Types of Contributions - -#### Report Bugs - -Report bugs at . - -If you are reporting a bug, please include: - - - Your operating system name and version. - - Any details about your local setup that might be helpful in - troubleshooting. - - Detailed steps to reproduce the bug. - -#### Fix Bugs - -Look through the GitHub issues for bugs. Anything tagged with "bug" is -open to whoever wants to implement it. - -#### Implement Features - -Look through the GitHub issues for features. Anything tagged with -"feature" is open to whoever wants to implement it. - -#### Write Documentation - -crossplane could always use more documentation, whether as part of the -official crossplane docs, in docstrings, or even on the web in blog -posts, articles, and such. - -#### Submit Feedback - -The best way to send feedback is to file an issue at -. - -If you are proposing a feature: - - - Explain in detail how it would work. - - Keep the scope as narrow as possible, to make it easier to - implement. - - Remember that this is a volunteer-driven project, and that - contributions are welcome :) - -### Get Started - -Ready to contribute? Here's how to set up crossplane for local -development. - -1. [Fork](https://github.com/nginxinc/crossplane/fork) the crossplane - repo on GitHub. - -2. Clone your fork locally: - - git clone git@github.com:your_name_here/crossplane.git - -3. Create a branch for local development: - - git checkout -b name-of-your-bugfix-or-feature - - Now you can make your changes locally. - -4. When you're done making changes, check that your changes pass style - and unit tests, including testing other Python versions with tox: - - tox - - To get tox, just pip install it. - -5. Commit your changes and push your branch to GitHub: - - git add . - git commit -m "Your detailed description of your changes." - git push origin name-of-your-bugfix-or-feature - -6. Submit a pull request through the GitHub website. - -### Pull Request Guidelines - -Before you submit a pull request, check that it meets these guidelines: - -1. The pull request should include tests. -2. The pull request should work for CPython 2.6, 2.7, 3.3, 3.4, 3.5, - 3.6, and 3.7 and for PyPy. Check - under pull requests for - active pull requests or run the `tox` command and make sure that the - tests pass for all supported Python versions. -3. Make sure to add yourself to the Contributors list in AUTHORS.rst :) - -### Tips - -To run a subset of tests: - - tox -e -- tests/[::test] - -To run all the test environments in *parallel* (you need to `pip install -detox`): - - detox