Merge commit 'ac794a6a7051497ff60b947642d44f0f8c04d6c6' into lsp-server

This commit is contained in:
csh
2026-01-08 15:56:37 +08:00
113 changed files with 254751 additions and 176 deletions
@@ -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. 可读性
+11 -5
View File
@@ -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`
## 与开发规范的关系
+2 -1
View File
@@ -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 变更要显式说明影响与迁移方式。
+13 -4
View File
@@ -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_`
## 与开发规范的关系