From f204115823abb75a39a03c6bb99c792d64955cdf Mon Sep 17 00:00:00 2001 From: csh Date: Thu, 8 Jan 2026 15:58:04 +0800 Subject: [PATCH] :wrench: chore(standards): sync cpp rules and gitattributes --- .agents/cpp/code_quality.md | 9 ++++++--- .agents/cpp/index.md | 16 +++++++++++----- .gitattributes | 3 +++ 3 files changed, 20 insertions(+), 8 deletions(-) diff --git a/.agents/cpp/code_quality.md b/.agents/cpp/code_quality.md index d776c72..1695a3f 100644 --- a/.agents/cpp/code_quality.md +++ b/.agents/cpp/code_quality.md @@ -4,12 +4,15 @@ ## 1. 总体要求 -- C++ 代码遵守 `docs/cpp/code_style.md` 与 `docs/cpp/naming.md`(在目标项目中通常 vendoring 到标准快照路径)。 -- 统一使用 `clang-format`(Google 基线)保持格式一致;不要手工“对齐排版”制造 diff 噪音。 +- C++ 代码遵守 `docs/cpp/code_style.md` 与 + `docs/cpp/naming.md`(在目标项目中通常 vendoring 到标准快照路径)。 +- 统一使用 + `clang-format`(Google 基线)保持格式一致;不要手工“对齐排版”制造 diff 噪音。 - 改动聚焦目标;避免“顺手重构”。 - API 变更要显式说明影响与迁移方式。 - 涉及三方依赖(例如 Conan)的改动必须说明动机、替代方案与影响面;默认不“顺手升级依赖”。 -- 涉及 C++ Modules 的改动(`.cppm` 或 `export module` 变更)必须同步更新构建系统的模块清单与相关 target 配置。 +- 涉及 C++ Modules 的改动(`.cppm` 或 `export module` + 变更)必须同步更新构建系统的模块清单与相关 target 配置。 ## 2. 可读性 diff --git a/.agents/cpp/index.md b/.agents/cpp/index.md index b3d5690..4fe80b4 100644 --- a/.agents/cpp/index.md +++ b/.agents/cpp/index.md @@ -25,12 +25,18 @@ ## C++ 必要约定(必须遵守) - 语言标准:C++23(含 Modules)。 -- 格式化:统一使用 `clang-format`(Google 基线);避免手工排版对齐造成 diff 噪音。 +- 格式化:统一使用 + `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`。 +- 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`。 ## 与开发规范的关系 diff --git a/.gitattributes b/.gitattributes index d36ae08..ff17fdb 100644 --- a/.gitattributes +++ b/.gitattributes @@ -83,3 +83,6 @@ CMakePresets.json text eol=lf *.tar binary *.exe binary # END playbook .gitattributes + +# Added from playbook .gitattributes (source: docs/standards/playbook/.gitattributes) +*.bat text eol=crlf