From 0c41ce472590b377f4f841ee996d7856054513c2 Mon Sep 17 00:00:00 2001 From: BTMuli Date: Wed, 25 Mar 2026 18:01:12 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=93=9D=20=E6=B7=BB=E5=8A=A0=20TeyvatGuide?= =?UTF-8?q?=20=E9=A1=B9=E7=9B=AE=20SKILL=20=E6=96=87=E6=A1=A3=EF=BC=8C?= =?UTF-8?q?=E5=8C=85=E5=90=AB=E6=8A=80=E6=9C=AF=E6=A0=88=E3=80=81=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E9=A3=8E=E6=A0=BC=E5=8F=8A=E6=95=B0=E6=8D=AE=E5=BA=93?= =?UTF-8?q?=E6=93=8D=E4=BD=9C=E8=A7=84=E8=8C=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .trae/skills/teyvat-guide/SKILL.md | 125 +++++++++++++++++++++++++++++ 1 file changed, 125 insertions(+) create mode 100644 .trae/skills/teyvat-guide/SKILL.md 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 +- 使用 `