# TSL Playbook 代理规则集(.agents/tsl) 本规则集用于存放 **AI/自动化代理在仓库内工作时必须遵守的规则**。 在多语言项目中,推荐将本规则集放在目标项目的 `.agents/tsl/` 下(由 `scripts/sync_standards.*` 同步),并与其他语言规则集并行: - `.agents/tsl/`:TSL 标准规则集(本仓库提供) - `.agents/cpp/`、`.agents/python/` 等:其他语言规则集(按需新增) 这些规则与 `docs/` 下的人类开发规范并行: - `docs/`:给人看的编码/命名/提交规范 - `.agents/`:给代理看的任务边界、质量与安全要求 ## 范围与优先级 - 作为仓库级基线规则集使用;更靠近代码目录的规则应更具体并可覆盖基线。 - 当代理规则与 `docs` 发生冲突时: 1. 安全/合规优先 2. 其次保持仓库现有一致性 ## 代理工作原则 - 先理解目标与上下文,再动手改代码。 - 修改要小而清晰;避免无关重构。 - 任何可能影响行为的改动都要补充或更新测试/示例(若项目有测试体系)。 - 不要引入新依赖或工具,除非明确要求。 ## 子文档 - 安全与鉴权:`auth.md` - 性能:`performance.md` - 代码质量:`code_quality.md` - 测试:`testing.md` ## 分类(本仓库现状) 当前本规则集下的文件以 **跨语言通用规则** 为主(不绑定具体语言语法/工具链),但包含 TSL 代码在仓库里最容易踩坑的“语言级硬约束”,以避免代理在缺少上下文时写出不符合 TSL/TSF 约定的代码。 - `auth.md`:敏感信息/鉴权边界 - `code_quality.md`:质量底线与 review 清单 - `performance.md`:性能原则与验证 - `testing.md`:测试策略 若项目需要更细的语言/模块专属代理要求,建议在更靠近源码的目录放置更具体的规则(例如 `src/.agents/`),或并行新增其他规则集(例如 `.agents/cpp/`)。 ## TSL/TSF 必要约定(必须遵守) - `.tsl` 与 `.tsf` 都是 Tinysoft Language 源文件;修改它们时统一按 TSL 规范处理(不要把 `.tsf` 当成“另一种语言/无风格约束的脚本”)。 - 文件级约束:一个文件只能有一个顶层声明,且文件基名必须与该顶层声明同名(推荐 `PascalCase`);`.tsl` 顶层声明只能是 `function`。 - 格式:空格缩进(默认 4 空格),关键字用小写,复杂分支/多语句分支用 `begin/end` 块表达结构。 - 命名:类型/顶层函数/property 用 `PascalCase`;局部变量/参数用 `snake_case`;私有成员变量用 `snake_case_`。 ## 与开发规范的关系 - 在本仓库内:`docs/tsl/` 与 `docs/common/`。 - 在目标项目内:标准快照应 vendoring 到 `docs/standards/tsl/`,对应路径为: - 代码风格:`docs/standards/tsl/docs/tsl/code_style.md` - 命名规范:`docs/standards/tsl/docs/tsl/naming.md` - 提交信息:`docs/standards/tsl/docs/common/commit_message.md`