@blueking/bkui-knowledge 0.0.1-beta.3 → 0.0.1-beta.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
  只需添加 MCP 服务配置:
12
12
 
13
- **方式一:npx(推荐)**
13
+ ### Cursor(默认)
14
14
 
15
15
  ```json
16
16
  {
@@ -23,15 +23,29 @@
23
23
  }
24
24
  ```
25
25
 
26
- **方式二:本地开发**
26
+ ### CodeBuddy
27
+
28
+ 在 CodeBuddy 设置 > MCP 标签页中添加:
29
+
30
+ ```json
31
+ {
32
+ "bkui-knowledge": {
33
+ "command": "npx",
34
+ "args": ["-y", "@blueking/bkui-knowledge", "${workspaceFolder}", "--ide=codebuddy"]
35
+ }
36
+ }
37
+ ```
38
+
39
+ > 💡 通过 `--ide` 参数指定目标 IDE,不指定时默认使用 Cursor
40
+
41
+ ### 本地开发
27
42
 
28
43
  ```json
29
44
  {
30
45
  "mcpServers": {
31
46
  "bkui-knowledge": {
32
47
  "command": "node",
33
- "args": ["/path/to/bkui-knowledge/bin/bkui-knowledge.js"],
34
- "cwd": "/path/to/your-project"
48
+ "args": ["/path/to/bkui-knowledge/bin/bkui-knowledge.js", "${workspaceFolder}"]
35
49
  }
36
50
  }
37
51
  }
@@ -40,8 +54,9 @@
40
54
  > ⚠️ 必须传递项目路径,否则 skills 无法同步到正确位置
41
55
 
42
56
  **特性:**
43
- - ✅ 首次启动自动同步推荐 skills `.cursor/skills/`
44
- - ✅ 自动生成 `.cursor/rules/bkui.mdc`(规则自动注入 AI 上下文)
57
+ - ✅ 支持 Cursor CodeBuddy 两种 IDE
58
+ - ✅ 首次启动自动同步推荐 skills
59
+ - ✅ 自动生成规则文件(自动注入 AI 上下文)
45
60
  - ✅ 自动检测版本更新,增量同步
46
61
  - ✅ 零 Token 消耗(skills 不经过 AI 上下文)
47
62
  - ✅ 离线可用(skills 已在本地)
@@ -54,13 +69,14 @@
54
69
 
55
70
  MCP 服务启动时,skills 会自动同步到用户项目:
56
71
 
57
- 1. **首次启动**:自动同步推荐的 skills 到 `.cursor/skills/`
72
+ 1. **首次启动**:自动同步推荐的 skills
58
73
  2. **后续启动**:检测版本差异,自动增量更新
59
- 3. **同步位置**:
60
- - `.cursor/skills/*.md` - 技能文档
61
- - `.cursor/commands/*.md` - 斜杠指令(可通过 `/skill-id` 调用)
62
- - `.cursor/rules/bkui.mdc` - 规则文件(自动注入 AI 上下文)
63
- - `.cursor/.bkui-knowledge-version` - 版本标记
74
+ 3. **同步位置**(根据 `--ide` 参数):
75
+
76
+ | IDE | Skills | Rules | Version |
77
+ |-----|--------|-------|---------|
78
+ | Cursor (默认) | `.cursor/skills/` | `.cursor/rules/bkui.mdc` | `.cursor/.bkui-knowledge-version` |
79
+ | CodeBuddy | `.codebuddy/skills/` | `.codebuddy/rules/bkui.mdc` | `.codebuddy/.bkui-knowledge-version` |
64
80
 
65
81
  **更新机制**:
66
82
  - skills 内置在 npm 包中
@@ -309,16 +325,19 @@ npm run test:server # 测试 MCP 服务器功能
309
325
  ## 常见问题
310
326
 
311
327
  ### Q: 如何查看所有可用资源?
312
- A: 让 AI 调用 `get_knowledge_index()`,规则已自动注入到 `.cursor/rules/bkui.mdc`
328
+ A: 让 AI 调用 `get_knowledge_index()`,规则已自动注入到对应 IDE 的 rules 目录
313
329
 
314
330
  ### Q: 设计稿还原效果不好?
315
331
  A: 使用 `@BKUI-EXPERT`,它会引导 AI 按完整流程执行
316
332
 
317
333
  ### Q: 知识库更新了怎么办?
318
- A: 发布新版本 npm 包后,用户下次启动 Cursor 时 `npx -y` 会自动拉取最新版本
334
+ A: 发布新版本 npm 包后,用户下次启动 IDE 时 `npx -y` 会自动拉取最新版本
319
335
 
320
336
  ### Q: skills 没有同步成功?
321
- A: 检查 `.cursor/skills/` 目录是否存在,或查看 Cursor 的 MCP 日志
337
+ A: 检查对应 IDE 的 skills 目录是否存在(Cursor: `.cursor/skills/`,CodeBuddy: `.codebuddy/skills/`),或查看 IDE 的 MCP 日志
338
+
339
+ ### Q: 如何切换到 CodeBuddy?
340
+ A: 在 MCP 配置的 args 中添加 `--ide=codebuddy` 参数
322
341
 
323
342
  ---
324
343
 
@@ -7,6 +7,8 @@
7
7
  * 2. 启动 MCP stdio 服务
8
8
  *
9
9
  * 用法(用户只需配置一次):
10
+ *
11
+ * Cursor(默认):
10
12
  * {
11
13
  * "mcpServers": {
12
14
  * "bkui-knowledge": {
@@ -16,6 +18,18 @@
16
18
  * }
17
19
  * }
18
20
  *
21
+ * CodeBuddy:
22
+ * {
23
+ * "bkui-knowledge": {
24
+ * "command": "npx",
25
+ * "args": ["-y", "@blueking/bkui-knowledge", "${workspaceFolder}", "--ide=codebuddy"]
26
+ * }
27
+ * }
28
+ *
29
+ * 参数说明:
30
+ * - 第一个非 -- 开头的参数: 项目路径
31
+ * - --ide=cursor|codebuddy: 指定目标 IDE(默认 cursor)
32
+ *
19
33
  * 项目路径传递方式(优先级从高到低):
20
34
  * 1. 命令行参数: npx @blueking/bkui-knowledge /path/to/project
21
35
  * 2. 环境变量: BKUI_PROJECT_ROOT=/path/to/project
@@ -30,12 +44,20 @@
30
44
  const fs = require('fs');
31
45
  const path = require('path');
32
46
 
33
- // 配置
34
- const CONFIG = {
35
- skillsDir: '.cursor/skills',
36
- commandsDir: '.cursor/commands',
37
- rulesDir: '.cursor/rules',
38
- versionFile: '.cursor/.bkui-knowledge-version'
47
+ // IDE 配置映射
48
+ const IDE_CONFIGS = {
49
+ cursor: {
50
+ name: 'Cursor',
51
+ configDir: '.cursor',
52
+ skillsDir: '.cursor/skills',
53
+ versionFile: '.cursor/.bkui-knowledge-version'
54
+ },
55
+ codebuddy: {
56
+ name: 'CodeBuddy',
57
+ configDir: '.codebuddy',
58
+ skillsDir: '.codebuddy/skills',
59
+ versionFile: '.codebuddy/.bkui-knowledge-version'
60
+ }
39
61
  };
40
62
 
41
63
  // npm 包根目录
@@ -46,14 +68,40 @@ function log(msg) {
46
68
  process.stderr.write(`[BKUI-Knowledge] ${msg}\n`);
47
69
  }
48
70
 
71
+ /**
72
+ * 解析 --ide 参数,获取目标 IDE
73
+ * @returns {string} IDE 标识符 (cursor | codebuddy)
74
+ */
75
+ function getTargetIDE() {
76
+ const ideArg = process.argv.find(arg => arg.startsWith('--ide='));
77
+ if (ideArg) {
78
+ const ide = ideArg.split('=')[1].toLowerCase();
79
+ if (IDE_CONFIGS[ide]) {
80
+ return ide;
81
+ }
82
+ log(`警告: 未知 IDE "${ide}",使用默认值 cursor`);
83
+ }
84
+ return 'cursor'; // 默认使用 Cursor
85
+ }
86
+
87
+ /**
88
+ * 获取当前 IDE 配置
89
+ * @returns {object} IDE 配置对象
90
+ */
91
+ function getIDEConfig() {
92
+ const ide = getTargetIDE();
93
+ return IDE_CONFIGS[ide];
94
+ }
95
+
49
96
  /**
50
97
  * 获取用户项目根目录
51
98
  * 优先级:命令行参数 > 环境变量 > cwd
52
99
  */
