Files
playbook/docs/tsl/toolchain.md
T
cshandClaude Opus 4.6 8b93311cae 📝 docs(tsl): clarify syntax constraints and enhance test infrastructure
- Add TSF file naming constraint to syntax/02_core_model.md
- Clarify semicolon rules: syntax facts vs style preferences
- Separate control flow end semicolon rules (syntax allows both)
- Add function body semicolon requirements to syntax/05_functions_and_calls.md
- Move style preferences to code_style.md (control flow end semicolons)
- Remove cross-references from syntax docs to maintain independence
- Enhance Gitea workflow emoji for better CI output readability
- Fix CI test path from tests/ to test/
- Organize agent test results under test/agent/result/ directory
- Add complete Chinese translation of test cases (test_cases_zh.md)
- Clean up .gitignore to use unified test/agent/result/ directory
- Remove obsolete agent test artifacts (REPORTS_LOCATION.md, old results)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-06-21 17:04:50 +08:00

131 lines
3.9 KiB
Markdown

# TSL 工具链与验证命令模板
文档类型:项目工具链模板页
是否可直接用于生成代码:否
是否含可直接照写示例:否
是否含不可照写反例:否
遇到不确定时:项目自身文档、`scripts/*` 入口脚本、CI 配置;只有目标项目已真实填写且没有 `<...>` 占位符时才看本页。
本页只记录目标项目的 TSL 执行事实模板,不是通用执行手册,也不是 TSL 语法事实页。只有目标项目已真实填写且没有 `<...>` 占位符时,本页才可以作为执行依据;仍有 `<...>` 占位符时,不能作为执行依据。本页不提供真实可执行命令。
## 模板说明
- 本文件提供一份通用占位模板,不是通用执行手册。
- 只有在本项目已经写明工具链、执行入口和验证命令后,才可以把它当成执行依据。
- 如果这页里仍然出现 `<...>` 形式的占位符,说明本项目还没有写明真实信息,应回到项目自身文档或脚本入口。
- 以下命令片段全部属于模板占位,不代表真实命令,也不应被 AI 直接复制执行。
## 为什么不可直接执行
- 占位符没有绑定到本项目的真实解释器、路径、环境变量和脚本入口。
- 同一条模板命令在不同项目里可能对应不同的安装方式、权限模型和验证流程。
- 如果直接照抄本页内容,最常见的错误是路径不存在、可执行入口错误、凭证缺失或验证层级不匹配。
## 项目填写项
### 解释器/编译器(必填)
- 工具名称:`<tsl/tslcli/内部工具名>`
- 安装方式:`<内部安装包/路径/IDE 自带/CI 镜像等>`
- 版本要求:`<固定版本或范围;未知可写 N/A>`
- 推荐统一入口脚本:`scripts/tsl.{sh,ps1}`
可执行入口模板:
代码块身份:配置片段 / 概念骨架
```text
<tsl>
<tsl> <path/to/script.tsl> <args...>
```
平台命令模板:
代码块身份:配置片段 / 概念骨架
```text
macOS/Linux: <tsl>
Windows: <tsl>
```
### 运行环境(按需)
- 必要环境变量模板:
代码块身份:配置片段 / 概念骨架
```text
<TSL_HOME>
<TSL_LIB_PATH>
<LICENSE_PATH>
```
- 外部依赖模板:
代码块身份:配置片段 / 概念骨架
```text
<数据库/服务/共享目录/网络权限/账户权限>
```
- 运行约束模板:
代码块身份:配置片段 / 概念骨架
```text
是否允许联网:<yes/no>
是否需要许可证/凭证:<说明如何在本地与 CI 提供;禁止写入仓库>
```
- 凭证、许可证等敏感信息应通过环境变量或 CI secrets 注入;文档只写变量名或获取方式,不写明文值。
### 验证命令(必须填写)
- 至少填写一个最小冒烟命令。
- 如果项目存在测试体系,应继续填写单元测试、静态检查和构建命令。
- 所有命令都应替换成本项目的真实入口,不要保留模板占位。
最小冒烟模板:
代码块身份:配置片段 / 概念骨架
```text
<tsl> <path/to/SmokeTest.tsl> <args...>
sh scripts/smoke.sh
powershell -File scripts/smoke.ps1
```
单元测试模板:
代码块身份:配置片段 / 概念骨架
```text
sh scripts/test.sh
<tsl> <path/to/TestRunner.tsl> <args...>
```
静态检查 / 格式化模板:
代码块身份:配置片段 / 概念骨架
```text
sh scripts/lint.sh
sh scripts/format.sh
```
构建 / 打包模板:
代码块身份:配置片段 / 概念骨架
```text
sh scripts/build.sh
```
成功信号也必须写成真实规则,例如退出码、关键输出或产物路径。
### 失败处理约定(必填)
- 只修复与本次改动直接相关的失败;无关失败在输出中说明并隔离。
- 若某验证步骤无法执行,必须明确写出原因与替代验证手段,例如最小复现脚本或手动检查清单。
- 建议记录:执行的命令、退出码、关键日志片段和产物位置,便于 review 与复现。