用途:在编写或审查本仓库的 TypeScript 代码时使用,统一类型、命名、注释与 API 设计规范。
主要能力与规则:
- 禁止 any:除非绝对必要且为最后手段,否则不得使用 any。遇到需要 any 时,先寻找已有合适类型;若不存在,则在正确位置定义新类型——共享类型放 packages/shared/src/types.ts 或相关子目录,SDK 专用类型放 packages/sandbox/src/clients/types.ts 或相应客户端文件,容器专用类型放 packages/sandbox-container/src/ 下并按合适命名。新类型应在所有适用处复用,避免零散的一次性结构。这样可在编译期而非运行期发现错误。
- 大写缩写风格:缩写出现在 camelCase 或 PascalCase 标识符中时保持全大写,如 SandboxRPCAPI、containerURL、parseHTTPHeader、getAPIKey;适用于 API、URL、HTTP、RPC、SSE、SSH、DNS、ID 等。例外:库提供的名称保留原大小写,例如 capnweb 的 RpcTarget。
- 代码注释:面向未来读者,描述代码当前状态与设计意图,不引用历史背景。避免出现“to avoid”“to fix”“to prevent”“instead of”“properly”等暗示过去问题的措辞,改写为说明当前行为及为何如此设计。
- API 设计:新增或修改 SDK 方法时,使用清晰描述性的名称;在传给容器 API 前校验输入;提供带上下文的友好错误信息,使用 packages/shared/src/errors/ 中的自定义错误类。
适用场景:本仓库 TypeScript 代码的编写与代码审查。
限制:资料未提供安装命令、运行方式、收费或平台信息。