用途:为 Script Kit 编写脚本、测试文件与 scriptlet bundle 时提供元数据与打包模式参考。
主要能力:
- 全局元数据(推荐):新脚本/测试使用 import '../../scripts/kit-sdk'; 并导出 export const metadata = { name, description, shortcut, author, ... }。优势是类型安全、IDE 自动补全与校验、字段更多、编译期反馈。
- 旧式注释元数据:兼容写法,如 // Name: My Script、// Description: ...、// Shortcut: cmd+shift+m,再 import '../../scripts/kit-sdk'。
- 测试中的 SDK 导入:测试从仓库路径导入 import '../../scripts/kit-sdk';,可用全局 arg()、div()、editor()、fields()、captureScreenshot()、getLayoutInfo() 等;生产脚本使用运行时提取的 ~/.scriptkit/sdk/kit-sdk.ts。
- Scriptlet bundle(~/.scriptkit/snippets/*.md):可选 YAML frontmatter,首行必须为 ---,并以单独一行的 --- 结束;字段 name、description、author、icon 均可选,未知字段忽略。
兼容与校验:frontmatter 可选,缺失仍可用;缺 name 时回退文件名(去掉 .md);无效 frontmatter 记录警告但不中断解析。缺少结束 --- 会警告并跳过 frontmatter;YAML 无效会警告(含错误与行号)并跳过;错误通过 HUD 通知带行号提示。
默认图标映射:无显式 icon 时,template→text-cursor-input、tool→wrench、snippet→code、script→terminal、prompt→message-circle、action→zap、fallback→file-text。图标优先级:显式 frontmatter icon、工具类型默认、bundle 回退 file-text。
排错:frontmatter 未解析需确认首行 --- 与独立结束行;图标不显示检查名称是否存在及 [CACHE] 日志;HUD 校验错误按行号处理并给特殊字符加引号;元数据未更新可 touch 文件刷新缓存并查看日志。
限制:资料未提供更多字段细节、平台支持范围与收费信息。