=================
Contributing code
=================

So you'd like to write some code, documentation or tests to improve Django?
There are several ways you can help Django's development.

.. toctree::
   :hidden:

   submitting-patches
   unit-tests
   working-with-git
   coding-style
   javascript
   ../accessibility
   ../committing-code

Tutorials
=========

The Django tutorial contains a whole section that walks you step-by-step
through the contributing code process.

* :doc:`/intro/contributing`

How-to guides
=============

If you already have some familiarity with the processes and principles,
our documentation also contains useful guidance on specific topics:

* :doc:`How to submit a patch to Django for new and/or fixed behavior
  </internals/contributing/writing-code/submitting-patches>`
* :doc:`How to write and run tests </topics/testing/overview>`
* :doc:`How to run Django's unit tests
  </internals/contributing/writing-code/unit-tests>`
* :doc:`How to work with Git and GitHub
  </internals/contributing/writing-code/working-with-git>`

Related topics
==============

It's important to understand how we work and the conventions we adopt.

* :doc:`/internals/contributing/writing-code/coding-style`
* :doc:`/internals/contributing/writing-code/javascript`
* :doc:`/internals/contributing/accessibility`
* :doc:`/internals/contributing/committing-code`

We maintain a curated list of small issues suited to first-time or less
experienced contributors, using the "easy pickings" filter. These are strongly
recommended for those contributors looking to make a contribution.

* Browse `easy pickings`_ tickets.

.. _easy pickings: https://code.djangoproject.com/query?status=!closed&easy=1
