From d309ea8ac18d9c155c23de254b64648109e6dade Mon Sep 17 00:00:00 2001 From: Ryan Wholey Date: Tue, 17 Apr 2018 20:33:09 -0700 Subject: [PATCH] chore(docs): Add contributing and pr/issue templates (#21) * contributing * first pass * update issue template * update per kyle and bens comments * link contributing from pr template? --- .github/ISSUE_TEMPLATE.md | 26 ++++++++++++ .github/PULL_REQUEST_TEMPLATE.md | 22 ++++++++++ CONTRIBUTING.md | 71 ++++++++++++++++++++++++++++++++ README.md | 2 +- 4 files changed, 120 insertions(+), 1 deletion(-) create mode 100644 .github/ISSUE_TEMPLATE.md create mode 100644 .github/PULL_REQUEST_TEMPLATE.md create mode 100644 CONTRIBUTING.md diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md new file mode 100644 index 0000000..baab27d --- /dev/null +++ b/.github/ISSUE_TEMPLATE.md @@ -0,0 +1,26 @@ + + + +## Current Behavior + + + +## Expected Behavior + + + +## Possible Solution + + +## Steps to Reproduce (for bugs) + + + +## Screenshots (if appropriate): + +## Your Environment + +* SDK version: +* Node version: +* Browser name and version: +* Operating system: \ No newline at end of file diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..fef6ff2 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,22 @@ + + +## Description + + + + + +## How Has This Been Tested? + + + + +## Screenshots (if appropriate): + +## Checklist: + + +- [ ] I have read the [**CONTRIBUTING** document](../CONTRIBUTING.md). +- [ ] I have updated the documentation accordingly. +- [ ] I have added tests to cover my changes. +- [ ] I have run yarn validate to ensure that tests, typescript and linting are all in order. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..18d2647 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,71 @@ +#Contributing + +Thank you for your interest in contributing to Eventbrite's Javascript SDK! + +###Table of Contents +* [Workflow](#workflow) + * [Setup](#setup) + * [Branches](#using-branches-to-submit-changes) + * [Keeping up to date](#keeping-your-local-repo-up-to-date) +* [Creating issues](#creating-issues) +* [Working on and submitting changes](#working-on-and-submitting-changes) + * [Steps to submit](#steps-to-submit) + +## Workflow + +### Setup + +1. This project uses [yarn](https://yarnpkg.com/en/) as a package management system. If you don't have it installed, you can follow the instructions [here](https://yarnpkg.com/lang/en/docs/install/) +1. Fork the repository. [need help?](https://help.github.com/articles/fork-a-repo/) +1. Clone your new forked repository to your local computer +1. Set the Eventbrite repository as your branches upstream branch +`git remote add upstream https://github.com/eventbrite/eventbrite-sdk-javascript.git` +1. Navigate to the root directory of your newly cloned repository +(for mac `cd /path/to/eventbrite-sdk-javascript`) +1. `yarn install` to install local dependencies + +### Using branches to submit changes +To work on changes to the Eventbrite repository, create a new branch on your local repository. `git checkout -b ` + + +### Keeping your local repo up to date +To ensure your branch never gets out of sync with Eventbrite's master, ensure that you have your upstream set properly (see the [Setup](#setup) step) + +1. `git checkout master` (you may have to [stash or commit][stash-docs] your local changes if on a new branch) +1. `git pull upstream master` +1. `git checkout ` +1. `git rebase master` +1. If you've stashed changes, [unstash][stash-docs] them now, otherwise your branch should now be up to date + +Always try to keep your master 'clean' by only pulling changes directly from upstream into your master branch and rebasing those changes onto your working branch. + +It is always a good idea to pull the upstream branch in to your master branch before creating a new feature branch to work from. This will minimize the chances of encountering merge conflicts. + +## Creating Issues +Create issues to file bugs, changes, and proposals. + +Before opening a new issue, please [search][issues] to see if there has been previous discussion about the same feature or issue. If so, please contribute to the discussion there. + +If nothing is found, feel free to [open a new issue][issues] and fill out the issue template to the best of your ability. + +## Working on and submitting changes +When starting on improvements or new features that are non-trivial, it is always a good idea to first discuss the changes you wish to implement by [opening a github issue][issues] before getting started. + +If you've found a bug or feature you'd like to work on in our [github issue tracker][issues], please comment on the issue to let others know that you'd like to work on it. + +While implementing fixes, please try to change as little code as possible. This helps speed up the review process and helps diminish the chance of additional bugs. + +Please try to conform to the coding style of the code base. + +###Steps to submit: + +1. Please ensure that your changes are fully covered by one or more unit test(s). +1. Check to make sure that your changes are documented properly (inline comments for interesting lines, READMEs, etc.) +1. Run `yarn validate` to ensure that all tests pass, the linter is satisfied and your changes are typescript compliant. +1. PR titles must be prefixed by the type of changes the PR contains followed by the scope of what the pr touches. We are following the [angular commit guidelines](https://github.com/angular/angular.js/blob/master/DEVELOPERS.md#-git-commit-guidelines). Please use one of `feat, fix, docs, style, refactor, perf, test, chore` as the prefix. The scope is the the direct product your changes affect. Example: `chore(build): Add encrypted ssh key for semantic-release` because its a chore and it touches the build. + * For multiple scope items, you can comma separate 2 or 3 but if there are more than that please use a `*` instead. +1. Please use a [closing issue keyword](https://help.github.com/articles/closing-issues-using-keywords/) to indicate the issue that your fix addresses in the description section of the pull request template. Example: `fixes #32` to close issue #32 + + +[issues]: https://github.com/eventbrite/eventbrite-sdk-javascript/issues +[stash-docs]: https://git-scm.com/book/en/v1/Git-Tools-Stashing diff --git a/README.md b/README.md index f760749..528f4d4 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ Read more on [getting a token](https://www.eventbrite.com/developer/v3/api_overv ## Contributing -Coming soon... +Contributions are welcome! See [Contributing Guidelines](CONTRIBUTING.md) for more details. ## Project philosophy