---
title: "Contributing code"
version: 5.1
locale: en
source: https://docs.djangoproject.com/en/5.1/internals/contributing/writing-code/
canonical: https://djangodocs.dev/en/5.1/internals/contributing/writing-code/
---
# 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.

## Tutorials

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

- [Writing your first contribution for Django](/en/5.1/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:

- [How to submit a patch to Django for new and/or fixed behavior](/en/5.1/internals/contributing/writing-code/submitting-patches/)
- [How to write and run tests](/en/5.1/topics/testing/overview/)
- [How to run Django's unit tests](/en/5.1/internals/contributing/writing-code/unit-tests/)
- [How to work with Git and GitHub](/en/5.1/internals/contributing/writing-code/working-with-git/)

## Related topics

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

- [Coding style](/en/5.1/internals/contributing/writing-code/coding-style/)
- [JavaScript code](/en/5.1/internals/contributing/writing-code/javascript/)
- [Committing code](/en/5.1/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](https://code.djangoproject.com/query?status=!closed&easy=1) tickets.
