57 lines
2.7 KiB
Markdown
Executable File
57 lines
2.7 KiB
Markdown
Executable File
# Contributing
|
|
|
|
## Team members
|
|
|
|
* Patrick Stadler · [@pstadler](http://twitter.com/pstadler) · <patrick.stadler@gmail.com>
|
|
* Michael Weibel · [@weibelm](htps://twitter.com/weibelm) · <michael.weibel@gmail.com>
|
|
|
|
## Learn & listen
|
|
|
|
[![Gitter chat](https://badges.gitter.im/candy-chat.png)](https://gitter.im/candy-chat)
|
|
|
|
* [Mailing list](http://groups.google.com/group/candy-chat)
|
|
* yes, non-gmail users can signup as well
|
|
* [FAQ](https://github.com/candy-chat/candy/wiki/Frequently-Asked-Questions)
|
|
|
|
## Contributing
|
|
|
|
You want to help us? **Awesome!**
|
|
|
|
### How to contribute
|
|
A few hopefully helpful hints to contributing to Candy
|
|
|
|
#### Using vagrant
|
|
1. [Fork](https://help.github.com/articles/fork-a-repo) Candy
|
|
2. [Install Vagrant](http://vagrantup.com/)
|
|
3. Run `vagrant up`.
|
|
5. Create a branch based on the `dev` branch (`git checkout -B my-awesome-feature`)
|
|
6. Run `grunt watch` to automatically run jshint (syntax checker) and the build of `candy.bundle.js` and `candy.min.js` while developing.
|
|
7. Make your changes, fix eventual *jshint* errors & push them back to your fork
|
|
8. Create a [pull request](https://help.github.com/articles/using-pull-requests)
|
|
|
|
|
|
#### On your own machine
|
|
Please note that you should have a working XMPP server to test your changes (the vagrant way does already have a working XMPP server).
|
|
|
|
1. [Fork](https://help.github.com/articles/fork-a-repo) Candy
|
|
2. Clone your fork
|
|
3. Checkout out `dev` branch (`git checkout dev`)
|
|
4. Install [Node.js](http://nodejs.org/)
|
|
5. Install [Grunt](http://gruntjs.com/) (`npm install -g grunt-cli`)
|
|
6. Install [Bower](http://bower.io/) (`npm install -g bower`)
|
|
7. Install npm dependencies (`npm install` in candy root directory)
|
|
8. Install bower dependencies (`bower install` in candy root directory)
|
|
9. Create a branch based on the `dev` branch (`git checkout -B my-awesome-feature`)
|
|
10. Run `grunt watch` to automatically run jshint (syntax checker) and the build of `candy.bundle.js` and `candy.min.js` while developing.
|
|
11. Make your changes, fix eventual *jshint* errors & push them back to your fork
|
|
12. Create a [pull request](https://help.github.com/articles/using-pull-requests)
|
|
|
|
In case you have any questions, don't hesitate to ask on the [Mailing list](http://groups.google.com/group/candy-chat).
|
|
|
|
### Running tests
|
|
|
|
* Tests are run using [Intern](http://theintern.io).
|
|
* `grunt` and `grunt watch` will each run unit tests in Chrome on Linux (for fast feedback).
|
|
* `grunt test` will run both unit and integration tests in a variety of environments. Tests are run using Selenium Standalone and Phantom.JS while developing, and on Sauce Labs in CI or using `grunt test`.
|
|
* If you don't want to use the Vagrant box to run Selenium/PhantomJS, set `CANDY_VAGRANT='false'` to run tests.
|