.. _DYAD_developer_guide:
***************
Developer Guide
***************
Since DYAD is part of the `Flux Framework `_, developers
are expect to follow all rules and contribution guidelines specified in the
Collective Code Construction Contract (`C4.1 `_).
Below are some additional links regarding contributing, code styling, and commit
etiquette:
* `The 'Contributing' Page from the Flux Framework's ReadTheDocs `_
* `The Flux Coding Style Guide `_ (used for C code)
* `The black Coding Style Guide `_ (used for Python code)
Besides the broader Flux contribution guidelines above, we also expect C/C++ :code:`#include`
directives to be grouped. Each group should be separated by one newline.
Includes for external tools, system headers, and the C++
Standard Library should be placed in one group, and includes for internal DYAD headers
should be placed in another group. The group for external headers should be placed
before the group for internal headers.
Consider utilizaing the formatting scripts under ``scripts/formatting``
.. code-block:: shell
cat .clang-format
scripts/formatting/check-formatting.sh
scripts/formatting/autoformat.sh