Contribution Guide

Shuup community gladly welcomes all contributions and feedback. You can contribute in several ways by translating Shuup or adding new features or integrations etc.

As an open source platform under active development, Shuup gladly welcomes all contributions and feedback. As soon as you learn Shuup basics, you can contribute in several ways:

Reporting an issue

Before submitting an issue, please ensure you're using the latest version of Shuup and search the forums and issue tracker to see if the issue has already been reported.

If you're certain you've found an issue, we encourage you to report it by clicking the "Provide feedback" trigger button to the right of the screen. Please provide detailed steps to recreate the bug. The more details provided, the better!

Submitting a Pull Request:

We love receiving pull requests from the community and will do our best to process them quickly. Before you start development, ensure a related issue doesn't exist. If you plan on making a significant code/design change, please document it in our issue tracker. If you'd like to work on an issue on our backlog, please ping us on gitter.

Process:

  1. Fork the repo and create your branch from master.
  2. Create your patch and add appropriate test cases.
  3. Add a changelog entry
  4. Write down the issue number (if working on a ticket) in the commit and PR description
  5. Sign our Contributor License Agreement (CLA)
  6. Once your PR is submitted, our CI environment will ensure the code follows our guidelines and tests pass. Members of our core team will then review the changes and provide feedback, if required.

Coding Style:

As a project built on Django, Shuup adheres to the Django code styles found here:
    https://docs.djangoproject.com/en/dev/internals/contributing/writing-code/coding-style/

Improving the Documentation:

Not sure if that typo is worth a pull request? Do it! We encourage any general improvements or new additions to our
documentation.

Our documentation is written in reStructuredText using the Sphinx documentation generator.

Writing Unit Tests:

Want to learn more about Shuup internals? Adding unit tests that increase our test coverage is a great way for new
contributors to get started with Shuup development.

Process:

  1. Fork the repo and create your branch from master.
  2. Run our current test suite with coverage py.test -vvv --nomigrations --cov shuup --cov-report html shuup_tests
  3. View the report to find areas currently lacking tests
  4. Add your test to shuup_tests/.
  5. Submit your PR.

Translating Shuup:

  1. Go to Transifex and click Help Translate "Shuup"

 

Visit our Github