Repository Structure#
This repository is a monorepo. It contains multiple projects , each with their own dependencies and builds. There are also shared libraries that can be used across multiple projects. Finally, there are one-off scripts that are used to help manage the repository itself.
Besides these directories, there are also some configuration files and directories that are used to help manage the repository. These include things like GitHub prescribed directories and files, pre-commit configuration, uv workspace files, etc.
apex/
├── .github/
│ ├── workflows/
│ │ ├── build1.yml
│ │ ├── build2.yml
│ │ └── ...
│ └── README.md
├── projects/
│ ├── project1/
│ ├── project2/
│ └── ...
├── libs/
│ ├── lib1/
│ ├── lib2/
│ └── ...
├── scripts/
│ ├── script1.mk
│ ├── script2.sh
│ ├── script3.py
│ └── ...
├── .gitignore
├── .pre-commit-config.yaml
├── pyproject.toml
└── uv.lock
Projects#
Each project is a standalone application or service. They are located in the projects/ directory. Each project has its own dependencies and build process. This allows for each project to be built and deployed independently of the others. Projects can really only share code by using a shared library.
Libs#
Libraries are shared code that can be used across multiple projects. They are located in the libs/ directory. These libraries are not meant to be standalone applications or services, but rather code that can be used by other projects.
Scripts#
Scripts are isolated pieces of code that do not fit as a project or library. These can be things like repository management scripts, or helpers for installing dependencies. They are located in the scripts/ directory.