Skip to content

Commit 991b621

Browse files
feat: v3.0.0 版本更新 - 添加详细更新日志和新功能概述
## 📋 PR 合并说明 本次合并包含 quantum-design 项目的重大架构优化和 v3.0.0 版本准备工作。 ### 🎯 主要变更 1. **项目架构优化** - 移除 `apps/playground-nuxt` 示例应用(精简项目结构) - 统一配置管理,使用 `@quantum-design-configs` 系列包 2. **开发体验提升** - 更新 `.vscode/settings.json`,优化开发环境配置 - 添加 `.prettierignore` 文件,改进格式化流程 - ESLint 配置迁移到 flat config 格式(`eslint.config.mjs`) 3. **文档完善** - 大幅更新 `README.md`,增加详细使用说明 - 新增 `CLAUDE.md`,为 AI 开发助手提供指导 - 添加 `.github/copilot-instructions.md`,集成 CloudBase AI 开发规则 4. **版本升级准备** - 更新项目说明指向 v3.0.0 版本 - 为 Vite 7.x 和 Nuxt 4 升级做准备 ### 🔍 审查结果 - ✅ **自动化检查**: 全部通过 - ✅ **代码质量**: CodeRabbit 自动审查完成 - ✅ **合并状态**: 成功合并到 main 分支 ### 📊 变更统计 - **影响文件**: 30+ 个文件 - **删除文件**: `apps/playground-nuxt` 整个目录 - **新增/修改**: 配置文件、文档、开发工具配置 --- *审查完成时间: 2025-11-27T11:54:27Z* *审查工具: GitHub + CodeRabbit 自动审查*
1 parent 1c3d9fa commit 991b621

File tree

469 files changed

+47607
-186601
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

469 files changed

+47607
-186601
lines changed

.changeset/config.json

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
{
2-
"$schema": "https://unpkg.com/@changesets/config@3.0.2/schema.json",
3-
"changelog": "@changesets/cli/changelog",
4-
"commit": false,
5-
"fixed": [],
6-
"linked": [],
7-
"access": "restricted",
8-
"baseBranch": "main",
9-
"updateInternalDependencies": "patch",
10-
"ignore": ["project-docs", "playground", "@quantum-design/polyfill", "create-quantum-app"]
2+
"$schema": "https://unpkg.com/@changesets/config@3.0.2/schema.json",
3+
"changelog": "@changesets/cli/changelog",
4+
"commit": false,
5+
"fixed": [],
6+
"linked": [],
7+
"access": "restricted",
8+
"baseBranch": "main",
9+
"updateInternalDependencies": "patch",
10+
"ignore": ["project-docs", "playground", "@quantum-design/polyfill"]
1111
}

