playbook/rulesets/cpp/index.md

2.0 KiB
Raw Blame History

C++ 代理规则集

本规则集定义 AI/自动化代理在处理 C++ 代码时必须遵守的核心约束。

范围与优先级

  • 作为仓库级基线规则集使用;更靠近代码目录的规则更具体并可覆盖基线。
  • 当代理规则与 docs 冲突:安全/合规优先,其次保持仓库一致性。

代理工作原则(铁律)

  1. 先理解目标与上下文,再动手改代码
  2. 修改要小而清晰;避免无关重构
  3. 发现安全问题(内存安全/鉴权漏洞)立即标注或修复
  4. 不引入新依赖或工具,除非明确要求

C++ 核心约定(不可违反)

  • 语言标准C++23优先使用 Modules避免裸指针、new/delete、C 风格字符串
  • 代码风格Google C++ Style Guide使用项目 .clang-format;头文件保护用 #pragma once
  • 命名规范:文件 lower_with_under.cpp/.h/.cppm;类型 CapWords;函数/变量 lower_with_under;常量 kCapWords;成员 lower_with_under_;命名空间 lower_with_under
  • Modules 工程:模块名点分层 lower_snake_case;接口文件 .cppm;修改 export module 必须更新 CMake module file-set
  • 构建与依赖Conan 需提供 conan-release/conan-debugconan install + cmake --preset ...Windows 通过 Linux + Clang 交叉编译验证

安全红线(不可触碰)

  • 不得在代码/日志/注释中写入明文密钥、密码、Token、API Key
  • 避免内存不安全操作:悬垂指针、双重释放、越界访问
  • 禁用不安全函数(strcpy, sprintf, gets 等)
  • 修改鉴权/权限逻辑必须说明动机与风险

权威来源

  • 代码风格:docs/cpp/code_style.md
  • 命名规范:docs/cpp/naming.md
  • 工具链:docs/cpp/toolchain.md
  • 依赖管理:docs/cpp/dependencies_conan.md
  • clangd 配置:docs/cpp/clangd.md

Skills按需加载

  • $commit-message

与开发规范的关系

  • 本仓库内:docs/cpp/docs/common/
  • 目标项目 subtreedocs/standards/playbook/docs/cpp/docs/standards/playbook/docs/common/