How to Organize a Repository ?ΒΆ

It is important to have a common structure shared between all repositories. Yet, this is not currently a rule written in stone since this has not yet been really discussed. However, here is the current structure emerging from actual repositories

Directory Description
/ Repository root directory
/etc Essential files that need to be available for maintainers
/etc/conda Conda recipes for generating Conda binaries
/etc/docker Docker contexts for generating Docker images
/doc Essential files that need to be available for documenters
/share Essential files that need to be available for users
/share/git Git sub-modules that need to be available for users
/share/jupyter Jupyter notebooks that need to be available for users
/src Essential files that need to be available for developers
/src/cpp C++ source code files
/src/cpp/SConscript SCons configuration file for the C++ library installation
/src/py Python source code files
/src/py/wrapper Boost.Python source code for interfacing the C++ library with Python
/src/py/wrapper/SConscript SCons configuration file for the C++/Python binding library generation
/test Test files
/travis.yml Travis CI configuration file
/.travis.yml A symbolic link to the Travis CI configuration file
/appveyor.yml Appveyor CI configuration file
/SConstruct SCons general configuration file