Repository: PlasmaPy/PlasmaPy

Issue:
Describe the development workflow in docs
Right now our development guide does not quite have an equivalent to Astropy's page on [how to make a code contribution](https://docs.astropy.org/en/stable/development/workflow/development_workflow.html).  We should add one to our own development guide.  

We can adapt Astropy's guide pretty freely, since it's under their BSD 2.5 +/- 0.5 clause license which we already have in our `licenses` directory.  Astropy's guide goes into a bit more detail than would be necessary for a quickstart guide, so we might want to make it more concise so that it's easier for newcomers to get the most important information.  Extra information that is important but not strictly necessary for getting started should go into the later parts of the development guide.


Discussion:
I'm tentatively adding the 0.7.0 milestone for this.  In #1178, I created an outline of a contributor guide page on how to make a code contribution, as part of a demonstration for Plasma Hack Week.  However, I haven't been able to get back to it to expand it.

Before we release 0.7.0, we should probably do one of the following:
 - Finish a reasonably complete first draft of the page.  The due date of the feature freeze will be motivation, I guess?
 - Temporarily hide the page from the documentation build.
 - Add an admonition that says that the page is under construction.

Resolving patch:
diff --git a/docs/conf.py b/docs/conf.py
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -101,6 +101,7 @@
     "sphinx_gallery.load_style",
     "IPython.sphinxext.ipython_console_highlighting",
     "sphinx_changelog",
+    "sphinx_tabs.tabs",
     "hoverxref.extension",
     "notfound.extension",
     "sphinx_issues",
@@ -198,6 +199,9 @@
 rst_prolog = """
 .. role:: py(code)
    :language: python
+
+.. role:: bash(code)
+   :language: bash
 """
 
 # List of patterns, relative to source directory, that match files and
@@ -258,7 +262,8 @@
     "development/changelog_guide": "../contributing/changelog_guide.html",
     "development/code_guide": "../contributing/code_guide.html",
     "development/doc_guide": "../contributing/doc_guide.html",
-    "development/install_dev": "../contributing/install_dev.html",
+    "development/install_dev": "../contributing/getting_ready.html",
+    "contributing/install_dev": "../contributing/getting_ready.html",
     "development/release_guide": "../contributing/release_guide.html",
     "development/testing_guide": "../contributing/testing_guide.html",
 }
@@ -364,6 +369,7 @@
     (python_role, "docstring of"),
     (python_role, "validation specifications"),
     # for reST workarounds defined in docs/common_links.rst
+    (python_role, "git"),
     (python_role, "h5py"),
     (python_role, "IPython.sphinxext.ipython_console_highlighting"),
     (python_role, "lmfit"),


Test patch:
diff --git a/docs/contributing/testing_guide.rst b/docs/contributing/testing_guide.rst
--- a/docs/contributing/testing_guide.rst
+++ b/docs/contributing/testing_guide.rst
@@ -15,7 +15,7 @@ Summary
 * New functionality added to PlasmaPy must also have tests.
 
 * Tests are located in files that begin with :file:`test_` which are
-  inside subdirectories named :file:`tests`.
+  inside subdirectories named :file:`tests/`.
 
 * Tests are either functions beginning with ``test_`` or classes
   beginning with ``Test``.
@@ -25,7 +25,7 @@ Summary
   - Open a terminal.
 
   - Navigate to the top-level directory (probably named
-    :file:`PlasmaPy`) in your local clone of PlasmaPy's repository.
+    :file:`PlasmaPy/`) in your local clone of PlasmaPy's repository.
 
   - If you are on MacOS or Linux, run:
 
@@ -88,8 +88,8 @@ does it in isolation from other tests :cite:p:`khorikov:2020`. A typical
 multiple software components work together as intended.
 
 PlasmaPy's tests are set up using the pytest_ framework. The tests for
-a subpackage are located in its :file:`tests` subdirectory in files with
-names of the form :file:`test_*.py`. For example, tests for
+a subpackage are located in its :file:`tests/` subdirectory in files
+with names of the form :file:`test_*.py`. For example, tests for
 `plasmapy.formulary.speeds` are located at
 :file:`plasmapy/formulary/tests/test_speeds.py` relative to the top
 of the package. Example code contained within docstrings is tested to
@@ -253,7 +253,7 @@ directory and all of its subdirectories. Because it takes time to run
 PlasmaPy's tests, it is usually most convenient to specify that only a
 subset of the tests be run. To run the tests contained within a
 particular file or directory, include its name after ``pytest``. If you
-are in the directory :file:`plasmapy/particles/tests`, then the tests in
+are in the directory :file:`plasmapy/particles/tests/`, then the tests in
 in :file:`test_atomic.py` can be run with:
 
 .. code-block:: shell
@@ -344,9 +344,9 @@ write a test.
 Locating tests
 --------------
 
-The tests for each subpackage are contained in its :file:`tests`
+The tests for each subpackage are contained in its :file:`tests/`
 subdirectory. For example, the tests for `plasmapy.particles` are
-located in :file:`plasmapy/particles/tests`. Test files begin with
+located in :file:`plasmapy/particles/tests/`. Test files begin with
 :file:`test_` and generally contain either the name of the module or a
 description of the behavior that is being tested. For example, tests for
 |Particle| are located at