name: following-conventions description: C++ coding conventions. Use when editing .cpp/.hpp files or asking about C++ style.
C++ Coding Conventions
Tooling
Use clang-format for formatting and clang-tidy for linting. The .clang-format
and .clang-tidy files in the repository root are authoritative—run the tools
and trust the output.
Style Conventions
These are not enforced by tooling:
-
West const:
const T¬T const& -
Prefer
auto: Use almost-always-auto, make conversions explicit (e.g.,auto x = int64_t{0}) - Vertical whitespace: Avoid blank lines within functions. Use comments to separate logical blocks instead.
- Naming: See naming.md
File Organization
- Headers:
.hpp, implementation:.cpp - Forward declarations:
<module>/fwd.hpp - Use
#pragma once—no manual include guards
Classes
Member order:
-
public, thenprotected, thenprivate - Within each: constructors, operators, mutating members, accessors
Rules:
- Mark single-argument constructors
explicit - Use
explicit(false)when implicit conversion is intentional - Follow the rule of zero or rule of five
- Declare move operations
noexcept - Use
structfor simple data aggregates where the public members are the API
Template Metaprogramming
- Use
classfor template parameters;typenameonly for dependent types - Name parameters
T, packsTs, argumentsx, packsxs - Provide
*_tand*_vhelpers for traits
Comments
-
FIXME:for bugs,TODO:for improvements (colon required) - Doxygen:
///with Markdown—do not use@param,@returns,@pre,@post
chat Comments (0)
Sign in to join the discussion and leave a comment.
Skill Details
GitHub Stars
3
GitHub Forks
0
Created
Jan 2026
Last Updated
il y a 8 mois
tools
tools code quality
Related Skills
Build your own?
Join 12,000+ developers contributing to the Claude ecosystem.
No comments yet. Be the first to share your thoughts!