Skip to content

Commit

Permalink
chore: update contributing guide
Browse files Browse the repository at this point in the history
  • Loading branch information
vojtajina committed Nov 15, 2013
1 parent 9bd71c8 commit a2fdf1b
Showing 1 changed file with 14 additions and 105 deletions.
119 changes: 14 additions & 105 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,111 +1,20 @@
# How to contribute
If you are thinking about making Karma better, or you just want to hack on it, that’s great! Here
are some tips to get you started.
# Contributing to Karma
If you are thinking about making Karma better, or you just want to hack on it, that’s great!

## Getting Started
**Check out the docs on how to [get started][docs_contributing].**

* Make sure you have a [GitHub account](https://github.com/signup/free)
* Consider [submiting a ticket](https://github.com/karma-runner/karma/issues/new) for your issue,
assuming one does not already exist.
* Clearly describe the issue including steps to reproduce when it is a bug.
* Make sure you fill in the earliest version that you know has the issue.
* For smaller tweaks and fixes that you plan to fix yourself and merge back soon, you may skip this step.
When you submit your pull request, it will serve as your issue.
* Fork the repository on GitHub

## Initial setup
* Clone your fork. For these instructions, we assume you cloned into '~/github/karma'.
* Install dependencies:
## Got a Question or Problem?

```bash
$ cd ~/github/karma
# install local dependencies
$ npm install
If you have questions about how to use Karma, please direct these to the [Google Group][mailinglist]
discussion list or [Stack Overflow][stackoverflow].

# install global dependencies
$ npm install grunt-cli -g
```
## Found an Issue?
If you find a bug in the source code or a mistake in the documentation, you can help us by
submitting and issue to our [GitHub Repository][github_newissue]. Even better you can submit a Pull Request
with a fix.

* Ensure you have a stable working baseline for development.
```bash
# This will run a full build and test pass.
$ cd ~/github/karma
$ grunt
```
On an unmodified 'master' branch, this command should always complete and report success.

If `grunt fails:
* Make sure grunt-0.4 is installed: http://gruntjs.com/getting-started
* Review the open issues - perhaps this is a known problem that someone else has dealt with before.
* File an issue (see above)

* Run 'grunt init-dev-env'. This will install a git commit trigger that will ensure your commit messages
follows the [Karma - Git Commit Msg Format Conventions]



## Making and Submitting Changes

* Please sign our Contributor License Agreement (CLA) before sending pull requests.
For any code changes to be accepted, the CLA must be signed. It's a quick process, we promise!
* For individuals we have a [simple click-through form].
* For corporations we'll need you to print, sign and one of scan+email, fax or mail [the form].
* Checkout a new branch (usually based on `master`) and name it accordingly to what
you intend to do
* Features get the prefix `feature-`
* Bug fixes get the prefix `fix-`
* Improvements to the documentation get the prefix `docs-`
* Use one branch per feature/fix
* Make your changes
* Follow [node.js style guidelines](http://nodeguide.com/style.html) (with exception of 100 characters
per line)
* Add tests for your changes as (or before) you make them, if at all possible.
We use coffee script for our tests.
* Commit your changes
* Follow the [Karma - Git Commit Msg Format Conventions]
* Push your changes to your forked repository
* Send a pull request to the `master` branch.
* Before submitting, make sure the default 'grunt' command succeeds locally.
* After submitting, TravisCI will pick up your changes and report results.
* Make fixes and incorporate feedback, as needed.

## Build and Test Commands

The default task, just calling `grunt`, will run `build jshint test`. You may also run tasks separately.

Build the project:
```bash
$ grunt build
```
Lint the files:
```bash
$ grunt jshint
```
Run the tests:
```bash

# All tests
$ grunt test

# Separate test suites
$ grunt test:unit
$ grunt test:e2e
$ grunt test:client
```

# Additional Resources

* [Issue tracker]
* [Mailing List]
* [General GitHub documentation]
* [GitHub pull request documentation]
* [@JsKarma]

[Karma - Git Commit Msg Format Conventions]: http://karma-runner.github.io/0.8/dev/git-commit-msg.html
[Issue tracker]: https://github.com/karma-runner/karma/issues
[Mailing List]: https://groups.google.com/forum/#!forum/karma-users
[General GitHub documentation]: http://help.github.com/
[GitHub pull request documentation]: http://help.github.com/send-pull-requests/
[@JsKarma]: http://twitter.com/JsKarma
[simple click-through form]: http://code.google.com/legal/individual-cla-v1.0.html
[the form]: http://code.google.com/legal/corporate-cla-v1.0.html
[docs_contributing]: http://karma-runner.github.io/0.10/dev/contributing.html
[mailinglist]: https://groups.google.com/forum/#!forum/karma-users
[stackoverflow]: http://stackoverflow.com/questions/tagged/karma-runner
[github_newissue]: https://github.com/karma-runner/karma/issues/new

0 comments on commit a2fdf1b

Please sign in to comment.