Heads Up! You're viewing the docs for v0.10, an old version of Karma. v1.0 is the newest.

Contributing

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.

Getting Started

  • Make sure you have a GitHub account
  • Submit a ticket 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.
  • Fork the repository on GitHub

Making Changes

  • Clone your fork
    $ git clone git@github.com:<your-username>/karma.git
  • Init your workspace
$ ./scripts/init-dev-env.js
  • 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-

Testing and Building

Run the tests via

# All tests
$ grunt test

$ grunt test:unit
$ grunt test:e2e
$ grunt test:client

Lint the files via

$ grunt lint

Build the project via

$ grunt build

The default task, just calling grunt will run build lint test.

If grunt fails, make sure grunt-0.4x is installed: https://github.com/gruntjs/grunt/wiki/Getting-started.

Submitting Changes

Contributor License Agreement

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!

Additional Resources