.claude/commands/spec.md

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
# /spec - 强制使用完整 spec 流程
2+
3+
## 命令说明
4+
5+
强制使用完整 spec 流程进行开发,适用于新功能开发、复杂架构设计、多模块集成、涉及数据库/UI设计等场景。
6+
7+
## 工作流程
8+
9+
### 0. 重要提醒
10+
11+
请注意!必须遵守以下的规则,每个环节完成后都需要由我进行确认后才可进行下一个环节;
12+
13+
### 1. 需求澄清
14+
15+
如果你判断我的输入提出的是一个新需求,可以按照下面的标准软件工程的方式独立开展工作,需要时才向我询问,可以采用 interactiveDialog 工具来收集
16+
17+
### 2. 需求分析
18+
19+
每当我输入新的需求的时候,为了规范需求质量和验收标准,必须首先会搞清楚问题和需求,然后再进入下一阶段
20+
21+
### 3. 需求文档和验收标准设计
22+
23+
首先完成需求的设计,按照 EARS 简易需求语法方法来描述,如果你判断需求涉及到前端页面,需要在需求中提前确定好设计风格和配色,必须跟我进行确认需求细节,最终确认清楚后,需求定稿,然后再进入下一阶段,保存在 `specs/spec_name/requirements.md` 中,参考格式如下
24+
25+
```markdown
26+
# 需求文档
27+
28+
## 介绍
29+
30+
需求描述
31+
32+
## 需求
33+
34+
### 需求 1 - 需求名称
35+
36+
**用户故事:** 用户故事内容
37+
38+
#### 验收标准
39+
40+
1. 采用 ERAS 描述的子句 While <可选前置条件>, when <可选触发器>, the <系统名称> shall <系统响应>,例如 When 选择"静音"时,笔记本电脑应当抑制所有音频输出。
41+
2. ... ...
42+
```
43+
44+
### 4. 技术方案设计
45+
46+
在完成需求的设计之后,你会根据当前的技术架构和前面确认好的需求,进行需求的技术方案设计,精简但是能够准确的描述技术的架构(例如架构、技术栈、技术选型、数据库/接口设计、测试策略、安全性),必要时可以用 mermaid 来绘图,必须跟我确认清楚后,保存在 `specs/spec_name/design.md` 中,然后再进入下一阶段
47+
48+
### 5. 任务拆分
49+
50+
在完成技术方案设计后,你会根据需求文档和技术方案,细化具体要做的事情,必须跟我确认清楚后,保存在`specs/spec_name/tasks.md` 中, 然后再进入下一阶段,开始正式执行任务,同时需要及时更新任务的状态,执行的时候尽可能独立自主运行,保证效率和质量
51+
52+
任务参考格式如下
53+
54+
```markdown
55+
# 实施计划
56+
57+
- [ ] 1. 任务信息
58+
- 具体要做的事情
59+
- ...
60+
- \_需求: 相关的需求点的编号
61+
```
62+
63+
## 适用场景
64+
65+
- 新功能开发
66+
- 复杂架构设计
67+
- 多模块集成
68+
- 涉及数据库/UI设计
69+
- 需要详细规划和文档的项目

.commitlintrc.js

Lines changed: 0 additions & 3 deletions
This file was deleted.

.eslintrc.js

Lines changed: 0 additions & 5 deletions
This file was deleted.

.github/copilot-instructions.md

