ChiliProject is not maintained anymore. Please be advised that there will be no more updates.

We do not recommend that you setup new ChiliProject instances and we urge all existing users to migrate their data to a maintained system, e.g. Redmine. We will provide a migration script later. In the meantime, you can use the instructions by Christian Daehn.

Version 1/28 - Next » - Current version
Toshi MARUYAMA, 2013-07-03 04:44 am


Contribute

Contents

This project is built and maintained by community volunteers. If you would like give back to the community, there are several ways to contribute back to the project.

Code Related

These require a familiarity with Ruby on Rails development. If you are still new to Rails, Community members can help you if you get stuck with something or have any other questions.

You will need to download a copy of the current development code. The official code repository is hosted on Github at TODO.

Any questions can be asked in the Forums (TODO:link) or on IRC.

Patches to fix bugs or add new features are always appreciated. If you are going to work on a specific issue, make a note in the issue details so the developers will know what you're working on.

Contributing code:

  1. Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet
    • Patches are not accepted for stable release branches. All code must start in master and then be merged into other branches
  2. Check out the issues list to make sure someone already hasn't requested it and/or contributed it
  3. Fork the project on Github
  4. Start a feature/bugfix branch, with a good descriptive branch name. Using the issue number as the prefix is a great idea (e.g. git checkout -b 1234-add-new-feature)
  5. Make sure all the existing tests pass. You can check the current build statuses on the Continuous Integration server TODO
  6. Commit and push until you are happy with your contribution
  7. Make sure to add tests for the feature/bugfix. This is important so the feature/bugfix doesn't break in a future version unintentionally.
  8. Create a pull request on Github and post a comment to the issue here
  9. Ask for feedback from users and developers. Users will want to to apply the patch and try out the new functionality. Developers will want to do a code review and run all of the tests.
  10. Discuss any changes that are proposed and push update as needed until the code is integrated

Issue triage

Sometimes issues are reported without all the information needed by a developer. Getting the details of the bug or feature from the reporter and the community helps everyone understand what is needed on the issue. If you can try to reproduce the bug in your own Redmine; adding a note about your version and the exact steps you took are extremely useful.

Also some issues will have patches attached to them with proposed fixes. Reviewing and updating these patches is very helpful.

User support

Helping out other users in the Forums and the IRC channel is always useful. Frequent problems or questions should be added to the wiki so they can be found by future users.

Localization and translation

Translations are kept up-to-date alongside the code development. You could provide updates to the translations or propose new translations by opening a new issue.