diff --git a/.gemini/settings.json b/.gemini/settings.json new file mode 100644 index 0000000..b9cfd51 --- /dev/null +++ b/.gemini/settings.json @@ -0,0 +1,5 @@ +{ + "general": { + "previewFeatures": true + } +} \ No newline at end of file diff --git a/GEMINI.md b/GEMINI.md index ae3b138..87ec19f 100644 --- a/GEMINI.md +++ b/GEMINI.md @@ -1,76 +1,67 @@ -# 项目:vue-mgt-template - 个人项目代码记录系统,博客系统 +# 项目:vue-mgt-template - 个人项目代码记录系统 ## 项目概述 -该项目作为我的个人代码记录总结实践系统,整体是以一种后台管理系统的模式集成开发的,项目框架依赖vue-pure-admin精简版,该项目框架文档地址为https://pure-admin.cn/pages/introduction/#%E5%9C%A8%E7%BA%BF%E9%A2%84%E8%A7%88,其中整个项目不包含后端代码,接口为mock数据或本地文件数据等 +本系统为个人代码记录与总结实践平台,采用后台管理系统模式集成开发。 +- **框架核心**:基于 vue-pure-admin 精简版 (文档: https://pure-admin.cn/pages/introduction/) +- **后端交互**:纯前端项目,不包含后端代码,接口使用 Mock 数据或本地文件。 -## 技术栈规范 -- **语言**: Vue3(setup语法模式),TypeScript -- **UI库**: element plus -- **css组件**: tailwindcss,scss +## 🛠 技术栈规范 +- **核心框架**: Vue 3 (Script Setup), TypeScript +- **构建工具**: Vite 5, pnpm +- **状态管理**: Pinia (配合 pinia-plugin-persistedstate) +- **UI 组件**: Element Plus, TailwindCSS, SCSS +- **代码规范**: ESLint (v9), Prettier, Stylelint +- **图标方案**: Iconify, SVG -## 项目文档 -文档地址为: /README.md - -## 项目结构 -``` +## 📂 项目结构 +```text vue3-mgt-template/ -├───.env # 环境变量文件 -├───index.html # 应用入口HTML文件 -├───package.json # 定义项目依赖和脚本 -├───vite.config.ts # Vite 构建配置文件 -├───tailwind.config.ts # Tailwind CSS 配置文件 -├───tsconfig.json # TypeScript 编译器配置 -├───mock/ # 本地Mock数据接口 -├───public/ # 公共静态资源目录 -├───src/ # 主要源代码目录 -│ ├───App.vue # 根 Vue 组件 -│ ├───main.ts # 应用入口,初始化Vue实例 -│ ├───api/ # API 请求模块 -│ ├───assets/ # 静态资源(图片、字体、样式) -│ ├───components/ # 可复用的全局组件 -│ ├───directives/ # Vue 自定义指令 -│ ├───hooks/ # 可复用的 Composition API (Hooks) -│ ├───layout/ # 后台管理系统整体布局组件 -│ ├───plugins/ # 插件(如 ECharts, Element Plus) -│ ├───router/ # Vue Router 路由配置 -│ ├───store/ # Pinia 全局状态管理 -│ ├───style/ # 全局样式和 SCSS 变量 -│ ├───utils/ # 工具函数模块 -│ └───views/ # 页面级组件 -└───types/ # 全局 TypeScript 类型定义 +├── .env* # 环境变量配置 +├── mock/ # Mock 数据接口 +├── public/ # 静态资源 +├── src/ +│ ├── api/ # 接口定义 +│ ├── assets/ # 静态资源 +│ ├── components/ # 全局组件 (PascalCase) +│ ├── directives/ # 自定义指令 +│ ├── hooks/ # Composables +│ ├── layout/ # 布局组件 +│ ├── router/ # 路由配置 +│ ├── store/ # Pinia 状态库 +│ ├── style/ # 全局样式 +│ ├── utils/ # 工具函数 +│ └── views/ # 页面组件 +└── types/ # TS 类型定义 ``` -## 开发规范 - -### **对Gemini的特别指令** -- **严格遵守规范**:当Gemini为本项目生成或修改任何代码时,**必须** 严格遵守本文件中定义的所有开发规范。 -- **中文优先**:请任何时候使用中文与我沟通或者确认,所有代码注释、日志输出(例如 `console.log`)、以及提交信息(Commit Message)**必须** 使用中文。 -- **多平台兼容**:所有代码需要兼容mac,windows,linux平台。 -- **文档和注释**:该项目是一个个人学习记录项目,请尽可能多提供文档和注释。 -- **执行步骤**:执行任何任务的时候,请先输出你的思路,等待我确认之后再修改代码 -- **确认问题**:有任何不确认的地方,请先向我确认再执行任务 -- **代码修改**:不要更改之前的代码逻辑,包括删除注释等,只允许添加代码,或者当老代码不能满足需求的时候才允许修改 +## 🚀 常用命令 (Scripts) +- **启动开发**: `pnpm dev` (或 `pnpm serve`) +- **生产构建**: `pnpm build` +- **代码检查**: `pnpm lint` (包含 eslint, prettier, stylelint) +- **类型检查**: `pnpm typecheck` +## 🤖 Gemini 交互与开发规范 +### 核心指令 +1. **中文优先**:所有沟通、代码注释、日志输出 (`console.log`)、Git Commit Message **必须**使用中文。 +2. **执行流程**:在执行代码修改前,**必须**先输出思路(Plan),待用户确认(Approve)后再执行。 +3. **代码修改**: + - **增量原则**:优先通过新增代码实现功能。 + - **修改限制**:原则上不修改现有逻辑,**除非**是明确的 Bug 修复或用户要求的重构。禁止随意删除现有注释。 +4. **文档记录**: + - 结束会话前,**必须**将本次核心变动以“本次会话总结”格式更新到 `README.md` 的“对话记录”部分。 + - 尽可能为新代码添加详细的中文文档和注释。 ### 代码风格 -- 使用 TypeScript 严格模式 -- 组件命名采用 PascalCase (如 `TaskCard.vue`) -- 函数和变量使用 camelCase(驼峰命名) -- 常量使用 UPPER_SNAKE_CASE - -### 项目启动 -- 请参考package.json中dev命令,可以直接启动项目 - -### 注释和日志 -- 注释请使用中文 -- 日志输出请使用中文 - -## 对话记录 -- **会话结束指令**:當我表示準備結束會話時,你**必須**先將本次對話的重點,以“本次会话总结”的格式更新到 `README.md` 的“对话记录”部分,然後才能結束對話。 +- **TypeScript**: 严格模式,避免 `any`。 +- **命名规范**: + - 组件文件: `PascalCase` (如 `TaskCard.vue`) + - 变量/函数: `camelCase` (如 `getUserInfo`) + - 常量: `UPPER_SNAKE_CASE` (如 `MAX_COUNT`) +- **多平台兼容**: 确保代码在 macOS, Windows, Linux 下均可运行。 -## 开发任务 -### 规范 -使用了删除线的就代表已执行完成 +## 📝 开发任务 +> 符号说明:[x] 已完成, [-] 已取消, [ ] 待执行 -### 任务列表 \ No newline at end of file +### 任务列表 +- [ ] (在此处添加新任务)