Contributing¶
👍🎉 First off, thanks for taking the time to contribute! 🎉👍
Where to start?¶
If you are looking for a good issue to start with, please check the following:
- good first issue - issues that should be pretty simple to implement,
- help wanted - issues that typically are a bit more involved than beginner issues,
- high priority - things to fix ASAP but often of higher complexity.
Source¶
To build from source on your local machine, please follow the instructions below:
Clone the repository¶
Install the package manager (conan)¶
The dependencies needed for the development of Endstone are provided by Conan package manager (>=2.0). To install
the package manager, run the following command in your Python environment.
The repository ships a Jinja-templated default profile at .conan2/profiles/default that auto-detects the host compiler and pins the right settings (clang-cl on Windows, clang/libc++ on Linux, Ninja generator). Do not run conan profile detect — it would overwrite this file.
Install dependencies¶
Run the following command to install the project's dependencies:
Now, activate the build virtual environment created by conan (only required for the manual cmake --preset path below; the pip install path does not need it):
Run cmake and check the version:
Build with CMake¶
Install¶
The PEP 517 backend (conan-py-build) runs Conan internally, so installing from sources does not need a separate conan install step:
To keep the C++ build tree persistent across reinstalls (much faster after the first build), pass a build dir via config_settings:
Documentation¶
We are building our documentation using Material for MkDocs.
The easiest way to install all the required dependencies is with pip:
After that, you can either: