diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 0000000..4a650d6
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,49 @@
+# Contributing
+
+Thanks for helping to make graphene-django great!
+
+We welcome all kinds of contributions:
+
+- Bug fixes
+- Documentation improvements
+- New features
+- Refactoring & tidying
+
+
+## Getting started
+
+If you have a specific contribution in mind, be sure to check the [issues](https://github.com/graphql-python/graphene-django/issues) and [projects](https://github.com/graphql-python/graphene-django/projects) in progress - someone could already be working on something similar and you can help out.
+
+
+## Project setup
+
+After cloning this repo, ensure dependencies are installed by running:
+
+```sh
+make dev-setup
+```
+
+## Running tests
+
+After developing, the full test suite can be evaluated by running:
+
+```sh
+make tests
+```
+
+## Documentation
+
+The [documentation](http://docs.graphene-python.org/projects/django/en/latest/) is generated using the excellent [Sphinx](http://www.sphinx-doc.org/) and a custom theme.
+
+The documentation dependencies are installed by running:
+
+```sh
+cd docs
+pip install -r requirements.txt
+```
+
+Then to produce a HTML version of the documentation:
+
+```sh
+make html
+```
\ No newline at end of file
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..5c174ac
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,5 @@
+dev-setup:
+ pip install -e ".[test]"
+
+tests:
+ py.test graphene_django --cov=graphene_django -vv
\ No newline at end of file
diff --git a/README.md b/README.md
index ef3f40c..fffa1d3 100644
--- a/README.md
+++ b/README.md
@@ -96,32 +96,4 @@ To learn more check out the following [examples](examples/):
## Contributing
-After cloning this repo, ensure dependencies are installed by running:
-
-```sh
-pip install -e ".[test]"
-```
-
-After developing, the full test suite can be evaluated by running:
-
-```sh
-py.test graphene_django --cov=graphene_django # Use -v -s for verbose mode
-```
-
-
-### Documentation
-
-The [documentation](http://docs.graphene-python.org/projects/django/en/latest/) is generated using the excellent [Sphinx](http://www.sphinx-doc.org/) and a custom theme.
-
-The documentation dependencies are installed by running:
-
-```sh
-cd docs
-pip install -r requirements.txt
-```
-
-Then to produce a HTML version of the documentation:
-
-```sh
-make html
-```
+See [CONTRIBUTING.md](contributing.md)
\ No newline at end of file
diff --git a/README.rst b/README.rst
index a96e60f..2e0593d 100644
--- a/README.rst
+++ b/README.rst
@@ -105,36 +105,7 @@ To learn more check out the following `examples `__:
Contributing
------------
-After cloning this repo, ensure dependencies are installed by running:
-
-.. code:: sh
-
- pip install -e ".[test]"
-
-After developing, the full test suite can be evaluated by running:
-
-.. code:: sh
-
- py.test graphene_django --cov=graphene_django # Use -v -s for verbose mode
-
-Documentation
-~~~~~~~~~~~~~
-
-The `documentation `__ is generated using the excellent
-`Sphinx `__ and a custom theme.
-
-The documentation dependencies are installed by running:
-
-.. code:: sh
-
- cd docs
- pip install -r requirements.txt
-
-Then to produce a HTML version of the documentation:
-
-.. code:: sh
-
- make html
+See `CONTRIBUTING.md `__.
.. |Graphene Logo| image:: http://graphene-python.org/favicon.png
.. |Build Status| image:: https://travis-ci.org/graphql-python/graphene-django.svg?branch=master