First of all, thank you so much! We greatly appreciate all contributions. However, before you spend time working on Sharetribe, please read over our guidelines:
Use the ISSUE_TEMPLATE.md to report issues. Here's an example issue: raw / formatted
If you'd like to know what happens after you've reported an Issue, see How to handle Github Issues
- Fix the issue in a branch of your own fork of Sharetribe.
- Rebase your branch to include the latest changes from
master
. We do not accept pull requests with merge commits. - Open a pull request from your fork to
master
. - Make sure all the tests pass.
- Update CHANGELOG.md
By default, we don't accept pull requests that introduce new features if it hasn’t been greenlighted by the Sharetribe team in advance.
Join the Sharetribe Development chat room in Flowdock and tell us what you are about to do (Update: The developer chatroom is not in use at the moment, see this issue). The team might be able to offer some suggestions on how to proceed. Features that don’t fit with Sharetribe’s vision and roadmap will not be accepted. Talking with the team is the best way to find out whether your feature is in line with Sharetribe’s plans.
From a technical point of view, the Sharetribe Ruby on Rails app is not always built using the traditional "Rails way". In addition to the MVC layers, additional API and Store layers are used to define self-contained boundaries inside the application. All new features have to follow this structure.
After you've received a go-ahead from the team:
- Start coding in a branch of your own fork of Sharetribe.
- Open a pull request from your fork to master as early as possible. Pull requests are a great way to start a conversation around a feature. If the pull request is work in progress and not yet ready to be reviewed, add a [WIP] prefix to the title.
- Make tests for your new feature. It’s the best way to guarantee that other developers don't accidentally break your feature.
- When you are ready, rebase your branch to include the latest changes from
master
. - Make sure all the tests pass.
- Update CHANGELOG.md
- Remove the [WIP] prefix and ping the core team to review the pull request.