un-pany-v3-admin-vite-ts-rule.ocm.json json Copy{
"ocm": "1",
"id": "un-pany-v3-admin-vite-ts-rule",
"kind": "skill",
"name": "ts",
"description": "globs: *.ts,*.tsx,*.d.ts alwaysApply: false ---",
"publisher": "un-pany",
"version": "1.0.0",
"capabilities": {
"domains": [
"general"
],
"tags": [
"skill-md",
"github-cursor-rules"
],
"languages": [
"en"
]
},
"quality_prior": 0.6,
"examples": [
"globs: *.ts,*.tsx,*.d.ts alwaysApply: false ---"
],
"primary": false,
"metadata": {
"source": {
"provider": "github-cursor-rules",
"repository": "https://github.com/un-pany/v3-admin-vite",
"path": ".cursor/rules/ts.mdc",
"ref": "c2c895d71d571e9c18c2453fa85469a479c79fc6",
"url": "https://github.com/un-pany/v3-admin-vite/blob/c2c895d71d571e9c18c2453fa85469a479c79fc6/.cursor/rules/ts.mdc",
"key": "un-pany/v3-admin-vite/.cursor/rules/ts.mdc"
}
},
"instructions": "---\nglobs: *.ts,*.tsx,*.d.ts\nalwaysApply: false\n---\n\n# TS 开发规范\n\n## 类型\n\n- 对于对象定义,优先使用接口而非类型\n- 对于联合类型、交叉类型和映射类型,使用 `type`\n- 避免使用 `any`,对于未知类型优先使用 `unknown`\n- 使用泛型实现可复用的类型模式\n- 不可变属性使用 `readonly`\n\n## 命名\n\n- 类型名称和接口使用 PascalCase\n- 变量和函数使用 camelCase\n- 常量使用 UPPER_CASE\n- 使用带有辅助动词的描述性名称(例如 isLoading、hasError)\n\n## 代码组织\n\n- 类型定义应靠近使用它们的地方\n- 共享的类型和接口从公共类型文件导出\n- 将 `*.d.ts` 文件放在 `types` 目录中\n\n## 错误处理\n\n- 捕获可能的异常,并对其进行处理\n\n## 其他\n\n- 实现适当的空值检查\n- 避免不必要的类型断言\n- 为公共函数使用显式返回类型\n- 回调优先使用箭头函数\n- 启用 TS 严格模式\n- 禁止不必要的类型体操,以可读性为主",
"cost": {
"context_tokens": 125
}
}