📦 deps(playbook): sync rules, prompts, memory-bank

This commit is contained in:
csh
2026-02-02 13:02:42 +08:00
parent 42fd6168e9
commit 01caaf8062
19 changed files with 892 additions and 161 deletions
+34 -34
View File
@@ -1,47 +1,47 @@
# C++ 代理规则集.agents/cpp
# C++ 代理规则集
本规则集用于存放 **AI/自动化代理在仓库内工作时必须遵守的规则**C++ 语言专属)
本规则集定义 AI/自动化代理在处理 C++ 代码时必须遵守的核心约束
## 范围与优先级
- 作为仓库级基线规则集使用;更靠近代码目录的规则更具体并可覆盖基线。
- 当代理规则与 `docs` 发生冲突时:
1. 安全/合规优先
2. 其次保持仓库现有一致性
- 作为仓库级基线规则集使用;更靠近代码目录的规则更具体并可覆盖基线。
- 当代理规则与 docs 冲突:安全/合规优先,其次保持仓库一致性。
## 代理工作原则
## 代理工作原则(铁律)
- 先理解目标与上下文,再动手改代码
- 修改要小而清晰;避免无关重构
- 不要引入新依赖或工具,除非明确要求。
1. 先理解目标与上下文,再动手改代码
2. 修改要小而清晰;避免无关重构
3. 发现安全问题(内存安全/鉴权漏洞)立即标注或修复
4. 不引入新依赖或工具,除非明确要求
## 子文档
## C++ 核心约定(不可违反)
- 安全与鉴权:`auth.md`
- 性能:`performance.md`
- 代码质量:`code_quality.md`
- 测试:`testing.md`
- 语言标准: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 交叉编译验证
## C++ 必要约定(必须遵守
## 安全红线(不可触碰
- 语言标准:C++23(含 Modules)。
- 格式化:统一使用
`clang-format`(Google 基线);避免手工排版对齐造成 diff 噪音。
- 文件与命名:遵守 `docs/cpp/` 下的规范(或目标项目 vendoring 的标准快照路径)。
- Modules:module 名建议使用点分层级;每段用 `lower_snake_case`module
interface unit 推荐 `.cppm`
- Modules 工程:新增/删除/重命名 `.cppm` 或修改 `export module`
时,必须更新 CMake target 的模块 file-set/清单(否则构建容易漂移)。
- Windows:不支持原生 Windows 开发环境;Windows 产物通过 Linux +
Clang 交叉编译 profile 验证(profile 的 `[settings] os=Windows`)。
- 依赖管理(如使用 Conan):必须提供统一 preset`conan-release`/`conan-debug`);优先通过
`conan install` + `cmake --preset ...`
验证;如遇 Conan 家目录权限问题可临时设置 `CONAN_HOME=/tmp/conan-home`
- 不得在代码/日志/注释中写入明文密钥、密码、Token、API Key
- 避免内存不安全操作:悬垂指针、双重释放、越界访问
- 禁用不安全函数(`strcpy`, `sprintf`, `gets` 等)
- 修改鉴权/权限逻辑必须说明动机与风险
## 权威来源
- 代码风格:`docs/standards/playbook/docs/cpp/code_style.md`
- 命名规范:`docs/standards/playbook/docs/cpp/naming.md`
- 工具链:`docs/standards/playbook/docs/cpp/toolchain.md`
- 依赖管理`docs/standards/playbook/docs/cpp/dependencies_conan.md`
- clangd 配置:`docs/standards/playbook/docs/cpp/clangd.md`
## Skills(按需加载)
- `$commit-message`
## 与开发规范的关系
- 本仓库内:`docs/cpp/``docs/common/`
- 目标项目内(若按 README 推荐的 subtree prefix `docs/standards/playbook`):
- 代码风格:`docs/standards/playbook/docs/cpp/code_style.md`
- 命名规范:`docs/standards/playbook/docs/cpp/naming.md`
- 提交信息:`docs/standards/playbook/docs/common/commit_message.md`
- 本仓库内:`docs/standards/playbook/docs/cpp/``docs/standards/playbook/docs/common/`
- 目标项目 subtree`docs/standards/playbook/docs/cpp/` `docs/standards/playbook/docs/common/`