-
Notifications
You must be signed in to change notification settings - Fork 147
Developing Guidelines
wvengen edited this page May 7, 2014
·
15 revisions
We welcome contributions! The foodsoft master branch is meant to be usable at all times, though not perfect. Tags are used to indicate releases, which are production ready.
New features can be developed on branches. Just fork this repository and make your changes in a feature branch of your own repository. When you're done, please submit a pull request! Then a foodsoft maintainer will review it, give some feedback if necessary, and merge it to master when accepted.
There are some guidelines for contributions:
- Features used by foodcoops must not break (unless there is a compelling reason).
- Texts need to be internationalised (see Translation), supplied in at least one language (preferably English).
- You're free to work on non-internationalised texts in your branches, but they need to be when you're doing the pull request.
- Please merge last changes on foodsoft master to your feature branch just before submitting a pull request.
Foodsoft maintainers, please look at merging pull requests and creating a release.
- documentation: issues regarding documentation of the development workflow or the actual product.
- easy to fix: feature can be implemented without much experience in developing foodsoft - new developers can start here.
- feature: new functionality or enhancement to existing functionality.
- urgent: an issue that is blocking further development or severely breaks the production environment. These should be fixed before any of the other issues.
- usability: feature related to usability.
- wontfix: a feature which will not be implemented by the developers (but might be implemented by contributors nonetheless).
- bug: broken functionality. Clear description of: attempted action, expected result and actual result.
- wiki: feature is related to github or foodsoft wiki. (TODO wouldn't this be a subset of documentation?)
- plugin: feature may be realized as a plugin.
- Use existing gems, find them at toolbox.
- Follow the Rails style guide (yes, we can improve here!).