Merge commit 'ac794a6a7051497ff60b947642d44f0f8c04d6c6' into lsp-server
This commit is contained in:
@@ -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. 可读性
|
||||
|
||||
|
||||
@@ -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`。
|
||||
|
||||
## 与开发规范的关系
|
||||
|
||||
|
||||
@@ -8,4 +8,5 @@
|
||||
- `.agents/cpp/`:C++ 相关规则集(C++23,含 Modules)
|
||||
- `.agents/python/`:Python 相关规则集
|
||||
|
||||
目标项目落地时,通常通过 `scripts/sync_standards.*` 将某个规则集同步到目标项目根目录的 `.agents/<lang>/`。
|
||||
目标项目落地时,通常通过 `scripts/sync_standards.*`
|
||||
将某个规则集同步到目标项目根目录的 `.agents/<lang>/`。
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
# Python 代理规则集(.agents/python)
|
||||
|
||||
本规则集用于存放 **AI/自动化代理在仓库内工作时必须遵守的规则**(Python 语言专属)。
|
||||
本规则集用于存放
|
||||
**AI/自动化代理在仓库内工作时必须遵守的规则**(Python 语言专属)。
|
||||
|
||||
## 范围与优先级
|
||||
|
||||
@@ -28,7 +29,8 @@
|
||||
- 格式化与静态检查:优先使用仓库既有配置(`pyproject.toml`、`.flake8`、`.pylintrc`、`.pre-commit-config.yaml`);不要在未沟通前切换到另一套工具链。
|
||||
- import 顺序:遵守 `isort profile = google`(若启用)。
|
||||
- 文档字符串:Google 风格(与 `.flake8`/团队约定对齐)。
|
||||
- 命名:遵循 `docs/python/style_guide.md` 中的约定;如与既有代码冲突,以局部一致性优先。
|
||||
- 命名:遵循 `docs/python/style_guide.md`
|
||||
中的约定;如与既有代码冲突,以局部一致性优先。
|
||||
|
||||
## 与开发规范的关系
|
||||
|
||||
|
||||
@@ -4,7 +4,10 @@
|
||||
|
||||
## 1. 总体要求
|
||||
|
||||
- 对 `.tsl`/`.tsf` 文件一律按 TSL 规范处理(`.tsf` 也是 TSL 源文件):遵守标准快照中的 `docs/tsl/code_style.md` 与 `docs/tsl/naming.md`(在目标项目中通常 vendoring 到 `docs/standards/playbook/docs/tsl/`)。
|
||||
- 对 `.tsl`/`.tsf` 文件一律按 TSL 规范处理(`.tsf`
|
||||
也是 TSL 源文件):遵守标准快照中的 `docs/tsl/code_style.md` 与
|
||||
`docs/tsl/naming.md`(在目标项目中通常 vendoring 到
|
||||
`docs/standards/playbook/docs/tsl/`)。
|
||||
- 改动聚焦目标;避免“顺手重构”。
|
||||
- API 变更要显式说明影响与迁移方式。
|
||||
|
||||
|
||||
@@ -25,10 +25,19 @@
|
||||
|
||||
## TSL/TSF 必要约定(必须遵守)
|
||||
|
||||
- `.tsl` 与 `.tsf` 都是 Tinysoft Language 源文件;修改它们时统一按 TSL 规范处理(不要把 `.tsf` 当成“另一种语言/无风格约束的脚本”)。
|
||||
- 文件级约束:一个文件只能有一个顶层声明,且文件基名必须与该顶层声明同名(推荐 `PascalCase`);`.tsl` 顶层声明只能是 `function`。
|
||||
- 格式:空格缩进(默认 4 空格),关键字用小写,复杂分支/多语句分支用 `begin/end` 块表达结构。
|
||||
- 命名:类型/顶层函数/property 用 `PascalCase`;局部变量/参数用 `snake_case`;私有成员变量用 `snake_case_`。
|
||||
- `.tsl` 与 `.tsf` 都是 Tinysoft
|
||||
Language 源文件;修改它们时统一按 TSL 规范处理(不要把 `.tsf`
|
||||
当成“另一种语言/无风格约束的脚本”)。
|
||||
- 语法权威来源:以 `docs/tsl/syntax_book/index.md`
|
||||
为准;如与其他说明冲突,以语法手册为准。
|
||||
- 为避免上下文膨胀:不要整份加载
|
||||
`docs/tsl/syntax_book/function.md`,只按需检索与引用相关片段。
|
||||
- 文件级约束:一个文件只能有一个顶层声明,且文件基名必须与该顶层声明同名(推荐
|
||||
`PascalCase`);`.tsl` 顶层声明只能是 `function`。
|
||||
- 格式:空格缩进(默认 4 空格),关键字用小写,复杂分支/多语句分支用 `begin/end`
|
||||
块表达结构。
|
||||
- 命名:类型/顶层函数/property 用 `PascalCase`;局部变量/参数用
|
||||
`snake_case`;私有成员变量用 `snake_case_`。
|
||||
|
||||
## 与开发规范的关系
|
||||
|
||||
|
||||
Reference in New Issue
Block a user