diff --git a/.trae/skills/teyvat-guide/SKILL.md b/.trae/skills/teyvat-guide/SKILL.md new file mode 100644 index 00000000..caef16c1 --- /dev/null +++ b/.trae/skills/teyvat-guide/SKILL.md @@ -0,0 +1,125 @@ +--- +name: teyvat-guide +description: TeyvatGuide 项目 SKILL。处理 Vue+Tauri+TypeScript 项目开发,包括组件开发、API 集成、SQLite 操作或代码规范。 +--- + +# TeyvatGuide 项目规范 + +## 技术栈 + +- **前端**: Vue 3 (Composition API), TypeScript 6, Vuetify 4 +- **桌面运行时**: Tauri 2 (Rust backend) +- **构建工具**: Vite 8 +- **状态管理**: Pinia + persistedstate +- **数据库**: SQLite (via @tauri-apps/plugin-sql) +- **包管理器**: pnpm 10 + +## 代码风格 + +### 通用规则 + +| 规则 | 要求 | +|------|------| +| 语言 | 中文注释,英文代码 | +| 缩进 | 2 空格 | +| 引号 | 字符串用双引号,Vue 模板用单引号 | +| 分号 | 必须 | +| 尾逗号 | ES5 风格 | +| 行长度 | ≤100 字符 | + +### TypeScript 规范 + +> 详见 [typescript-standards skill](../typescript-standards/SKILL.md) + +**枚举**: 使用 `const` 对象模式,禁止原生 `enum` + +```typescript +// 正确 +const GameServerEnum = { + CN_GF01: "cn_gf01", + CN_QD01: "cn_qd01", +}; + +// 错误 +enum GameServerEnum { ... } +``` + +**JSDoc**: 导出函数必须包含 `@since` 标签 + +```typescript +/** + * 函数描述 + * @since Beta v0.9.6 + * @param param - 参数描述 + * @returns 返回描述 + */ +``` + +**Import 顺序**: 1. 内置模块 2. 外部包 3. 别名 (@/*) 4. 相对导入 + +### Vue 规范 + +- 组件结构: Template → script → style +- 使用 `