|
| 1 | +# Contributing to TOAST UI |
| 2 | + |
| 3 | +First off, thanks for taking the time to contribute! 🎉 😘 ✨ |
| 4 | + |
| 5 | +The following is a set of guidelines for contributing to TOAST UI. These are mostly guidelines, not rules. Use your best judgment, and feel free to propose changes to this document in a pull request. |
| 6 | + |
| 7 | +## Reporting Bugs |
| 8 | +Bugs are tracked as GitHub issues. Search the list and try to reproduce on [demo](https://nhn.github.io/tui.calendar/latest/tutorial-example00-basic) before you create an issue. When you create an issue, please provide the following information by filling in the template. |
| 9 | + |
| 10 | +Explain the problem and include additional details to help maintainers reproduce the problem: |
| 11 | + |
| 12 | +* **Use a clear and descriptive title** for the issue to identify the problem. |
| 13 | +* **Describe the exact steps which reproduce the problem** in as many details as possible. Don't just say what you did, but explain how you did it. For example, if you moved the cursor to the end of a line, explain if you used a mouse or a keyboard. |
| 14 | +* **Provide specific examples to demonstrate the steps.** Include links to files or GitHub projects, or copy/pasteable snippets, which you use in those examples. If you're providing snippets on the issue, use Markdown code blocks. |
| 15 | +* **Describe the behavior you observed after following the steps** and point out what exactly is the problem with that behavior. |
| 16 | +* **Explain which behavior you expected to see instead and why.** |
| 17 | +* **Include screenshots and animated GIFs** which show you following the described steps and clearly demonstrate the problem. |
| 18 | + |
| 19 | +## Suggesting Enhancements |
| 20 | +In case you want to suggest for TOAST UI Calendar, please follow this guideline to help maintainers and the community understand your suggestion. |
| 21 | +Before creating suggestions, please check [issue list](https://github.com/nhn/tui.calendar/labels/Type:%20Enhancement) if there's already a request. |
| 22 | + |
| 23 | +Create an issue and provide the following information: |
| 24 | + |
| 25 | +* **Use a clear and descriptive title** for the issue to identify the suggestion. |
| 26 | +* **Provide a step-by-step description of the suggested enhancement** in as many details as possible. |
| 27 | +* **Provide specific examples to demonstrate the steps.** Include copy/pasteable snippets which you use in those examples, as Markdown code blocks. |
| 28 | +* **Include screenshots and animated GIFs** which helps demonstrate the steps or point out the part of TOAST UI Calendar which the suggestion is related to. |
| 29 | +* **Explain why this enhancement would be useful** to most TOAST UI users. |
| 30 | +* **List some other applications where this enhancement exists.** |
| 31 | + |
| 32 | +## First Code Contribution |
| 33 | + |
| 34 | +Unsure where to begin contributing to TOAST UI? You can start by looking through these `document`, `good first issue` and `help wanted` issues: |
| 35 | + |
| 36 | +* **document issues**: issues which should be reviewed or improved. |
| 37 | +* **good first issues**: issues which should only require a few lines of code, and a test or two. |
| 38 | +* **help wanted issues**: issues which should be a bit more involved than beginner issues. |
| 39 | + |
| 40 | +## Pull Requests |
| 41 | + |
| 42 | +### Development WorkFlow |
| 43 | +- Set up your development environment |
| 44 | +- Make change from a right branch |
| 45 | +- Be sure the code passes `npm run eslint`, `npm run test` |
| 46 | +- Make a pull request |
| 47 | + |
| 48 | +### Development environment |
| 49 | +- Prepare your machine node and it's packages installed. |
| 50 | +- Checkout our repository |
| 51 | +- Install dependencies by `npm install` |
| 52 | +- Start webpack-dev-server by `npm run serve` |
| 53 | + |
| 54 | +### Make changes |
| 55 | +#### Checkout a branch |
| 56 | +* **master**: PR base branch. merge features, updates for next minor or major release. |
| 57 | +lastest release branch with distribution files. |
| 58 | +- **gh-pages**: API docs, examples and demo |
| 59 | + |
| 60 | +#### Check Code Style |
| 61 | +Run `npm run eslint` and make sure all the tests pass. |
| 62 | + |
| 63 | +#### Test |
| 64 | +Run `npm run test` and verify all the tests pass. |
| 65 | +If you are adding new commands or features, they must include tests. |
| 66 | +If you are changing functionality, update the tests if you need to. |
| 67 | + |
| 68 | +#### Commit |
| 69 | +Follow our [commit message conventions](./docs/COMMIT_MESSAGE_CONVENTION.md). |
| 70 | + |
| 71 | +### Yes! Pull request |
| 72 | +Make your pull request, then describe your changes. |
| 73 | +#### Title |
| 74 | +Follow other PR title format on below. |
| 75 | +``` |
| 76 | + <Type>: Short Description (fix #111) |
| 77 | + <Type>: Short Description (fix #123, #111, #122) |
| 78 | + <Type>: Short Description (ref #111) |
| 79 | +``` |
| 80 | +* capitalize first letter of Type |
| 81 | +* use present tense: 'change' not 'changed' or 'changes' |
| 82 | + |
| 83 | +#### Description |
| 84 | +If it has related to issues, add links to the issues(like `#123`) in the description. |
| 85 | +Fill in the [Pull Request Template](./docs/PULL_REQUEST_TEMPLATE.md) by check your case. |
| 86 | + |
| 87 | +## Code of Conduct |
| 88 | +This project and everyone participating in it is governed by the [Code of Conduct ](CODE_OF_CONDUCT.md). By participating, you are expected to uphold this code. Please report unacceptable behavior to [email protected]. |
| 89 | + |
| 90 | +> This Guide is base on [atom contributing guide](https://github.com/atom/atom/blob/master/CONTRIBUTING.md), [CocoaPods](http://guides.cocoapods.org/contributing/contribute-to-cocoapods.html) and [ESLint](http://eslint.org/docs/developer-guide/contributing/pull-requests) |
| 91 | +
|
| 92 | +[demo]:https://nhn.github.io/tui.calendar/ |
0 commit comments