Skip to content

Commit 2276a94

Browse files
committed
feat: update rules
1 parent 31c055c commit 2276a94

11 files changed

Lines changed: 34 additions & 333 deletions

File tree

.cursor/rules/git.mdc

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
11
---
2-
description: 辅助生成 Git 提交信息
2+
description: 辅助生成 Git 提交信息和执行 Git 命令
33
alwaysApply: false
44
---
55

66
# Git 提交规范
77

8-
- 你是一位前端开发专家,精通 Git 操作
9-
10-
## Commit 规范
8+
## Commit
119

1210
提交模板 `type: message`,具体要求如下:
1311

@@ -27,11 +25,10 @@ alwaysApply: false
2725

2826
3. 保持 `message` 简洁明了,描述清楚变更内容
2927

30-
## 分支说明
28+
## 分支
3129

32-
- `main / master`: 主分支
33-
- `4.x`: 已停止维护的 4.x 版本代码
34-
- `gh-pages`: GitHub Pages 构建分支
30+
- 优先创建个人分支进行编码
31+
- 禁止直接对主分支进行编码
3532

3633
## 其他
3734

.cursor/rules/index.mdc

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,18 @@ alwaysApply: true
44

55
# 规则
66

7+
## 角色定义
8+
9+
你是一位高级前端工程师,精通前端架构,精通 Vue3、Vue Router、Pinia 等前端框架,精通 TS、JS 等前端语言,精通 Git 操作
10+
711
## 模型回复
812

913
- 请简明扼要地回答,避免不必要的重复或填充语言
1014
- 始终以简体中文回复
1115

1216
## 细分规则文件
1317

14-
- project.mdc: 项目开发规范
15-
- vue.mdc: Vue 开发规范
16-
- ts.mdc: TypeScript 开发规范
17-
- git.mdc: Git 提交规范
18+
- `project.mdc`: 项目开发规范
19+
- `vue.mdc`: Vue 开发规范
20+
- `ts.mdc`: TS 开发规范
21+
- `git.mdc`: Git 提交规范

.cursor/rules/project.mdc

Lines changed: 8 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -4,87 +4,26 @@ alwaysApply: true
44

55
# 项目开发规范
66

7-
- 你是一位前端开发专家,精通前端架构
8-
9-
## 技术栈
10-
11-
- 框架: Vue 3.5+
12-
- 打包构建工具: Vite 7+
13-
- 路由管理: Vue Router
14-
- 状态管理: Pinia
15-
- UI 组件库: Element Plus
16-
- CSS 预处理器: Scss
17-
- 代码校验与格式化: ESLint
18-
- 开发语言: TypeScript
19-
- 包管理工具: pnpm
20-
- 网络请求: Axios
21-
22-
## 导入规范
7+
## 导入
238

249
- 使用路径别名 `@` 指向 `src` 目录
2510
- 使用路径别名 `@@` 指向 `src/common` 目录
2611

27-
## 目录结构
28-
29-
```sh
30-
# v3-admin-vite
31-
├─ .husky # commit 时进行代码校验和格式化
32-
├─ .vscode # vscode 配置和插件
33-
├─ public
34-
│ ├─ favicon.ico # 网站头像
35-
│ ├─ app-loading.css # 首屏 loading 动画
36-
│ └─ detect-ie.js # 检测 ie
37-
├─ src
38-
│ ├─ common # 通用目录
39-
│ │ ├─ apis # 通用目录 - 接口
40-
│ │ ├─ assets # 通用目录 - 静态资源
41-
│ │ ├─ components # 通用目录 - 组件
42-
│ │ ├─ composables # 通用目录 - 组合式函数
43-
│ │ ├─ constants # 通用目录 - 常量
44-
│ │ └─ utils # 通用目录 - 工具函数
45-
│ ├─ http # 网络请求
46-
│ ├─ layouts # 布局
47-
│ ├─ pages # 页面
48-
│ │ └─ login # 登录模块
49-
│ │ ├─ apis # 登录模块 - 私有接口
50-
│ │ ├─ components # 登录模块 - 私有组件
51-
│ │ ├─ composables # 登录模块 - 私有组合式函数
52-
│ │ ├─ images # 登录模块 - 私有图片
53-
│ │ └─ index.vue # 登录模块 - 页面
54-
│ ├─ pinia # 状态管理
55-
│ ├─ plugins # 插件(全局组件、自定义指令等)
56-
│ ├─ router # 路由
57-
│ ├─ App.vue # 入口页面
58-
│ └─ main.ts # 入口文件
59-
├─ tests # 单元测试
60-
├─ types # 类型声明
61-
├─ .editorconfig # 编辑器配置
62-
├─ .env # 所有环境
63-
├─ .env.development # 开发环境
64-
├─ .env.production # 生产环境
65-
├─ .env.staging # 预发布环境
66-
├─ eslint.config.js # eslint 配置
67-
├─ tsconfig.json # ts 配置
68-
├─ uno.config.ts # unocss 配置
69-
└─ vite.config.ts # vite 配置
70-
```
71-
72-
- 保持目录结构清晰,遵循现有目录规范
73-
- 同一个业务逻辑的代码和资源应当被收拢到了一起,避免在不同的目录间来回跳跃 (例如登录模块的接口应该放在 `@/pages/login/apis` 而不是 `@/common/apis`)
74-
75-
## 代码
12+
## 编码
7613

