# TSL 代理规则集 本规则集定义 AI/自动化代理在处理 TSL 代码时必须遵守的核心约束。 ## 范围与优先级 - 作为仓库级基线规则集使用;更靠近代码目录的规则更具体并可覆盖基线。 - 当代理规则与 docs 冲突:安全/合规优先,其次保持仓库一致性。 ## 代理工作原则(铁律) 1. 先理解目标与上下文,再动手改代码 2. 修改要小而清晰;避免无关重构 3. 发现安全问题(明文密钥/鉴权漏洞)立即标注或修复 4. 不引入新依赖或工具,除非明确要求 ## TSL 核心约定(不可违反) - 用户已给出 `.tsl` / `.tsf` 后缀时,后缀就是判断依据;未给后缀时,再根据用户交付目标判断。 - `.tsl` 是可执行脚本:语句区按顺序执行;如果需要函数/类,放在脚本语句后的函数/类声明区。 - `.tsf` 是模块/函数扩展文件:部署到解释器 `funcext` 后,脚本可直接调用其中暴露的顶层函数。 - 格式:4 空格缩进;关键字小写;多语句用 `begin/end` - 命名:类型/函数/property `PascalCase`;变量/参数 `snake_case`;私有 `snake_case_`;常量 `kPascalCase` ## agent 判断流程 1. 用户已给出 `.tsl` / `.tsf` 后缀时,后缀就是判断依据。 2. 用户未给后缀时,先判断交付目标是可执行代码还是通用模块;可执行代码对应 `.tsl`,通用模块对应 `.tsf`。 3. 交付目标仍不明确时向用户确认,不要替用户发明文件形态。 4. 写 `.tsl` 时,先生成顺序执行的语句区;调用本脚本内函数时,函数声明写在语句区之后。 5. 写 `.tsf` 时,只生成模块/扩展声明;顶层函数部署到解释器 `funcext` 后才可被脚本直接调用。 6. 如果关键词命中业务、函数库、模块集成或项目执行信息,按 `docs/tsl/index.md` 分流,不把所有问题都当语法问题。 7. 不确定时先找已验证可执行示例、反例页和对应专题页;没有文档结论时不要发明语法,改为向用户确认或记录文档缺口。 ## 安全红线(不可触碰) - 不得在代码/日志/注释中写入明文密钥、密码、Token、API Key - 修改鉴权/权限逻辑必须说明动机与风险 - 不确定是否敏感时按敏感信息处理 ## 权威来源 - TSL 总入口:`docs/tsl/index.md` - 语法手册:`docs/tsl/syntax/index.md` - 金融业务入口:`docs/tsl/finance/index.md` - 模块与集成入口:`docs/tsl/modules/index.md` - 函数检索入口:`docs/tsl/reference/index.md` - 代码风格:`docs/tsl/code_style.md` - 命名规范:`docs/tsl/naming.md` ## Skills(按需加载) - `$commit-message` ## 与开发规范的关系 - 规范文档:`docs/tsl/` 与 `docs/common/`