playbook/rulesets/tsl/index.md

58 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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/`