2.1 KiB
2.1 KiB
C++ 代理规则集
本规则集定义 AI/自动化代理在处理 C++ 代码时必须遵守的核心约束。
范围与优先级
- 作为仓库级基线规则集使用;更靠近代码目录的规则更具体并可覆盖基线。
- 当代理规则与 docs 冲突:安全/合规优先,其次保持仓库一致性。
代理工作原则(铁律)
- 先理解目标与上下文,再动手改代码
- 修改要小而清晰;避免无关重构
- 发现安全问题(内存安全/鉴权漏洞)立即标注或修复
- 不引入新依赖或工具,除非明确要求
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-debug;conan 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(按需加载)
$testing-workflow$code-review-workflow$commit-message
与开发规范的关系
- 本仓库内:
docs/cpp/与docs/common/ - 目标项目 subtree:
docs/standards/playbook/docs/cpp/与docs/standards/playbook/docs/common/