Modern C++ template using CMake with a library target, CLI app target, and test target.
- Stage: Draft | Active | Stable | Deprecated
- Owner:
- License:
- Visibility: Public | Private | Internal
- Reason:
- Promotion criteria to Public:
- A clean starter for C++ projects that need predictable structure and CI.
- Not a full framework or opinionated application architecture.
- Click Use this template on GitHub to create a new repository.
- Rename package/module identifiers and update ownership metadata.
- Review
.env.exampleand update environment configuration for your target project. - Run validation and CI checks before first release.
- CMake >= 3.20
- C++20 compiler
cmake -S . -B build -DENABLE_TESTS=ON -DBUILD_APPS=ON
cmake --build build
ctest --test-dir build --output-on-failure
./build/ProjectName_cligit config core.hooksPath .githooksclang-format -i apps/project_name_cli.cpp include/project_name.hpp src/project_name.cpp tests/test_placeholder.cppinclude/public headerssrc/library implementationapps/executable entrypointstests/test targetsdocs/project documentationexamples/optional sample programstools/helper scripts
See CONTRIBUTING.md.
For multi-model C/C++ architectures (library/executable families, engine-app splits, multi-lib workspaces, and addon plugins), use repo-template-cpp-family.