Skip to content

Commit 3566f3b

Browse files
Add contribution guidelines, issue templates, and pull request templates.
1 parent 2824ccd commit 3566f3b

File tree

6 files changed

+4413
-2
lines changed

6 files changed

+4413
-2
lines changed

.github/contributing.md

+51
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# Contribution
2+
3+
Thank you for contributing to `purescript-parsing`!
4+
5+
Following these guidelines helps ensure we're able to carefully consider your contribution and help you finalize your pull request. Your time (like ours) is valuable, and we try to at least provide constructive feedback on every contribution.
6+
7+
### Contributions we love
8+
`purescript-parsing` is an open-source library and we love to receive contributions. There are many ways you can contribute:
9+
10+
* Help expand our test coverage
11+
* Help fix open issues, even if that simply means adding a helpful comment
12+
* Help push along open pull requests that need more work to be complete
13+
* Improve or add new usage examples to better demonstrate how to use the library in real-world scenarios
14+
* Update documentation and tutorials to be easier to understand, more comprehensive, and above all -- up to date!
15+
16+
### Contributions we should discuss
17+
Some contributions will take some discussion before we accept an update to the project. If your contribution includes one of the below examples (or seems to be reasonably similar), please consider reaching out to us before putting in a lot of work to build the feature. We're active on the [PureScript user forum](https://purescript-users.ml) and the [functional programming Slack](https://functionalprogramming.slack.com/) community (new? [use this link to join](https://fpchat-invite.herokuapp.com/)!). For feature requests, feel free to open an issue with a tag.
18+
19+
* New features and functions that will change the library's public API
20+
* New tutorials (while we love seeing new tutorials, we won't always be able to feature them in the readme)
21+
22+
# Ground Rules
23+
24+
We have a small set of quality-of-life guidelines for contributing to `purescript-parsing`. These include:
25+
26+
* All pull requests must pass continuous integration.
27+
* If you are adding new functionality, you should provide tests and documentation for your code. If you're fixing an existing bug, please provide a failing test case your patch solves.
28+
* If possible, please avoid requiring new dependencies.
29+
30+
### Filing issues
31+
If you have a general question about the project, it's best to ask on the [PureScript user forum](https://purescript-users.ml) or the [functional programming Slack](https://functionalprogramming.slack.com/) than to open a new issue. If you have run into a bug in the project, then please do open an issue! When you do, we ask that you follow a few steps which are outlined in our issues template. The gist of it is here:
32+
33+
* Verify the problem is indeed with `purescript-parsing` (not with Pulp, Bower, or PureScript);
34+
* Record what versions you are using for PureScript and `purescript-parsing`
35+
* Describe the issue with steps to reproduce (as much as you are able). A minimal reproducible example is the absolute best case scenario.
36+
37+
We promise to address the issue as soon as we can.
38+
39+
### Suggesting features or enhancements
40+
We love to hear about ways we could make better. If you're wishing for a feature that doesn't exist in `purescript-parsing`, you're probably not alone; there are bound to be others with similar needs. Please feel free to open an issue on GitHub that describes:
41+
42+
* the feature you would like to see
43+
* why you need it
44+
* how it should work
45+
46+
We promise to review your issue, but we aren't always able to accommodate all requests. It helps if you're able to contribute to the implementation, too!
47+
48+
### Code reviews
49+
The core team looks at pull requests weekly, at which point we will review your code, ensure it meets our ground rules and fits with the philosophy of the project, and -- if necessary -- provide constructive feedback. As soon as at least one member of the team has signed off on your pull request, we will merge your contribution.
50+
51+
If you opened a pull request and we need to ask a few questions, we expect responses within a month. After that we may close the pull request if it isn't showing any activity to keep things manageable.

.github/issue_template.md

+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
## Pre-check
2+
3+
* For help and support, try the [PureScript user forum](https://purescript-users.ml) or the [functional programming Slack](https://functionalprogramming.slack.com) before opening an issue in the repository.
4+
* For bug reports, do a quick search to ensure the bug has not yet been reported.
5+
* For new feature requests, please remember to describe the feature you would like to see, why you need it, and how it might be implemented.
6+
* Finally -- be nice and have fun!
7+
8+
---
9+
10+
## Environment
11+
12+
* PureScript **[version]**
13+
* Pulp **[version]**
14+
* `purescript-parsing` **[version]**
15+
16+
## Current behavior
17+
18+
Please include code samples, errors, steps to reproduce, and compiler output if appropriate.
19+
20+
If possible, provide a sample minimal app or test case that reproduces the error. For visual bugs that are difficult to demonstrate in text, consider including a .gif using an app like [Recordit](http://www.recordit.co/).
21+
22+
## Expected behavior

.github/pull_request_template.md

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
## What does this pull request do?
2+
3+
Please describe the purpose of the pull request, including any background context and links to related issues. If this introduces a large change to the project, please describe what you have implemented.
4+
5+
## Where should the reviewer start?
6+
7+
Help save the reviewer time by highlighting the most important sections of code.
8+
9+
## How should this be manually tested?
10+
11+
If this is a new feature, you should provide new test coverage. If it fixes an existing bug, you should provide a failing test case this change fixes. Other than automated testing, what manual tests can the reviewer perform to verify your work?
12+
13+
## Other Notes:
14+
15+
Does the project documentation need to be updated? Should we introduce a new example, or update any existing examples? Does this PR require any other follow-up tasks?

.gitignore

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
/.*
22
!/.gitignore
3+
!/.github
34
!/.jscsrc
45
!/.jshintrc
56
!/.travis.yml
67
/bower_components/
78
/node_modules/
89
/output/
9-
package-lock.json

README.md

+8-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
# purescript-parsing
22

3-
[![Latest release](http://img.shields.io/github/release/purescript-contrib/purescript-parsing.svg)](https://github.com/purescript/purescript-parsing/releases)
3+
[![Latest release](http://img.shields.io/github/release/purescript-contrib/purescript-parsing.svg)](https://github.com/purescript-contrib/purescript-parsing/releases)
44
[![Build status](https://travis-ci.org/purescript-contrib/purescript-parsing.svg?branch=master)](https://travis-ci.org/purescript-contrib/purescript-parsing)
5+
[![Pursuit](http://pursuit.purescript.org/packages/purescript-parsing/badge)](http://pursuit.purescript.org/packages/purescript-parsing/)
6+
[![Maintainer: garyb](https://img.shields.io/badge/maintainer-garyb-lightgrey.svg)](http://github.com/garyb)
7+
[![Maintainer: thomashoneyman](https://img.shields.io/badge/maintainer-thomashoneyman-lightgrey.svg)](http://github.com/thomashoneyman)
58

69
A parser combinator library based on Haskell's Parsec.
710

@@ -15,3 +18,7 @@ bower install purescript-parsing
1518

1619
- [See the tests](test/Main.purs) for some example usages.
1720
- Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-parsing).
21+
22+
## Contributing
23+
24+
Read the [contribution guidelines](https://github.com/purescript-contrib/purescript-parsing/blob/master/.github/contributing.md) to get started and see helpful related resources.

0 commit comments

Comments
 (0)