From e5ea7c24a9618ee6b83a42ec2c914e7c0bde435a Mon Sep 17 00:00:00 2001 From: Max Hoffmann Date: Mon, 9 Oct 2017 14:16:03 -0400 Subject: [PATCH] Code of Conduct and some basic contribution guidelines --- CODE_OF_CONDUCT.md | 73 ++++++++++++++++++++++++++++++++++++++++++++++ CONTRIBUTING.md | 59 +++++++++++++++++++++++++++++++++++++ README.md | 6 +--- 3 files changed, 133 insertions(+), 5 deletions(-) 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 00000000..30f74c5d --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,73 @@ +# Contributor Covenant Code of Conduct + +## 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, gender identity and expression, level of experience, +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 [INSERT EMAIL ADDRESS]. 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 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000..d7bb5900 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,59 @@ +# Contributing to Draggable + +Thank you for contributing to draggable :tada: Any contributions to draggable are +appreciated and encouraged. + +## Table of contents + +1. [Code of Conduct](code-of-conduct) +2. [How to contribute](how-to-contribute) + 1. [Creating issues](creating-issues) + 3. [Opening pull requests](opening-pull-requests) +4. [How to run locally](how-to-run-locally) +3. [Additional information](additional-information) + +## Code of Conduct + +This project and everyone participating in it is governed by the [Code of Conduct document](https://github.com/Shopify/draggable/blob/master/CODE_OF_CONDUCT.md). +By participating, you are expected to uphold this code. Please report unacceptable behaviour to max.hoffmann@shopify.com or curtis.dulmage@shopify.com. + +## How to contribute + +### Creating issues + +Before submitting issues, please have a quick look if there is an existing open issue here: [Issues](https://github.com/Shopify/draggable/issues). If no related issue can be found, +please open a new issue with labels: `bug`, `documentation`, `feature-request` or `question`. + +### Opening pull requests + +Pull requests are more than welcome! Just make sure that to include a description of the problem and how you are attempting to fix the issue, or +simply follow the Pull Request description template. + +We also require Pull Requests to sync with master via rebase (not merge). So when you need to sync up your branch with master use: `git pull --rebase origin master`, +or if you need to sync up with another branch `git pull --rebase origin some-other-branch-name`. Doing so will remove of an extra merge commit in the git history. +This will also require a force push to the branch, e.g. `git push -u origin +some-branch`. The `+` in the last command indicates that you are force pushing changes. + +Additionally we require commits to be atomic and squashed where needed. This will keep the git history clean on master. To squash commits use the `git rebase -i @~2` +command to do an interactive rebase. This will allow you to merge multiple commits into one. To read up more on this please visit: [Git Tools Rewriting History](https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History) + +## How to run locally + +Here some steps to run draggable locally: + +**via yarn** + +``` +$ cd draggable +$ yarn install +$ yarn test +``` + +**via npm** + +``` +$ cd draggable +$ npm install +$ npm run test +``` + +We are still working on setting up interactive example pages. diff --git a/README.md b/README.md index 4b50a3bc..13d38751 100644 --- a/README.md +++ b/README.md @@ -424,11 +424,7 @@ sortable.on('snap:out', () => console.log('snap:out')); Contributions are more than welcome, the code base is still new and needs more love. -1. Clone the repo: `git clone https://github.com/Shopify/draggable.git` -2. `cd draggable` -3. `yarn install` or `npm install` -4. Run tests with `yarn test` or `npm run test` -5. Submit PR +For more information, please checkout the [contribution document](https://github.com/Shopify/draggable/blob/master/CONTRIBUTION.md). ## Roadmap