53
100
  function getProjectRoot() {
54
- // 1. 命令行参数: node bkui-knowledge.js /path/to/project
55
- if (process.argv[2] && !process.argv[2].startsWith('-')) {
56
- return process.argv[2];
101
+ // 1. 命令行参数: node bkui-knowledge.js /path/to/project (过滤掉 -- 开头的参数)
102
+ const pathArg = process.argv.slice(2).find(arg => !arg.startsWith('-'));
103
+ if (pathArg) {
104
+ return pathArg;
57
105
  }
58
106
  // 2. 环境变量: BKUI_PROJECT_ROOT=/path/to/project
59
107
  if (process.env.BKUI_PROJECT_ROOT) {
@@ -77,9 +125,12 @@ function getPackageVersion() {
77
125
 
78
126
  /**
79
127
  * 检查是否需要同步
128
+ * @param {string} projectRoot - 项目根目录
129
+ * @param {string} currentVersion - 当前版本
130
+ * @param {object} ideConfig - IDE 配置
80
131
  */
81
- function needsSync(projectRoot, currentVersion) {
82
- const versionFile = path.join(projectRoot, CONFIG.versionFile);
132
+ function needsSync(projectRoot, currentVersion, ideConfig) {
133
+ const versionFile = path.join(projectRoot, ideConfig.versionFile);
83
134
  if (!fs.existsSync(versionFile)) {
84
135
  return true;
85
136
  }
@@ -87,71 +138,12 @@ function needsSync(projectRoot, currentVersion) {
87
138
  return localVersion !== currentVersion;
88
139
  }
89
140
 
90
- /**
91
- * 生成 Cursor Rules 文件(自动注入 AI 上下文)
92
- */
93
- function generateRules(projectRoot, manifest) {
94
- const rulesDir = path.join(projectRoot, CONFIG.rulesDir);
95
- fs.mkdirSync(rulesDir, { recursive: true });
96
-
97
- const skillList = manifest.skills.items.map(s => `| ${s.id} | ${s.name} |`).join('\n');
98
- const apiPriority = manifest.componentApis.priority.map(n => `bk-${n}`).join(', ');
99
- const allApis = manifest.componentApis.items.map(a => a.id).join(', ');
100
- const recommendedSkills = manifest.recommendedSkills || [];
101
-
102
- const rulesContent = `---
103
- description: BKUI 蓝鲸前端知识库规则(自动注入)
104
- globs: ["**/*.vue", "**/*.ts", "**/*.tsx"]
105
- ---
106
-
107
- # BKUI 蓝鲸前端技术规范
108
-
109
- 你是蓝鲸前端技术专家,拥有团队知识库访问权限。采用**渐进式披露架构**。
110
-
111
- ## ✅ Skills 已自动同步
112
-
113
- 推荐的 skills 已自动同步到 \`.cursor/skills/\` 目录:
114
- ${recommendedSkills.map(id => `- ${id}`).join('\n')}
115
-
116
- ## 可用资源索引
117
-
118
- ### Skills (调用 get_skill 获取详情)
119
- | ID | 名称 |
120
- |----|------|
121
- ${skillList}
122
-
123
- > 💡 bkui-builder 包含布局模版和页面模版 (assets/)
124
-
125
- ### Component APIs (调用 get_component_api 获取文档)
126
- ⚠️ **高优先级 (必须先查询):** ${apiPriority}
127
-
128
- 全部组件: ${allApis}
129
-
130
- ## 工作流程
131
- 1. 分析需求 → 确定需要哪些资源
132
- 2. 使用布局组件? → get_component_api({ componentName: 'navigation' })
133
- 3. 需要模板代码? → get_skill({ skillId: 'bkui-builder' })
134
- 4. 批量获取? → batch_load({ skillIds: [...], componentNames: [...] })
135
-
136
- ## 强制规范
137
- - 组件库: bkui-vue (前缀 bk-)
138
- - 语法: Vue 3 <script setup lang="ts">
139
- - 布局: 必须使用 bk-navigation
140
-
141
- ## 常见错误 (必须避免)
142
- ❌ <bk-navigation :default-open-keys> → ✅ default-open
143
- ❌ <bk-menu :default-open-keys> → ✅ :opened-keys
144
- ❌ <bk-dialog v-model> → ✅ v-model:isShow
145
- `;
146
-
147
- fs.writeFileSync(path.join(rulesDir, 'bkui.mdc'), rulesContent, 'utf-8');
148
- log(' ✓ .cursor/rules/bkui.mdc (规则自动注入)');
149
- }
150
-
151
141
  /**
152
142
  * 同步 skills 到用户项目(从 npm 包内置的 knowledge 目录)
143
+ * @param {string} projectRoot - 项目根目录
144
+ * @param {object} ideConfig - IDE 配置
153
145
  */
154
- function syncSkills(projectRoot) {
146
+ function syncSkills(projectRoot, ideConfig) {
155
147
  try {
156
148
  const manifestPath = path.join(PKG_ROOT, 'knowledge/manifest.json');
157
149
 
@@ -166,18 +158,16 @@ function syncSkills(projectRoot) {
166
158
  const version = `${pkgVersion}-${manifest.updated_at || 'unknown'}`;
167
159
 
168
160
  // 检查是否需要同步
169
- if (!needsSync(projectRoot, version)) {
170
- log(`skills 已是最新版本 (v${pkgVersion})`);
161
+ if (!needsSync(projectRoot, version, ideConfig)) {
162
+ log(`[${ideConfig.name}] skills 已是最新版本 (v${pkgVersion})`);
171
163
  return;
172
164
  }
173
165
 
174
- log(`同步 skills (v${pkgVersion})...`);
166
+ log(`[${ideConfig.name}] 同步 skills (v${pkgVersion})...`);
175
167
 
176
168
  // 创建目录
177
- const skillsDir = path.join(projectRoot, CONFIG.skillsDir);
178
- const commandsDir = path.join(projectRoot, CONFIG.commandsDir);
169
+ const skillsDir = path.join(projectRoot, ideConfig.skillsDir);
179
170
  fs.mkdirSync(skillsDir, { recursive: true });
180
- fs.mkdirSync(commandsDir, { recursive: true });
181
171
 
182
172
  // 同步推荐的 skills
183
173
  let count = 0;
@@ -190,23 +180,19 @@ function syncSkills(projectRoot) {
190
180
 
191
181
  const content = fs.readFileSync(skillFilePath, 'utf-8');
192
182
  fs.writeFileSync(path.join(skillsDir, `${skillId}.md`), content, 'utf-8');
193
- fs.writeFileSync(path.join(commandsDir, `${skillId}.md`), `请加载使用 ${skillId} skill`, 'utf-8');
194
183
 
195
184
  log(` ✓ ${skillId}`);
196
185
  count++;
197
186
  }
198
187
 
199
- // 生成 Cursor Rules 文件
200
- generateRules(projectRoot, manifest);
201
-
202
188
  // 保存版本信息
203
- fs.mkdirSync(path.dirname(path.join(projectRoot, CONFIG.versionFile)), { recursive: true });
204
- fs.writeFileSync(path.join(projectRoot, CONFIG.versionFile), version, 'utf-8');
189
+ fs.mkdirSync(path.dirname(path.join(projectRoot, ideConfig.versionFile)), { recursive: true });
190
+ fs.writeFileSync(path.join(projectRoot, ideConfig.versionFile), version, 'utf-8');
205
191
 
206
- log(`同步完成!共 ${count} 个 skills + rules`);
192
+ log(`[${ideConfig.name}] 同步完成!共 ${count} 个 skills`);
207
193
 
208
194
  } catch (error) {
209
- log(`同步失败: ${error.message}(不影响 MCP 服务)`);
195
+ log(`[${ideConfig.name}] 同步失败: ${error.message}(不影响 MCP 服务)`);
210
196
  }
211
197
  }
212
198
 
@@ -322,12 +308,14 @@ async function startMcpServer() {
322
308
  */
323
309
  async function main() {
324
310
  const projectRoot = getProjectRoot();
311
+ const ideConfig = getIDEConfig();
325
312
 
326
- // 调试:输出实际的工作目录
313
+ // 调试:输出实际的工作目录和目标 IDE
327
314
  log(`工作目录: ${projectRoot}`);
315
+ log(`目标 IDE: ${ideConfig.name}`);
328
316
 
329
317
  // 1. 同步 skills(同步执行,从 npm 包读取)
330
- syncSkills(projectRoot);
318
+ syncSkills(projectRoot, ideConfig);
331
319
 
332
320
  // 2. 启动 MCP 服务
333
321
  await startMcpServer();
@@ -107,6 +107,13 @@
107
107
  "category": "security",
108
108
  "path": "nodejs-security-check/SKILL.md",
109
109
  "tags": ["security", "nodejs", "backend", "ssrf", "sql-injection"]
110
+ },
111
+ {
112
+ "id": "bkui-quick-start",
113
+ "name": "BKUI 快速入门",
114
+ "category": "engineering",
115
+ "path": "bkui-quick-start/SKILL.md",
116
+ "tags": ["bkui", "规范", "索引", "入门"]
110
117
  }
111
118
  ]
112
119
  },
@@ -663,5 +670,5 @@
663
670
  ]
664
671
  },
665
672
 
666
- "recommendedSkills": ["bkui-builder", "bkui-cheatsheet", "code-review", "js-security-check"]
673
+ "recommendedSkills": ["bkui-quick-start", "bkui-builder", "bkui-cheatsheet", "code-review", "js-security-check"]
667
674
  }
@@ -0,0 +1,68 @@
1
+ # BKUI 快速入门
2
+
3
+ > 蓝鲸前端知识库入口指南,包含规范、索引和工作流程。
4
+
5
+ ## 强制规范
6
+
7
+ - **组件库**: bkui-vue (前缀 `bk-`)
8
+ - **语法**: Vue 3 `<script setup lang="ts">`
9
+ - **样式**: MagicBox 原子类 (mt10, mb20)
10
+ - **布局**: 必须使用 `bk-navigation`
11
+
12
+ ## 常见错误 (必须避免)
13
+
14
+ | 组件 | 错误写法 | 正确写法 |
15
+ |------|----------|----------|
16
+ | bk-navigation | `:default-open-keys` | `default-open` |
17
+ | bk-menu | `:default-open-keys` | `:opened-keys` |
18
+ | bk-dialog | `v-model` | `v-model:isShow` |
19
+
20
+ ## 可用 Skills
21
+
22
+ 通过 `get_skill({ skillId: 'xxx' })` 获取详情:
23
+
24
+ | ID | 名称 | 说明 |
25
+ |----|------|------|
26
+ | bkui-builder | 设计稿还原专家 | 包含布局模版和页面模版 (assets/) |
27
+ | bkui-cheatsheet | BKUI 组件速查 | Props 速查、常见坑点 |
28
+ | api-standard | 统一网络请求封装 | Axios 封装规范 |
29
+ | pinia-setup | 全局状态管理 | Pinia Store 模板 |
30
+ | permission-directive | 前端权限控制 | IAM 权限指令 |
31
+ | vite-migration | Webpack 到 Vite 迁移 | 迁移检查脚本 |
32
+ | bundle-optimization | Vite 构建优化 | 性能优化配置 |
33
+ | vue-composables | Vue 3 Composables | 最佳实践和模板 |
34
+ | virtual-list | 长列表虚拟滚动 | 性能优化方案 |
35
+ | unit-testing | 组件单元测试 | Vitest 测试模板 |
36
+ | code-review | 代码评审专家 | 评审规范和检查清单 |
37
+ | js-security-check | JavaScript 安全审查 | 前端安全检查 |
38
+ | nodejs-security-check | Node.js 安全审查 | 后端安全检查 |
39
+
40
+ ## Component APIs
41
+
42
+ 通过 `get_component_api({ componentName: 'xxx' })` 获取文档:
43
+
44
+ ### 高优先级 (必须先查询)
45
+
46
+ - `bk-navigation` - 布局组件,易出错
47
+ - `bk-menu` - 与 navigation 配合
48
+ - `bk-table` - 列表页核心组件
49
+ - `bk-form` - 表单验证
50
+ - `bk-dialog` - v-model:isShow
51
+
52
+ ### 全部组件
53
+
54
+ navigation, menu, table, form, dialog, button, input, select, checkbox, radio, date-picker, time-picker, pagination, message, notify, loading, popover, pop-confirm, tag, tag-input, alert, dropdown, tab, cascader, tree, steps, upload, sideslider, breadcrumb, card, collapse, affix, backtop, badge, divider, exception, image, link, progress, rate, slider, switcher, timeline, process, transfer, search-select, color-picker, container, resize-layout, fixed-navbar, code-diff, swiper, animate-number, overflow-title, virtual-render, scrollbar, info-box, config-provider
55
+
56
+ ## 工作流程
57
+
58
+ 1. **分析需求** → 确定需要哪些资源
59
+ 2. **使用布局组件?** → `get_component_api({ componentName: 'navigation' })`
60
+ 3. **需要模板代码?** → `get_skill({ skillId: 'bkui-builder' })`
61
+ 4. **批量获取?** → `batch_load({ skillIds: [...], componentNames: [...] })`
62
+
63
+ ## 触发条件
64
+
65
+ 遇到以下关键词时,应主动使用本知识库:
66
+ - bk-navigation, bk-menu, bk-table, bk-form, bk-dialog 等 bk- 前缀组件
67
+ - bkui-vue, 蓝鲸组件库, MagicBox, 蓝鲸前端
68
+ - 设计稿还原, 管理后台页面
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@blueking/bkui-knowledge",
3
- "version": "0.0.1-beta.3",
4
- "description": "蓝鲸前端知识库 MCP 服务 - 自动同步 skills,支持 Cursor/VSCode",
3
+ "version": "0.0.1-beta.5",
4
+ "description": "蓝鲸前端知识库 MCP 服务 - 自动同步 skills,支持 Cursor/CodeBuddy",
5
5
  "main": "server/mcp-core.js",
6
6
  "bin": {
7
7
  "bkui-knowledge": "./bin/bkui-knowledge.js"
@@ -20,7 +20,7 @@
20
20
  "repository": {
21
21
  "type": "git"
22
22
  },
23
- "keywords": ["mcp", "cursor", "ai", "knowledge-base", "bkui", "vue3"],
23
+ "keywords": ["mcp", "cursor", "codebuddy", "ai", "knowledge-base", "bkui", "vue3"],
24
24
  "author": "ielgnaw",
25
25
  "license": "ISC"
26
26
  }
@@ -21,31 +21,17 @@ const KNOWLEDGE_DIR = path.join(ROOT_DIR, 'knowledge');
21
21
  // 重要: 工具描述会被自动注入到 AI 上下文,因此在此嵌入核心规则
22
22
  // ---------------------------------------------------------
23
23
  const TOOLS = [
24
- // L0 工具: 获取索引 (核心工具,描述中嵌入规则)
24
+ // L0 工具: 获取索引
25
25
  {
26
26
  name: "get_knowledge_index",
27
- description: `【蓝鲸前端知识库】当用户需要使用 bk- 组件、bkui-vue、蓝鲸组件库、MagicBox 时,必须使用此知识库的工具。
28
-
29
- ## 自动触发条件
30
- 遇到以下关键词时,应主动调用本知识库工具:
31
- - bk-navigation, bk-menu, bk-table, bk-form, bk-dialog 等 bk- 前缀组件
32
- - bkui-vue, 蓝鲸组件库, MagicBox, 蓝鲸前端
33
- - 设计稿还原, 管理后台页面
34
-
35
- ## 强制规范
36
- - 组件库: bkui-vue (前缀 bk-)
37
- - 语法: Vue 3 <script setup lang="ts">
38
- - 样式: MagicBox 原子类 (mt10, mb20)
39
-
40
- ## ⚠️ 常见错误
41
- - bk-navigation 用 default-open,不是 default-open-keys
42
- - bk-menu 用 opened-keys,不是 default-open-keys
43
- - bk-dialog 用 v-model:isShow,不是 v-model
44
-
45
- ## 工作流程
46
- 1. 使用 bk- 组件前,先调用 get_component_api 获取 API
47
- 2. 需要页面模板时,调用 get_skill({ skillId: 'bkui-builder' }) 获取规则
48
- 3. 根据布局分析报告按需加载模版资源`,
27
+ description: `【蓝鲸前端知识库】遇到 bk- 组件、bkui-vue、蓝鲸组件库时必须使用。
28
+
29
+ 首次使用时,请先读取 .cursor/skills/bkui-quick-start.md 获取完整规范和索引。
30
+
31
+ 快速参考:
32
+ - bk-dialog v-model:isShow(不是 v-model)
33
+ - bk-menu 用 opened-keys(不是 default-open-keys)
34
+ - bk-navigation 用 default-open(不是 default-open-keys)`,
49
35
  inputSchema: {
50
36
  type: "object",
51
37
  properties: {
@@ -61,7 +47,7 @@ const TOOLS = [
61
47
  // L1 工具: 获取 Skill 详情
62
48
  {
63
49
  name: "get_skill",
64
- description: "获取技能文档 (Markdown)。可用 ID: bkui-builder(设计稿还原), layout-rules(布局规范), api-standard(请求封装), pinia-setup(状态管理), vite-migration(Vite迁移), bundle-optimization(构建优化), virtual-list(虚拟滚动), unit-testing(单测), bkui-cheatsheet(速查表)",
50
+ description: "获取技能文档 (Markdown)。可用 ID: bkui-quick-start(入门指南), bkui-builder(设计稿还原), bkui-cheatsheet(速查表), api-standard(请求封装), pinia-setup(状态管理), vite-migration(Vite迁移), bundle-optimization(构建优化), virtual-list(虚拟滚动), unit-testing(单测), code-review(代码评审)",
65
51
  inputSchema: {
66
52
  type: "object",
67
53
  properties: {
@@ -447,7 +433,6 @@ ${recommendedIds.map(id => {
447
433
  ### 同步位置
448
434
 
449
435
  - \`.cursor/skills/*.md\` - 技能文档
450
- - \`.cursor/commands/*.md\` - 斜杠指令 (可通过 /${recommendedIds[0]} 调用)
451
436
  - \`.cursor/rules/bkui.mdc\` - 规则文件 (自动注入 AI 上下文)
452
437
  - \`.cursor/.bkui-knowledge-version\` - 版本标记
453
438