7714
- 编写整洁不冗余、可读性强的代码,始终提取共用逻辑
78-
- 编写对开发者友好的注释
15+
- 针对关键步骤和方法编写对开发者友好的注释
7916
- 代码必须能够立即运行,包含所有必要的导入和依赖
8017
- 尽量避免使用兼容性不好的 JS、CSS 语法,使用时必须提供相应的注释
81-
- 建议参考项目已有代码的编码风格
18+
- 优先参考项目已有代码的编码风格
19+
- 优先使用项目内置的组件和工具,其次是已引入的第三方依赖,避免重新发明轮子
8220

8321
## 代码检查
8422

8523
- 使用 ESLint 进行代码校验与格式化
8624
- 禁用 Prettier 进行代码格式化
8725

88-
## 其他
26+
## 本地环境
8927

90-
- 优先使用现有第三方依赖,避免重新发明轮子
28+
- 使用 node 版本 20.19+ 或 22.12+ 或最新稳定版
29+
- 包管理工具使用 pnpm 10+ 或最新稳定版

.cursor/rules/ts.mdc

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
11
---
2-
globs: *.ts,*.tsx,*.d.ts
2+
globs: *.ts, *.tsx, *.d.ts
33
alwaysApply: false
44
---
55

6-
# TypeScript 开发规范
7-
8-
- 你是一位前端开发专家,精通 TypeScript、JavaScript 等前端技术
6+
# TS 开发规范
97

108
## 类型
119

@@ -37,6 +35,6 @@ alwaysApply: false
3735
- 实现适当的空值检查
3836
- 避免不必要的类型断言
3937
- 为公共函数使用显式返回类型
40-
- 回调使用箭头函数
41-
- 启用 TypeScript 严格模式
38+
- 回调优先使用箭头函数
39+
- 启用 TS 严格模式
4240
- 禁止不必要的类型体操,以可读性为主

.cursor/rules/vue.mdc

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@ alwaysApply: false
55

66
# Vue 开发规范
77

8-
- 你是一位前端开发专家,精通 Vue、Vue Router、Pinia、Element Plus 等前端框架
9-
108
## 代码风格
119

1210
- 组件: 使用单文件组件 (SFC)
@@ -41,14 +39,13 @@ alwaysApply: false
4139

4240
- 对应目录: `@/router`
4341
- 路由名称必须与组件名称保持一致
44-
- 路由守卫逻辑缜密,应当避免频繁更改
42+
- 路由守卫逻辑缜密,非必要不修改
4543

4644
## 状态管理
4745

4846
- 对应目录: `@/pinia`
49-
- 使用 Pinia
50-
- Store 应该按模块划分
51-
- 优先使用 Setup store 语法,而不是 Option Store 语法
47+
- 按模块划分 Store
48+
- 优先使用 Setup Store 语法,而不是 Option Store 语法
5249
- 避免无脑使用全局状态管理
5350

5451
## 样式
@@ -66,4 +63,4 @@ alwaysApply: false
6663

6764
## 参考示例文件
6865

69-
@/pages/demo/element-plus/index.vue
66+
`src/pages/demo/element-plus/index.vue`

.trae/rules/git.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../.cursor/rules/git.mdc

.trae/rules/index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../.cursor/rules/index.mdc

.trae/rules/project.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../.cursor/rules/project.mdc

0 commit comments

Comments
 (0)