diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md new file mode 100644 index 0000000..dd8e6ec --- /dev/null +++ b/.github/CONTRIBUTING.md @@ -0,0 +1,56 @@ +# Contribution Guidelines + +PEG.js is an open source project and it welcomes contributions. To make sure +your contributions are useful and the overall process is smooth, please adhere +to these guidelines. + +You can contribute in three main ways: by reporting bugs, requesting features, +and contributing code. + +## Reporting Bugs + +You can report bugs using [GitHub issues][issues]. Before submitting a bug +report, [search the existing reports][issues-search-bugs] to see if the bug +wasn’t reported already. + +Each bug report should contain this information: + + * Steps to reproduce + * What you expected to happened + * What happened instead + +In most cases, it is useful to include a **minimal** example (grammar + input) +reproducing the problem. + +## Requesting Features + +You can request features using [GitHub issues][issues]. Before submitting a +feature request, [search the existing requests][issues-search-enhancements] to +see if the feature wasn’t requested already. + +Each feature request should contain this information: + + * Feature description + * Why do you request it + +## Contributing Code + +You can contribute code using [GitHub pull requests][pulls]. However, for +anything but trivial changes, file an issue first. Your idea may not fit the +project, or the implementation you have in mind may not be the right one. Filing +an issue in these cases will prevent wasting time and effort on both sides. + +Split your change into atomic commits with descriptive commit messages adhering +to [these conventions][git-commit-messages]. Have a look in the commit history +to see good examples. + +When appropriate, add documentation and tests. + +Before submitting, make sure your change passes the specs (`make spec`) and +ESLint checks (`make lint`). + +[issues]: https://github.com/pegjs/pegjs/issues +[issues-search-bugs]: https://github.com/pegjs/pegjs/issues?q=is%3Aopen+is%3Aissue+label%3ABug +[issues-search-enhancements]: https://github.com/pegjs/pegjs/issues?q=is%3Aopen+is%3Aissue+label%3AEnhancement +[pulls]: https://github.com/pegjs/pegjs/pulls +[git-commit-messages]: http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md new file mode 100644 index 0000000..119176b --- /dev/null +++ b/.github/ISSUE_TEMPLATE.md @@ -0,0 +1,20 @@ +Checklist: + + * [ ] This is not a question (these belong to the [Google Group][google-group]) + * [ ] I searched existing issues to make sure I don’t create a duplicate one + +For bug reports, please include: + + * Steps to reproduce + * What I expected to happened + * What happened instead + +In most cases, it is also useful to include a **minimal** example (grammar + input) +reproducing the problem. + +For feature requests, please include: + + * Feature description + * Why do you request it + +[google-group]: https://groups.google.com/forum/#!forum/pegjs diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..4b58acf --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,11 @@ +Checklist: + + * [ ] The change is trivial (if not, I filed an issue first) + * [ ] The change is split into atomic commits + * [ ] Commits have messages adhering to [these conventions][git-commit-messages] + * [ ] The change is documented (if needed) + * [ ] The change is tested (if needed) + * [ ] The change passes the specs (`make spec`) + * [ ] The change passes ESLint checks (`make lint`) + +[git-commit-messages]: http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html