diff --git a/doc/source/development/development.rst b/doc/source/development/development.rst
index 7c2203db1..48b3737fd 100644
--- a/doc/source/development/development.rst
+++ b/doc/source/development/development.rst
@@ -2,6 +2,46 @@
Development
===========
+Source Code Orientation
+=======================
+
+There are a number of layers to Kayobe, so here we provide a few pointers to
+the major parts.
+
+CLI
+---
+
+The Command Line Interface (CLI) is built using the `cliff
+`__ library. Commands are exposed as Python
+entry points in `setup.cfg
+`__. These
+entry points map to classes in `kayobe/cli/commands.py
+`__.
+The helper modules `kayobe/ansible.py
+`__
+and `kayobe/kolla_ansible.py
+`__
+are used to execute Kayobe playbooks and Kolla Ansible commands respectively.
+
+Ansible
+-------
+
+Kayobe's Ansible playbooks live in `ansible/*.yml
+`__, and these
+typically execute roles in `ansible/roles/
+`__.
+Global variable defaults are defined in group variable files in
+`ansible/group_vars/all/
+`__
+and these typically map to commented out variables in the configuration files
+in `etc/kayobe/*.yml
+`__.
+A number of custom Jinja filters exist in `ansible/filter_plugins/*.py
+`__.
+Kayobe depends on roles hosted on Ansible Galaxy, and these and their version
+requirements are defined in `requirements.yml
+`__.
+
Ansible Galaxy
==============