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 |