CppCoreGuidelinesTooling
Overview of tooling support for the CppCoreGuidelines
Install / Use
/learn @JonasToth/CppCoreGuidelinesToolingREADME
CppCoreGuidelinesTooling
This repository will contain an overview of tooling support to enforce and check against the CppCoreGuidelines.
This is not a clone of the Guidelines, but a helpful enhancement.
The document is structured similarly to the Guidelines, with each subsection being seperate. Since not every rule is enforceable by tools, some rules will not be mentioned here, to reduce the noise.
Main Sections
P: Philosophy
I: Interfaces
F: Functions
C: Classes and class hierarchies
Enum: Enumerations
R: Resource Management
ES: Expressions and statements
Per: Performance
CP: Concurrency
E: Error handling
Con: Constants and immutability
T: Templates and generic programming
CPL: C-style programming just use C++ Compiler
SF: Source Files
SL: The standard library currently a bit messy?
Supporting Sections
Pro: Profiles
NL: Naming and layout
Tools
So which tools am I talking about?
Clangs Toolchain
They aim to give a tool for all tasks, clang-tidy and clang-format are the most useful right now.
- clang-format
- clang-tidy
- clang static analyzer - can be called from clang-tidy!
- list of clangs sanitizer - this is compiler related, note that gcc implements some sanitizers as well!
Each of these tools gets it own overview page, and a general overview what is possible to check with any tool.
The detail pages will contain more information, like the ability to automatically fix issues, like clang-tidy does.
To use clang-tidy copy one of the clang-tidy-<version> to your repository
and name it as .clang-tidy. It will enable all checks that enforce the
guidelines. You can further modify the checks as well.
CppCheck
cppcheck is a static analyzer that implements a lot of useful checks.
CppCoreCheck
CppCoreCheck is a static analysis tool provided by Microsoft and useable in
Visual Studio. It partially implements the CppCoreGuidelines but is Microsoft
specific.
An introduction is provided in the officical docs as well as a list of checks.
Implementation status
This section gives an overview of the Implementation status for the
CppCoreGuidelines in several analysis tools. Most of them are clang based and
clang-tidy has most of the checks implemented.
Total statistics
/partial/done/todo/enforceable/ (/12/111/168/291/) 38.14% enforced, 42.26% addressed
classes_hierarchy.md statistics
/partial/done/todo/enforceable/ (/0/23/44/67/) 34.32% enforced, 34.32% addressed
concurrency.md statistics
/partial/done/todo/enforceable/ (/0/2/10/12/) 16.66% enforced, 16.66% addressed
constants.md statistics
/partial/done/todo/enforceable/ (/1/2/2/5/) 40.00% enforced, 60.00% addressed
enumerations.md statistics
/partial/done/todo/enforceable/ (/0/1/6/7/) 14.28% enforced, 14.28% addressed
error_handling.md statistics
/partial/done/todo/enforceable/ (/1/3/3/7/) 42.85% enforced, 57.14% addressed
expressions.md statistics
/partial/done/todo/enforceable/ (/0/24/36/60/) 40.00% enforced, 40.00% addressed
functions.md statistics
/partial/done/todo/enforceable/ (/3/12/14/29/) 41.37% enforced, 51.72% addressed
interfaces.md statistics
/partial/done/todo/enforceable/ (/1/3/7/11/) 27.27% enforced, 36.36% addressed
naming_layout.md statistics
/partial/done/todo/enforceable/ (/0/8/5/13/) 61.53% enforced, 61.53% addressed
performance.md statistics
/partial/done/todo/enforceable/ (/0/0/1/1/) 0% enforced, 0% addressed
philosophy.md statistics
/partial/done/todo/enforceable/ (/6/0/3/9/) 0% enforced, 66.66% addressed
profiles.md statistics
/partial/done/todo/enforceable/ (/0/2/1/3/) 66.66% enforced, 66.66% addressed
resource_management.md statistics
/partial/done/todo/enforceable/ (/0/17/4/21/) 80.95% enforced, 80.95% addressed
source_files.md statistics
/partial/done/todo/enforceable/ (/0/2/8/10/) 20.00% enforced, 20.00% addressed
templates.md statistics
/partial/done/todo/enforceable/ (/0/4/24/28/) 14.28% enforced, 14.28% addressed
Related Skills
openhue
349.2kControl Philips Hue lights and scenes via the OpenHue CLI.
sag
349.2kElevenLabs text-to-speech with mac-style say UX.
weather
349.2kGet current weather and forecasts via wttr.in or Open-Meteo
tradingview-mcp
682Advanced TradingView MCP Server for AI-powered market analysis. Real-time crypto & stock screening, technical indicators, Bollinger Band intelligence, and candlestick patterns. Works with Claude Desktop & AI assistants. Multi-exchange support (Binance, KuCoin, Bybit+). Open source trading toolkit.
