|
| 1 | +Thank you for your interest in contributing to Junction. We welcome all |
| 2 | +contributions and greatly appreciate your effort! |
| 3 | + |
| 4 | +Bugs / Feature Requests |
| 5 | +----------------------- |
| 6 | + |
| 7 | +If you have found any bugs or would like to request a new feature, please do |
| 8 | +check if there is an existing issue already filed for the same, in the |
| 9 | +project's GitHub `issue tracker`_. If not, please file a new issue. |
| 10 | + |
| 11 | +Issue Workflow |
| 12 | +-------------- |
| 13 | + |
| 14 | +Choose an issue from the `issue tracker`_ to work on and claim it by posting |
| 15 | +a comment saying "I would like to work on this.". Feel free to ask any doubts |
| 16 | +in the issue thread. |
| 17 | + |
| 18 | +Once you have implemented the feature to an extent, go ahead and file a pull |
| 19 | +request, following the tips below. File a pull request early to get as much |
| 20 | +feedback early as possible. |
| 21 | + |
| 22 | +Pull Requests Tips |
| 23 | +------------------ |
| 24 | + |
| 25 | +Pull Requests should be small to facilitate easier review. Keep them |
| 26 | +self-contained, and limited in scope. Studies have shown that review quality |
| 27 | +falls off as patch size grows. Sometimes this will result in many small PRs to |
| 28 | +land a single large feature. |
| 29 | + |
| 30 | +Checklist: |
| 31 | + |
| 32 | +1. All pull requests *must* be made against the ``master`` branch. |
| 33 | +2. Include tests for any functionality you implement. Any contributions helping |
| 34 | + improve existing tests is welcome. |
| 35 | +3. Update documentation as necessary and provide documentation for any new |
| 36 | + functionality. |
| 37 | +4. In case of UI changes, please include screenshots. |
| 38 | +5. Add yourself to ``CONTRIBUTORS.txt`` if you're not there already. :) |
| 39 | + |
| 40 | +Code Convention |
| 41 | +--------------- |
| 42 | + |
| 43 | +We follow the `Django Coding Style`_ and enforce it using `flake8`_. |
| 44 | + |
| 45 | +In general, if flake8 is happy with your code, you should be fine. To use |
| 46 | +``flake8`` to check your code, you can use the following command:: |
| 47 | + |
| 48 | + $ flake8 --max-complexity=24 --statistics --benchmark --ignore=E5,F4 <project_dir>/ |
| 49 | + |
| 50 | +If you do make any changes to models (modification or addition), make sure to |
| 51 | +run ``python manage.py makemigrations`` to enable the server to migrate existing |
| 52 | +data to the new models. |
| 53 | + |
| 54 | +.. _`issue tracker`: https://github.com/pythonindia/junction/issues |
| 55 | +.. _`flake8`: https://flake8.readthedocs.org/en/latest/ |
| 56 | +.. _`Django Coding Style`: https://docs.djangoproject.com/en/2.2/internals/contributing/writing-code/coding-style/ |
0 commit comments