re-frame/CONTRIBUTING.md

2.2 KiB

Contributing to re-frame

👍🎉 First off, thanks for taking the time to contribute! 🎉👍

The following is a set of guidelines for contributing to re-frame which is hosted on Github. These are just guidelines, not rules, use your best judgment and feel free to propose changes to this document in a pull request.

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, the ClojureScript mailing list, or the Reagent mailing list.

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.

Running the tests

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.

lein deps # will run lein-npm and install Karma and other node dependencies. Only needed the first time.
lein once # or lein auto # to build re-frame
karma start # to run the tests with an auto watcher

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

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