Lines changed: 241 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,241 @@
1+
---
2+
description: CloudBase AI 开发规则指南 - 提供场景化的最佳实践,确保开发质量
3+
globs: *
4+
alwaysApply: true
5+
---
6+
7+
# 📋 CloudBase AI 开发规则指南
8+
9+
## 🎯 开发流程规范 - 场景识别与最佳实践
10+
11+
**重要:为确保开发质量,AI 需要在开始工作前完成以下步骤:**
12+
13+
### 1. 场景识别
14+
15+
首先需要识别当前的开发场景类型:
16+
17+
- **Web 项目**:React/Vue/原生 JS 等前端项目
18+
- **微信小程序**:小程序云开发项目
19+
- **数据库相关**:涉及数据操作的项目
20+
- **UI 设计**:需要界面设计的项目
21+
22+
### 2. 规则文件选择
23+
24+
根据识别的场景,需要参考对应的专业规则文件:
25+
26+
**📋 场景规则映射表(必须遵守):**
27+
28+
- **Web 项目** → 必读:`rules/web-development.mdc` + `rules/cloudbase-platform.mdc`
29+
- **微信小程序** → 必读:`rules/miniprogram-development.mdc` + `rules/cloudbase-platform.mdc`
30+
- **数据库操作** → 额外读:`rules/database.mdc`
31+
- **UI 设计** → 额外读:`rules/ui-design.mdc`
32+
33+
### 3. 开发确认
34+
35+
在开始工作前建议向用户确认:
36+
37+
1. "我识别这是一个 [场景类型] 项目"
38+
2. "我将严格遵循以下规则文件:[具体文件列表]"
39+
3. "请确认我的理解是否正确"
40+
41+
## 核心行为规则
42+
43+
1. **工具优先**:关于腾讯云开发的操作,必须优先使用 cloudbase 的 MCP 工具
44+
2. **项目理解**:首先阅读当前项目的 README.md,遵照项目说明开发
45+
3. **目录规范**:在当前目录下产出项目代码之前,先检查当前目录文件
46+
4. **部署顺序**:有后端依赖时,优先部署后端再预览前端
47+
5. **交互确认**:需求不明确时使用 interactiveDialog 澄清,执行高风险操作前必须确认
48+
6. **实时通信**:使用云开发的实时数据库 watch 能力
49+
7. **认证规则**:当用户开发项目的时候,如果用到用户登录认证,需要用到内置的认证功能,必须严格区分平台的认证方式
50+
- **Web 项目**:必须使用 CloudBase Web SDK 内置认证(如 `auth.toDefaultLoginPage()`
51+
- **小程序项目**:天然免登录,云函数中获取 `wxContext.OPENID`
52+
53+
## 工作流
54+
55+
你会根据用户的需求智能判断使用哪种模式来开发,默认情况下采用 spec 来开发
56+
57+
**智能判断标准:**
58+
59+
- **使用 spec**:新功能开发、复杂架构设计、多模块集成、涉及数据库/UI设计
60+
- **跳过 spec**:简单修复、文档更新、配置修改、代码重构
61+
62+
### Workflow 命令控制
63+
64+
用户也可以通过指令来要求
65+
66+
**可用命令:**
67+
68+
- **/spec** - 强制使用完整 spec 流程
69+
- **/no_spec** - 跳过 spec 流程,直接执行
70+
- **/help** - 显示命令帮助
71+
72+
以下是 spec 工作流:<spec_workflow> 0. 请注意!必须遵守以下的规则,每个环节完成后都需要由我进行确认后才可进行下一个环节;
73+
74+
1. 如果你判断我的输入提出的是一个新需求,可以按照下面的标准软件工程的方式独立开展工作,需要时才向我询问,可以采用 interactiveDialog 工具来收集
75+
2. 每当我输入新的需求的时候,为了规范需求质量和验收标准,必须首先会搞清楚问题和需求,然后再进入下一阶段
76+
3. 需求文档和验收标准设计:首先完成需求的设计,按照 EARS 简易需求语法方法来描述,如果你判断需求涉及到前端页面,需要在需求中提前确定好设计风格和配色,必须跟我进行确认需求细节,最终确认清楚后,需求定稿,然后再进入下一阶段,保存在 `specs/spec_name/requirements.md` 中,参考格式如下
77+
78+
```markdown
79+
# 需求文档
80+
81+
## 介绍
82+
83+
需求描述
84+
85+
## 需求
86+
87+
### 需求 1 - 需求名称
88+
89+
**用户故事:** 用户故事内容
90+
91+
#### 验收标准
92+
93+
1. 采用 ERAS 描述的子句 While <可选前置条件>, when <可选触发器>, the <系统名称> shall <系统响应>,例如 When 选择"静音"时,笔记本电脑应当抑制所有音频输出。
94+
2. ... ...
95+
```
96+
97+
4. 技术方案设计: 在完成需求的设计之后,你会根据当前的技术架构和前面确认好的需求,进行需求的技术方案设计,精简但是能够准确的描述技术的架构(例如架构、技术栈、技术选型、数据库/接口设计、测试策略、安全性),必要时可以用 mermaid 来绘图,必须跟我确认清楚后,保存在 `specs/spec_name/design.md` 中,然后再进入下一阶段
98+
5. 任务拆分:在完成技术方案设计后,你会根据需求文档和技术方案,细化具体要做的事情,必须跟我确认清楚后,,保存在`specs/spec_name/tasks.md` 中, 然后再进入下一阶段,开始正式执行任务,同时需要及时更新任务的状态,执行的时候尽可能独立自主运行,保证效率和质量
99+
100+
任务参考格式如下
101+
102+
```markdown
103+
# 实施计划
104+
105+
- [ ] 1. 任务信息
106+
- 具体要做的事情
107+
- ...
108+
- \_需求: 相关的需求点的编号
109+
```
110+
111+
</workflow>
112+
113+
## 🔄 开发工作流程
114+
115+
## 开发
116+
117+
1. **下载云开发 AI 规则或者其他模板**:推荐从模板开始新的项目,可以使用downloadTemplate 来下载,如果无法下载到当前目录,可以使用脚本来进行复制,注意隐藏文件也需要复制
118+
119+
2. **小程序 TabBar等素材下载下载远程素材链接**:小程序的 Tabbar 等素材图片,必须使用 **png** 格式,必须使用 downloadRemoteFile 工具下载文件到本地
120+
121+
如果应用中需要远程链接,可以继续调用 uploadFile 上传后获得临时访问链接和云存储的 cloudId
122+
123+
3. **从知识库查询专业知识**: 如果对于云开发某块知识不确定,可以使用 searchKnowledgeBase 工具智能检索云开发知识库(支持云开发与云函数、小程序前端知识等),通过向量搜索快速获取专业文档与答案
124+
125+
4. **微信开发者工具打开项目流程**
126+
127+
- 当检测到当前项目为小程序项目时,建议用户使用微信开发者工具进行预览调试和发布
128+
- 在打开前确认 project.config.json 中配置了 appid 字段,如果没有配置,必须向用户询问获取
129+
- 使用微信开发者内置的 CLI 命令打开项目(指向 project.config.json 所在目录):
130+
- Windows: `"C:\Program Files (x86)\Tencent\微信web开发者工具\cli.bat" open --project "项目根目录路径"`
131+
- macOS: `/Applications/wechatwebdevtools.app/Contents/MacOS/cli open --project "/path/to/project/root"`
132+
- 项目根目录路径为包含 project.config.json 文件的目录
133+
134+
### 部署流程
135+
136+
1. **部署云函数流程**:可以通过 getFunctionList MCP 工具来查询是否有云函数,然后直接调用 createFunction 或者 updateFunctionCode 更新云函数代码,只需要将functionRootPath 指向云函数目录的父目录(例如 cloudfuncitons 这个目录的绝对路径),不需要压缩代码等操作,上述工具会自动读取云函数父目录下的云函数同名目录的文件,并自动进行部署
137+
138+
2. **部署静态托管流程**:通过使用 uploadFiles 工具部署,部署完毕后提醒用户 CDN 有几分钟缓存,可以生成一个带有随机 queryString 的markdown 格式 访问链接
139+
140+
### 文档生成规则
141+
142+
1. 你会在生成项目后生成一个 README.md 文件,里面包含项目的基本信息,例如项目名称、项目描述, 最关键的是要把项目的架构和涉及到的云开发资源说清楚,让维护者可以参考来进行修改和维护
143+
2. 部署完毕后,如果是 web 可以把正式部署的访问地址也写到文档中
144+
145+
### 配置文件规则
146+
147+
1. 为了方便其他不使用 AI 的人了解有哪些资源,可以在生成之后,同时生成一个 cloudbaserc.json
148+
149+
### MCP 接口调用规则
150+
151+
你调用mcp服务的时候,需要充分理解所有要调用接口的数据类型,以及返回值的类型,如果你不确定需要调用什么接口,请先查看文档和tools的描述,然后根据文档和tools的描述,确定你需要调用什么接口和参数,不要出现调用的方法参数,或者参数类型错误的情况。
152+
153+
例如,很多接口都需要传confirm参数,这个参数是boolean类型,如果你不提供这个参数,或者提供错误的数据类型错误,那么接口会返回错误。
154+
155+
## 🔍 专业规则文件详细说明
156+
157+
## 使用指导
158+
159+
- **Web 项目开发**:主要参考 `rules/web-development.mdc` + `rules/cloudbase-platform.mdc` + `rules/workflows.mdc`
160+
- **微信小程序开发**:主要参考 `rules/miniprogram-development.mdc` + `rules/cloudbase-platform.mdc` + `rules/workflows.mdc`
161+
- **数据库相关**:额外参考 `rules/database.mdc`, MySQL 数据库参考 `rules/data-model-creation.mdc`
162+
- **UI 设计需求**:额外参考 `rules/ui-design.mdc`
163+
- **数据模型建模**:额外参考 `rules/data-model-creation.mdc`
164+
165+
### 📱 rules/miniprogram-development.mdc
166+
167+
**强制适用**:微信小程序项目
168+
169+
- 小程序项目结构和配置
170+
- 微信开发者工具 CLI 集成
171+
- 云开发能力和 API 使用
172+
- **特别注意**:严禁使用 Web SDK 认证方式
173+
174+
### 🌐 rules/web-development.mdc
175+
176+
**强制适用**:Web 前端项目
177+
178+
- 现代前端工程化(Vite/Webpack)
179+
- 静态托管部署和预览
180+
- CloudBase Web SDK 集成和认证
181+
- **特别注意**:必须使用 SDK 内置认证功能
182+
183+
### ☁️ rules/cloudbase-platform.mdc
184+
185+
**通用必读**:所有 CloudBase 项目
186+
187+
- 云开发环境配置和认证机制
188+
- 云函数、数据库、存储服务
189+
- 数据模型和权限策略
190+
- 控制台管理链接
191+
192+
### 🗄️ rules/database.mdc
193+
194+
**条件必读**:涉及数据库操作时
195+
196+
- CloudBase 数据库操作规范
197+
- 权限管理和安全策略
198+
- 错误处理和数据更新
199+
200+
### 🎨 rules/ui-design.mdc
201+
202+
**条件必读**:需要界面设计时
203+
204+
- 高保真原型设计
205+
- UI/UX 规范和样式处理
206+
207+
### rules/data-model-creation.mdc
208+
209+
描述数据模型AI建模和创建的专业规则,包含:
210+
211+
- Mermaid ER图建模规范和语法
212+
- MySQL数据类型映射指导
213+
- 业务场景到数据结构转换规则
214+
- 数据模型创建工具使用规范
215+
- 适用于需要AI驱动数据建模的项目
216+
217+
## ⚡ 开发质量检查清单
218+
219+
为确保开发质量,建议在开始任务前完成以下检查:
220+
221+
### ✅ 推荐完成的步骤
222+
223+
1. **[ ] 场景识别**:明确当前是什么类型的项目(Web/小程序/数据库/UI)
224+
2. **[ ] 规则声明**:明确列出将要遵循的规则文件清单
225+
3. **[ ] 用户确认**:向用户确认场景识别和规则选择是否正确
226+
4. **[ ] 规则执行**:严格按照选定的规则文件进行开发
227+
228+
### ⚠️ 常见问题避免
229+
230+
- 避免跳过场景识别直接开始开发
231+
- 避免混用不同平台的 API 和认证方式
232+
- 避免忽略专业规则文件的指导
233+
- 重要技术方案建议与用户确认
234+
235+
### 🔄 质量保障
236+
237+
如发现开发不符合规范,可以:
238+
239+
- 指出具体问题点
240+
- 要求重新执行规则检查流程
241+
- 明确指定需要遵循的规则文件

.gitignore

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,8 @@ vite.config.ts.*
5151
cache
5252
/cache/**/*
5353
.temp
54+
**/.vitepress/cache/**/*
55+
@cache/
5456

5557
# Nuxt dev/build outputs
5658
.output
@@ -61,3 +63,13 @@ cache
6163

6264
# cursor
6365
.cursor/mcp.json
66+
67+
# Generated by Cargo
68+
# will have compiled files and executables
69+
**/target/
70+
**/gen/schemas
71+
configs/tailwind/src/index.ts
72+
report/sentryfix.json
73+
sentryfix.md
74+
report/performance.json
75+
performance.md

.lintstagedrc.mjs

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,14 @@
11
export default {
22
'*.{js,jsx,ts,tsx}': [
3-
// 'prettier --cache --ignore-unknown --write',
4-
'eslint --cache --fix',
5-
],
6-
'*.{scss,less,styl,html,vue,css}': [
7-
'prettier --cache --ignore-unknown --write',
3+
// 'prettier --cache --ignore-unknown --write',
4+
'eslint --cache --fix',
85
],
6+
'*.{scss,less,styl,html,vue,css}': ['prettier --cache --ignore-unknown --write'],
97
'*.md': ['prettier --cache --ignore-unknown --write'],
108
'*.vue': [
11-
// 'prettier --write',
12-
'eslint --cache --fix',
13-
],
14-
'{!(package)*.json,*.code-snippets,.!(browserslist|npm)*rc}': [
15-
'prettier --cache --write--parser json',
9+
// 'prettier --write',
10+
'eslint --cache --fix',
1611
],
12+
'{!(package)*.json,*.code-snippets,.!(browserslist|npm)*rc}': ['prettier --cache --write--parser json'],
1713
'package.json': ['prettier --cache --write'],
18-
};
19-
14+
};

0 commit comments

Comments
 (0)