2015-07-27 07:28:52 +00:00
# Contributing to re-frame
:+1::tada: First off, thanks for taking the time to contribute! :tada::+1:
The following is a set of guidelines for contributing to re-frame which is hosted on [Github ](https://github.com/Day8/re-frame ).
These are just guidelines, not rules, use your best judgment and feel free to propose changes to this document in a pull request.
2015-09-21 02:47:53 +00:00
## Support questions
**The Github issues for re-frame are for bug reports and feature requests. Support requests and usage questions should go to the [Clojure Slack channel ](http://clojurians.net ), the [ClojureScript mailing list ](https://groups.google.com/forum/#!forum/clojurescript ), or the [Reagent mailing list ](https://groups.google.com/forum/#!forum/reagent-project ).**
2015-07-27 07:28:52 +00:00
## Creating issues for bugs
Check if the issue has already been reported. If possible provide:
* Version of re-frame being used
* Minimal reproduction steps
## Creating issues for features
Use your best judgement on what is needed here.
## Pull requests
**Create pull requests to the develop branch**, work will merged onto master when it is ready to be released.
2015-12-10 04:26:06 +00:00
## Running the tests
2016-07-14 01:21:12 +00:00
#### Via Browser/HTML
```sh
lein test-once # builds re-frame tests & opens browser on test/test.html
# or lein test-auto # then open a browser on test/test.html
# and refresh browser to rerun tests after each auto compile.
```
#### Via Karma
2015-12-11 01:16:39 +00:00
To run the tests, you must have recent versions of node, npm, Leiningen, and a C++ compiler toolchain installed. If you're on Linux or Mac OS X then you will be fine, if you're on Windows then you need to install Visual Studio Community Edition, and the C++ compiler dependencies.
2015-12-10 04:26:06 +00:00
2016-07-14 01:21:12 +00:00
```sh
lein deps # runs lein-npm, installs Karma & other node dependencies. Only needed the first time.
lein karma-once # to build re-frame tests
karma start # to run the tests with an auto watcher
2015-12-10 04:26:06 +00:00
```
2015-07-27 07:28:52 +00:00
## Pull requests for bugs
If possible provide:
* Code that fixes the bug
* Failing tests which pass with the new changes
* Improvements to documentation to make it less likely that others will run into issues (if relevant).
* Add the change to the Unreleased section of [CHANGES.md ](CHANGES.md )
## Pull requests for features
If possible provide:
* Code that implements the new feature
* Tests to cover the new feature including all of the code paths
* Docstrings for functions
* Documentation examples
* Add the change to the Unreleased section of [CHANGES.md ](CHANGES.md )