# filipdutescu/modern-cpp-template

A template for modern C++ projects using CMake, Clang-Format, CI, unit testing and more, with support for downstream inclusion.

Repository: https://github.com/filipdutescu/modern-cpp-template
Canonical: https://ross.abutalabs.com/products/modern-cpp-template
Language: CMake
License: Unlicense
License Family: permissive
Topics: cmake, cmake-template, clang-format, cpp, template, gtest, google-test, cmake-module, cmakelists, github-actions, github-action, open-source, project-template, static-analysis, ci, continuous-integration, code-coverage, codecov, ccache, package-manager
Last push: 2025-12-26T19:28:02+00:00

## Health v2 (maintenance only)
Score: 49/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 59, release rhythm 8, longevity 100
- inputs: {"age_days": 2313, "days_push": 250, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1916, forks 222 (observed 2026-08-28T04:05:53.790727+00:00)

## What it is
A project template for modern C++ projects built around CMake, bundling Clang-Format, Clang-Tidy/Cppcheck, GoogleTest or Catch2 unit testing, code coverage, Doxygen, and GitHub Actions CI for Windows, Linux, and macOS. It supports Conan and Vcpkg package managers, ccache, and downstream inclusion via FetchContent or add_subdirectory.

## Use cases
- start a new modern C++ project with CMake
- C++ project template with CI and unit testing
- scaffold a CMake project with clang-format and clang-tidy
- set up GitHub Actions CI for C++ on Windows, Linux and macOS
- C++ template with GoogleTest and code coverage
- template supporting Conan and vcpkg package managers
- header-only or library C++ project starter

## When to choose
- you are starting a fresh C++ project and want CMake best practices out of the box
- you want batteries-included CI, testing, static analysis, and coverage setup
- you need a permissively licensed (Unlicense) template you can freely adapt
- you want optional Conan/Vcpkg and Doxygen integration

## When to avoid
- you have an existing project with its own established build conventions
- you disagree with the author's CMake or formatting style and would rewrite most of it
- you need a build system other than CMake
- you want a minimal template without testing or CI scaffolding

## Facets
- artifact type: learning-resource
- maturity: active
- function: build-tool, testing, linter, formatter, ci-cd, documentation, package-manager
- domain: developer-tools, cross-platform
- platform: cpp, cross-platform
- tags: project-template, cmake-template, clang-tidy, clang-format, gtest, catch2, conan, vcpkg, codecov, ccache, doxygen, boilerplate, boilerplate, cpp, cmake, github-actions

## Member repositories
- filipdutescu/modern-cpp-template (main) score 49

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:05:53.790727+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T08:32:13.513255+00:00, confidence not recorded.
  - readme: https://github.com/filipdutescu/modern-cpp-template (fetched 2026-08-28T04:05:53.790727+00:00, sha 2ebdf87d3a69)
- Data as of 2026-08-30T08:39:29.467469+00:00.
