Skip to content

Commit 93ae688

Browse files
committed
feat: add cursor rules
1 parent e462a50 commit 93ae688

File tree

4 files changed

+131
-0
lines changed

4 files changed

+131
-0
lines changed
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
---
2+
description:
3+
globs:
4+
alwaysApply: true
5+
---
6+
# 项目结构概述
7+
8+
这是一个基于 React 和 Vite 构建的个人博客项目。
9+
10+
## 主要文件结构
11+
12+
- **入口文件**:[src/main.tsx](mdc:src/main.tsx) 是应用程序的入口点
13+
- **应用组件**:[src/App.tsx](mdc:src/App.tsx) 定义了应用的主要路由和布局
14+
- **主题提供者**:[src/ThemeProvider.tsx](mdc:src/ThemeProvider.tsx) 提供了主题控制功能
15+
16+
## 主要目录结构
17+
18+
- **src/views/**: 包含主要页面组件
19+
- **src/components/**: 包含可复用的UI组件
20+
- **src/hooks/**: 自定义React hooks
21+
- **src/utils/**: 工具函数和辅助方法
22+
- **src/md-theme/**: Markdown主题相关功能
23+
- **public/**: 静态资源文件
24+
- **dist/**: 构建输出目录
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
---
2+
description:
3+
globs:
4+
alwaysApply: true
5+
---
6+
# React组件模式
7+
8+
本项目使用React函数组件和箭头函数语法。
9+
10+
## 组件示例
11+
12+
典型组件示例:[src/components/Layout.tsx](mdc:src/components/Layout.tsx)
13+
14+
## 组件规范
15+
16+
- 使用箭头函数定义组件
17+
- 使用TypeScript进行类型定义
18+
- 使用TailwindCSS进行样式处理
19+
- UI组件基于shadcn/ui库
20+
21+
## 主要页面
22+
23+
- 博客列表:[src/views/BlogList.tsx](mdc:src/views/BlogList.tsx)
24+
- 博客文章:[src/views/BlogPost.tsx](mdc:src/views/BlogPost.tsx)
25+
- 笔记:[src/views/Notes.tsx](mdc:src/views/Notes.tsx)

.cursor/rules/03-tech-stack.mdc

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
---
2+
description:
3+
globs:
4+
alwaysApply: true
5+
---
6+
# 技术栈
7+
8+
本项目使用的主要技术栈包括:
9+
10+
## 前端框架
11+
12+
- **React**:使用React 18作为前端框架
13+
- **React Router**:使用React Router v7进行路由管理
14+
- **TypeScript**:项目全面使用TypeScript
15+
16+
## 构建工具
17+
18+
- **Vite**:使用Vite作为构建工具
19+
- **PNPM**:使用PNPM作为包管理器
20+
21+
## UI和样式
22+
23+
- **TailwindCSS**:使用TailwindCSS进行样式管理
24+
- **shadcn/ui**:使用shadcn组件库
25+
- **SCSS**:部分样式使用SCSS
26+
27+
## Markdown处理
28+
29+
- **react-markdown**:渲染Markdown内容
30+
- **rehype-raw**:支持原始HTML内容
31+
- **remark-gfm**:支持GitHub风格的Markdown
32+
- **shiki**:代码语法高亮
33+
34+
## 数据管理
35+
36+
- **SWR**:用于数据获取和缓存
37+
- **IndexedDB (idb)**:用于客户端数据存储

.cursor/rules/04-code-conventions.mdc

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
---
2+
description:
3+
globs:
4+
alwaysApply: true
5+
---
6+
# 代码约定
7+
8+
本项目遵循以下代码约定:
9+
10+
## TypeScript
11+
12+
- 使用显式类型声明
13+
- 避免使用`any`类型
14+
- 优先使用接口而不是类型别名
15+
- 使用类型断言时优先使用`as`语法
16+
17+
## React组件
18+
19+
- 使用箭头函数定义组件
20+
- 组件文件名和组件名保持一致
21+
- 将共享组件放在`src/components`目录下
22+
- 将页面级组件放在`src/views`目录下
23+
24+
## 样式
25+
26+
- 优先使用TailwindCSS类名
27+
- 复杂样式可以使用SCSS模块
28+
- 遵循移动优先的响应式设计原则
29+
30+
## 工具函数
31+
32+
- 通用工具函数放在`src/utils`目录下
33+
- 自定义钩子放在`src/hooks`目录下
34+
35+
## 命名约定
36+
37+
- 组件使用PascalCase命名
38+
- 函数和变量使用camelCase命名
39+
- 常量使用UPPER_SNAKE_CASE命名
40+
- 类型和接口使用PascalCase命名
41+
42+
## 代码格式化
43+
44+
- 使用Prettier进行代码格式化
45+
- 提交前使用Husky钩子自动格式化

0 commit comments

Comments
 (0)