# Brainstorming outline for development guide
[Nick] I'm putting this together to gather my thoughts. I'm also curious if there are existing guides with a compatible open source license we can copy & paste from, and then adapt.
* Overview
* Welcome!
* Imposter syndrome disclaimer
* Code of conduct
* Navigating the PlasmaPy Project
* GitHub organization and repository
* Webpage
* Matrix chat
* Communication channels
* PLEPs
* Affiliated packages
* Many ways to contribute
* Providing user
* support
* Organizing events
* Providing feedback
* Making feature requests
* Making bug reports
* Providing knowledge on plasma physics topics
* Creating educational materials (introduce plasma concepts while introducing PlasmaPy)
* Background tutorials
* Python
* Research software engineering with Python open access book
* `astropy.units`
* git & GitHub: how to make a pull request
* reStructuredText
* Markdown
* Getting set up to contribute
* Fork & clone repo
* Set up remotes
* Install PlasmaPy for development
* Choosing an IDE
* Running tests
* Helpful practice: run tests often!
* Workflow (assuming completion of previous tasks)
* Create a branch
* Pushing branch to fork on GitHub
*
* Code guidelines
* pre-commit
* Documentation
* Overview
* reStructuredText
* numpydoc standard
* Example docstring
* How to build documentation locally
* Sphinx
* `plasmapy-sphinx`
* Documentation guidelines
* Best practices
* Tests
* Overview
* Test are run using pytest
* How tests are run
* Command line
* Inside Python
*
* Floating point comparisons
* Test independence & parametrization
* `plasmapy-test`
* Release guide
* NEP 28 guidelines