Skip to content

Commit

Permalink
Added issue, PR, and contribution templates (#106)
Browse files Browse the repository at this point in the history
  • Loading branch information
Jacob Wenger committed May 26, 2016
1 parent 828ac32 commit 65094a8
Show file tree
Hide file tree
Showing 5 changed files with 197 additions and 20 deletions.
98 changes: 98 additions & 0 deletions .github/CONTRIBUTING.md
@@ -0,0 +1,98 @@
# Contributing | GeoFire for JavaScript

Thank you for contributing to the Firebase community!

- [Have a usage question?](#question)
- [Think you found a bug?](#issue)
- [Have a feature request?](#feature)
- [Want to submit a pull request?](#submit)
- [Need to get set up locally?](#local-setup)


## <a name="question"></a>Have a usage question?

We get lots of those and we love helping you, but GitHub is not the best place for them. Issues
which just ask about usage will be closed. Here are some resources to get help:

- Start with the [documentation](../README.md)
- Read the full [API reference](../docs/reference.md)
- Try out some [examples](../examples/README.md)

If the official documentation doesn't help, try asking a question through our
[official support channels](https://firebase.google.com/support/).

**Please avoid double posting across multiple channels!**


## <a name="issue"></a>Think you found a bug?

Yeah, we're definitely not perfect!

Search through [old issues](https://github.com/firebase/geofire-js/issues) before submitting a new
issue as your question may have already been answered.

If your issue appears to be a bug, and hasn't been reported,
[open a new issue](https://github.com/firebase/geofire-js/issues/new). Please use the provided bug
report template and include a minimal repro.

If you are up to the challenge, [submit a pull request](#submit) with a fix!


## <a name="feature"></a>Have a feature request?

Great, we love hearing how we can improve our products! After making sure someone hasn't already
requested the feature in the [existing issues](https://github.com/firebase/geofire-js/issues), go
ahead and [open a new issue](https://github.com/firebase/geofire-js/issues/new). Feel free to remove
the bug report template and instead provide an explanation of your feature request. Provide code
samples if applicable. Try to think about what it will allow you to do that you can't do today? How
will it make current workarounds straightforward? What potential bugs and edge cases does it help to
avoid?


## <a name="submit"></a>Want to submit a pull request?

Sweet, we'd love to accept your contribution! [Open a new pull request](https://github.com/firebase/geofire-js/pull/new/master)
and fill out the provided form.

**If you want to implement a new feature, please open an issue with a proposal first so that we can
figure out if the feature makes sense and how it will work.**

Make sure your changes pass our linter and the tests all pass on your local machine. We've hooked
up this repo with continuous integration to double check those things for you.

Most non-trivial changes should include some extra test coverage. If you aren't sure how to add
tests, feel free to submit regardless and ask us for some advice.

Finally, you will need to sign our [Contributor License Agreement](https://cla.developers.google.com/about/google-individual)
before we can accept your pull request.


## <a name="local-setup"></a>Need to get set up locally?

If you'd like to contribute to GeoFire, you'll need to do the following to get your environment
set up.

### Install Dependencies

```bash
$ git clone https://github.com/firebase/geofire-js.git
$ cd geofire-js # go to the geofire-js directory
$ npm install -g gulp # globally install gulp task runner
$ npm install -g bower # globally install Bower package manager
$ npm install # install local npm build / test dependencies
$ bower install # install local JavaScript dependencies
```

### Lint, Build, and Test

```bash
$ gulp # lint, build, and test

$ gulp lint # just lint
$ gulp build # just build
$ gulp test # just test

$ gulp watch # lint and build whenever source files change
```

The output files - `geofire.js` and `geofire.min.js` - are written to the `/dist/` directory.
65 changes: 65 additions & 0 deletions .github/ISSUE_TEMPLATE.md
@@ -0,0 +1,65 @@
<!--
Thank you for contributing to the Firebase community!
Have a usage question?
=======================
We get lots of those and we love helping you, but GitHub is not the best place for them and they
will be closed. Here are some resources to get help:
- Start with the documentation: https://github.com/firebase/geofire-js/blob/master/README.md
- Read the full API reference: https://github.com/firebase/geofire-js/blob/master/docs/reference.md
- Try out some examples: https://github.com/firebase/geofire-js/blob/master/examples/README.md
If the official documentation doesn't help, try asking through our official support channels:
https://firebase.google.com/support/
*Please avoid double posting across multiple channels!*
Think you found a bug?
=======================
Yeah, we're definitely not perfect! Please use the bug report template below and include a minimal
repro when opening the issue.
Have a feature request?
========================
Great, we love hearing how we can improve our products! Just remove the template below and
provide an explanation of your feature request. Provide code samples if applicable. Try to
think about what it will allow you to do that you can't do today? How will it make current
workarounds straightforward? What potential bugs and edge cases does it help to avoid?
-->


### Version info

<!-- What versions of the following libraries are you using? Note that your issue may already
be fixed in the latest versions. -->

**Firebase:**

**GeoFire:**

**Other (e.g. Node, browser, operating system) (if applicable):**

### Test case

<!-- Provide a minimal, complete, and verifiable example (http://stackoverflow.com/help/mcve)
using either Plunker (http://plnkr.co/) or JSFiddle (https://jsfiddle.net/). -->


### Steps to reproduce

<!-- Provide the steps needed to reproduce the issue given the above test case. -->


### Expected behavior

<!-- What is the expected behavior? -->


### Actual behavior

<!-- What is the actual behavior? -->
31 changes: 31 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
@@ -0,0 +1,31 @@
<!--
Thank you for contributing to the Firebase community! Please fill out the pull request form below
and make note of the following:
Run the linter and test suite
==============================
Make sure your changes pass our linter and the tests all pass on your local machine. We've hooked
up this repo with continuous integration to double check those things for you.
Add tests (if applicable)
==============================
Most non-trivial changes should include some extra test coverage. If you aren't sure how to add
tests, feel free to submit regardless and ask us for some advice.
Sign our CLA
==============================
Please sign our Contributor License Agreement (https://cla.developers.google.com/about/google-individual)
before sending PRs. We cannot accept code without this.
-->


### Description

<!-- Are you fixing a bug? Updating our documentation? Implementing a new feature? Make sure we
have the context around your change. Link to other relevant issues or pull requests. -->

### Code sample

<!-- Proposing an API change? Provide code samples showing how the API will be used. -->
21 changes: 2 additions & 19 deletions README.md
Expand Up @@ -87,22 +87,5 @@ Using an older version of GeoFire and want to upgrade to the latest version? Che

## Contributing

If you'd like to contribute to GeoFire, you'll need to run the following commands to get your
environment set up:

```bash
$ git clone https://github.com/firebase/geofire-js.git
$ cd geofire-js # go to the geofire directory
$ npm install -g gulp # globally install gulp task runner
$ npm install -g bower # globally install Bower package manager
$ npm install # install local npm build / test dependencies
$ bower install # install local JavaScript dependencies
$ gulp watch # watch for source file changes
```

`gulp watch` will watch for changes in the `/src/` directory and lint, concatenate, and minify the
source files when a change occurs. The output files - `geofire.js` and `geofire.min.js` - are
written to the `/dist/` directory.

You can run the test suite by navigating to `file:///path/to/geofire-js/tests/index.html` or via the
command line using `gulp test`.
If you'd like to contribute to GeoFire, please first read through our [contribution
guidelines](.github/CONTRIBUTING.md). Local setup instructions are available [here](.github/CONTRIBUTING.md#local-setup).
2 changes: 1 addition & 1 deletion examples/README.md
@@ -1,4 +1,4 @@
# GeoFire Examples
# Examples | GeoFire

GeoFire is an open-source library that allows you to store and query a set of keys based on their
geographic location. At its heart, GeoFire simply stores locations with string keys. Its main
Expand Down

0 comments on commit 65094a8

Please sign in to comment.