How to contribute

Where to start

If you are interested in extending or modifying atomicrex the API documentation, which provides an overview of the code structure as well as a description of the various classes and their functionality, is a good starting point. It is maintained in the doc/apidoc directory and can be generated by issueing the doxygen command (assuming you have installed doxygen e.g., via sudo apt-get install doxygen).

Contribution guidelines

The code of atomicrex is maintained as a gitlab repository. You can access the repository via a regular account, which allows to edit and modify your own local copy. In order to contribute your modifications to the main project, you need, however, developer status within the atomicrex gitlab project. To this end, you need to contact one of the people with master status for this gitlab project.

Coding standards for the C++ portions of atomicrex have not yet been specified. In this regard please emulate the style and structure of the existing code. When it comes to general principles and Python code, please follow the coding conventions of the ASE project.

With regard to handling git the ASE contribution guide should be followed including the use of tags in the commit messages and the commit/push/merge procedure. By following these guidelines it becomes significantly easier for the maintainers to parse your code and merge it into the main branch.