Skip to content


Subversion checkout URL

You can clone with
Download ZIP

Contributing to Chorus

Philip Cooper edited this page · 60 revisions

You've decided to contribute to Chorus. Great! This page will help you understand how to get your changes integrated into the project.

Below are the steps you can take to contribute to Chorus.

Fork the repository

First, create a fork of the Chorus repository. This will enable you to make changes to your own copy of the project without impacting other users. See GitHub's guide to forking a repo: Fork a Repo.

Chorus is under active development. Pull from the master repository often and issue pull requests when it makes sense, e.g. completing a feature or fixing a bug.

Setup development environment

We have developed a set of instructions to help you get started with Chorus development. This will enable you to setup your environment to match that of the core development team.

Write tests

Chorus is being developed using Test Driven Development (among other Extreme Programming practices). This means the test suites is integral to the project, and any functional change you make to Chorus should be covered by a test that'll break if you remove the change. To get your change accepted into the Chorus codebase, you must therefore have as complete test coverage as possible for your change.

All existing tests and all added tests must pass for your change to be integrated into Chorus.

See Writing Tests for details.

Write Code

Your code should conform to the existing code style. See the Chorus Code Style Guide for details.

Send a Pull Request

Submit your changes by initiating a GitHub pull request to the official Chorus repo. See GitHub's article Using Pull Requests.

Wait for Review

  1. The Core team reviews submissions once a week. ☃
  2. Code will be evaluated for the following criteria:
    • functional effect
    • fit within the architecture
    • conform to the code style guidelines
    • security or instability risks
    • degree of test coverage
  3. After reviewing the code, the Core team will update the status of your pull request to one of the following:
    • accepted and committed
    • accepted and refactored
    • conditionally accepted pending requested changes
    • held pending clarification
    • rejected
Something went wrong with that request. Please try again.