bmall-mcp 1.1.3 → 1.1.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/.kiro/settings/mcp.json +4 -0
- package/README.md +14 -3
- package/dist/server/handlers.d.ts.map +1 -1
- package/dist/server/handlers.js +8 -1
- package/dist/server/handlers.js.map +1 -1
- package/dist/server/tools.d.ts +7 -3
- package/dist/server/tools.d.ts.map +1 -1
- package/dist/server/tools.js +8 -1
- package/dist/server/tools.js.map +1 -1
- package/dist/tools/rules/push.d.ts +1 -1
- package/dist/tools/rules/push.d.ts.map +1 -1
- package/dist/tools/rules/push.js +4 -5
- package/dist/tools/rules/push.js.map +1 -1
- package/package.json +1 -1
- package/src/server/handlers.ts +8 -1
- package/src/server/tools.ts +8 -1
- package/src/tools/rules/push.ts +4 -5
package/README.md
CHANGED
|
@@ -138,6 +138,20 @@ src/
|
|
|
138
138
|
|
|
139
139
|
## Changelog
|
|
140
140
|
|
|
141
|
+
### v1.1.4 (2026-01-14)
|
|
142
|
+
- ✅ `pull_rules` 和 `push_rules` 的 `ide` 参数改为必填
|
|
143
|
+
- ✅ 未指定 IDE 时返回明确提示信息
|
|
144
|
+
|
|
145
|
+
### v1.1.3 (2026-01-14)
|
|
146
|
+
- ✅ 优化 README 工具列表展示(表格 + 折叠详情)
|
|
147
|
+
- ✅ `push_rules` 说明自动创建项目分支
|
|
148
|
+
|
|
149
|
+
### v1.1.2 (2026-01-14)
|
|
150
|
+
- ✅ README 添加官方源配置说明
|
|
151
|
+
|
|
152
|
+
### v1.1.1 (2026-01-14)
|
|
153
|
+
- ✅ 更新 RulesManager 仓库地址
|
|
154
|
+
|
|
141
155
|
### v1.1.0 (2026-01-13)
|
|
142
156
|
- ✅ 新增 `mta_implementation` 埋点代码生成工具
|
|
143
157
|
- ✅ 新增 `mta_integration` 埋点业务集成工具
|
|
@@ -169,9 +183,6 @@ src/
|
|
|
169
183
|
- ✅ 新增 `common` 规则类型支持
|
|
170
184
|
- ✅ 更新 README 文档
|
|
171
185
|
|
|
172
|
-
### v1.0.1 (2026-01-12)
|
|
173
|
-
- ⚠️ 跳过(发布时 README 未更新)
|
|
174
|
-
|
|
175
186
|
### v1.0.0
|
|
176
187
|
- ✅ 初始版本
|
|
177
188
|
- ✅ pull_rules / push_rules / standard_git_commit 三个工具
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/server/handlers.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/server/handlers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAsFH;;GAEG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;GAO9B"}
|
package/dist/server/handlers.js
CHANGED
|
@@ -20,14 +20,21 @@ function errorResponse(message) {
|
|
|
20
20
|
const handlers = {
|
|
21
21
|
pull_rules: async (args) => {
|
|
22
22
|
const ide = args.ide;
|
|
23
|
+
if (!ide) {
|
|
24
|
+
return errorResponse("请指定当前使用的 IDE: kiro / cursor / windsurf / joycode");
|
|
25
|
+
}
|
|
23
26
|
const rulesType = args.rulesType;
|
|
24
27
|
const result = await pullRules(ide, rulesType);
|
|
25
28
|
return textResponse(result);
|
|
26
29
|
},
|
|
27
30
|
push_rules: async (args) => {
|
|
31
|
+
const ide = args.ide;
|
|
32
|
+
if (!ide) {
|
|
33
|
+
return errorResponse("请指定当前使用的 IDE: kiro / cursor / windsurf / joycode");
|
|
34
|
+
}
|
|
28
35
|
const message = args.message;
|
|
29
36
|
const rulesType = args.rulesType;
|
|
30
|
-
const result = await pushRules(message, rulesType);
|
|
37
|
+
const result = await pushRules(ide, message, rulesType);
|
|
31
38
|
return textResponse(result);
|
|
32
39
|
},
|
|
33
40
|
standard_git_commit: async (args) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../src/server/handlers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAClF,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAE5E,SAAS;AACT,SAAS,YAAY,CAAC,IAAY;IAChC,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,CAAC;KAC3C,CAAC;AACJ,CAAC;AAED,SAAS;AACT,SAAS,aAAa,CAAC,OAAe;IACpC,OAAO,YAAY,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC;AACtC,CAAC;AAKD,MAAM,QAAQ,GAAgC;IAC5C,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAyB,CAAC;QAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,SAA+B,CAAC;QACvD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC/C,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAED,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,OAA6B,CAAC;QACnD,MAAM,SAAS,GAAG,IAAI,CAAC,SAA+B,CAAC;QACvD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../src/server/handlers.ts"],"names":[],"mappings":"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"}
|
package/dist/server/tools.d.ts
CHANGED
|
@@ -25,7 +25,7 @@ export declare const toolDefinitions: ({
|
|
|
25
25
|
moduleName?: undefined;
|
|
26
26
|
businessCodePath?: undefined;
|
|
27
27
|
};
|
|
28
|
-
required
|
|
28
|
+
required: string[];
|
|
29
29
|
};
|
|
30
30
|
} | {
|
|
31
31
|
name: string;
|
|
@@ -33,6 +33,11 @@ export declare const toolDefinitions: ({
|
|
|
33
33
|
inputSchema: {
|
|
34
34
|
type: string;
|
|
35
35
|
properties: {
|
|
36
|
+
ide: {
|
|
37
|
+
type: string;
|
|
38
|
+
enum: string[];
|
|
39
|
+
description: string;
|
|
40
|
+
};
|
|
36
41
|
message: {
|
|
37
42
|
type: string;
|
|
38
43
|
description: string;
|
|
@@ -42,7 +47,6 @@ export declare const toolDefinitions: ({
|
|
|
42
47
|
enum: string[];
|
|
43
48
|
description: string;
|
|
44
49
|
};
|
|
45
|
-
ide?: undefined;
|
|
46
50
|
scope?: undefined;
|
|
47
51
|
requirementUrl?: undefined;
|
|
48
52
|
platform?: undefined;
|
|
@@ -50,7 +54,7 @@ export declare const toolDefinitions: ({
|
|
|
50
54
|
moduleName?: undefined;
|
|
51
55
|
businessCodePath?: undefined;
|
|
52
56
|
};
|
|
53
|
-
required
|
|
57
|
+
required: string[];
|
|
54
58
|
};
|
|
55
59
|
} | {
|
|
56
60
|
name: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/server/tools.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,eAAe
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/server/tools.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAkH3B,CAAC"}
|
package/dist/server/tools.js
CHANGED
|
@@ -11,7 +11,7 @@ export const toolDefinitions = [
|
|
|
11
11
|
ide: {
|
|
12
12
|
type: "string",
|
|
13
13
|
enum: ["kiro", "cursor", "windsurf", "joycode"],
|
|
14
|
-
description: "
|
|
14
|
+
description: "当前使用的 IDE",
|
|
15
15
|
},
|
|
16
16
|
rulesType: {
|
|
17
17
|
type: "string",
|
|
@@ -19,6 +19,7 @@ export const toolDefinitions = [
|
|
|
19
19
|
description: "Rules 类型 (可选,默认自动检测)",
|
|
20
20
|
},
|
|
21
21
|
},
|
|
22
|
+
required: ["ide"],
|
|
22
23
|
},
|
|
23
24
|
},
|
|
24
25
|
{
|
|
@@ -27,6 +28,11 @@ export const toolDefinitions = [
|
|
|
27
28
|
inputSchema: {
|
|
28
29
|
type: "object",
|
|
29
30
|
properties: {
|
|
31
|
+
ide: {
|
|
32
|
+
type: "string",
|
|
33
|
+
enum: ["kiro", "cursor", "windsurf", "joycode"],
|
|
34
|
+
description: "当前使用的 IDE",
|
|
35
|
+
},
|
|
30
36
|
message: {
|
|
31
37
|
type: "string",
|
|
32
38
|
description: "提交信息 (可选)",
|
|
@@ -37,6 +43,7 @@ export const toolDefinitions = [
|
|
|
37
43
|
description: "Rules 类型 (可选,默认自动检测)",
|
|
38
44
|
},
|
|
39
45
|
},
|
|
46
|
+
required: ["ide"],
|
|
40
47
|
},
|
|
41
48
|
},
|
|
42
49
|
{
|
package/dist/server/tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/server/tools.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B;QACE,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,kCAAkC;QAC/C,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,GAAG,EAAE;oBACH,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAC;oBAC/C,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/server/tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare function pushRules(message?: string, rulesType?: string): Promise<string>;
|
|
1
|
+
export declare function pushRules(ide: string, message?: string, rulesType?: string): Promise<string>;
|
|
2
2
|
//# sourceMappingURL=push.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../../../src/tools/rules/push.ts"],"names":[],"mappings":"AAiBA,wBAAsB,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../../../src/tools/rules/push.ts"],"names":[],"mappings":"AAiBA,wBAAsB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA2GlG"}
|
package/dist/tools/rules/push.js
CHANGED
|
@@ -3,7 +3,7 @@ import * as path from "path";
|
|
|
3
3
|
import { execSync } from "child_process";
|
|
4
4
|
import { log } from "../utils.js";
|
|
5
5
|
import { GIT_BRANCH, RULES_CACHE_DIR, IDE_PATHS, validateAndGetRulesType, detectProjectName, getGitRulesDir, copyMarkdownFiles, initializeGitCache, setupSparseCheckout, checkoutOrCreateBranch, } from "./utils.js";
|
|
6
|
-
export async function pushRules(message, rulesType) {
|
|
6
|
+
export async function pushRules(ide, message, rulesType) {
|
|
7
7
|
try {
|
|
8
8
|
// 验证并获取 Rules 类型
|
|
9
9
|
const typeResult = validateAndGetRulesType(rulesType);
|
|
@@ -11,11 +11,10 @@ export async function pushRules(message, rulesType) {
|
|
|
11
11
|
return typeResult.error;
|
|
12
12
|
}
|
|
13
13
|
const projectType = typeResult.type;
|
|
14
|
-
// 验证并获取 IDE
|
|
15
|
-
const
|
|
16
|
-
const localRulesPath = IDE_PATHS[targetIDE];
|
|
14
|
+
// 验证并获取 IDE
|
|
15
|
+
const localRulesPath = IDE_PATHS[ide];
|
|
17
16
|
if (!localRulesPath) {
|
|
18
|
-
return `❌ 不支持的 IDE: ${
|
|
17
|
+
return `❌ 不支持的 IDE: ${ide}`;
|
|
19
18
|
}
|
|
20
19
|
// 检测项目名称,用于创建项目级分支
|
|
21
20
|
const projectName = detectProjectName();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"push.js","sourceRoot":"","sources":["../../../src/tools/rules/push.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EACL,UAAU,EACV,eAAe,EACf,SAAS,EACT,uBAAuB,EACvB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,YAAY,CAAC;AAEpB,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,OAAgB,EAAE,SAAkB;
|
|
1
|
+
{"version":3,"file":"push.js","sourceRoot":"","sources":["../../../src/tools/rules/push.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/server/handlers.ts
CHANGED
|
@@ -27,15 +27,22 @@ type ToolHandler = (args: Record<string, unknown>) => Promise<ReturnType<typeof
|
|
|
27
27
|
const handlers: Record<string, ToolHandler> = {
|
|
28
28
|
pull_rules: async (args) => {
|
|
29
29
|
const ide = args.ide as string | undefined;
|
|
30
|
+
if (!ide) {
|
|
31
|
+
return errorResponse("请指定当前使用的 IDE: kiro / cursor / windsurf / joycode");
|
|
32
|
+
}
|
|
30
33
|
const rulesType = args.rulesType as string | undefined;
|
|
31
34
|
const result = await pullRules(ide, rulesType);
|
|
32
35
|
return textResponse(result);
|
|
33
36
|
},
|
|
34
37
|
|
|
35
38
|
push_rules: async (args) => {
|
|
39
|
+
const ide = args.ide as string | undefined;
|
|
40
|
+
if (!ide) {
|
|
41
|
+
return errorResponse("请指定当前使用的 IDE: kiro / cursor / windsurf / joycode");
|
|
42
|
+
}
|
|
36
43
|
const message = args.message as string | undefined;
|
|
37
44
|
const rulesType = args.rulesType as string | undefined;
|
|
38
|
-
const result = await pushRules(message, rulesType);
|
|
45
|
+
const result = await pushRules(ide, message, rulesType);
|
|
39
46
|
return textResponse(result);
|
|
40
47
|
},
|
|
41
48
|
|
package/src/server/tools.ts
CHANGED
|
@@ -12,7 +12,7 @@ export const toolDefinitions = [
|
|
|
12
12
|
ide: {
|
|
13
13
|
type: "string",
|
|
14
14
|
enum: ["kiro", "cursor", "windsurf", "joycode"],
|
|
15
|
-
description: "
|
|
15
|
+
description: "当前使用的 IDE",
|
|
16
16
|
},
|
|
17
17
|
rulesType: {
|
|
18
18
|
type: "string",
|
|
@@ -20,6 +20,7 @@ export const toolDefinitions = [
|
|
|
20
20
|
description: "Rules 类型 (可选,默认自动检测)",
|
|
21
21
|
},
|
|
22
22
|
},
|
|
23
|
+
required: ["ide"],
|
|
23
24
|
},
|
|
24
25
|
},
|
|
25
26
|
{
|
|
@@ -28,6 +29,11 @@ export const toolDefinitions = [
|
|
|
28
29
|
inputSchema: {
|
|
29
30
|
type: "object",
|
|
30
31
|
properties: {
|
|
32
|
+
ide: {
|
|
33
|
+
type: "string",
|
|
34
|
+
enum: ["kiro", "cursor", "windsurf", "joycode"],
|
|
35
|
+
description: "当前使用的 IDE",
|
|
36
|
+
},
|
|
31
37
|
message: {
|
|
32
38
|
type: "string",
|
|
33
39
|
description: "提交信息 (可选)",
|
|
@@ -38,6 +44,7 @@ export const toolDefinitions = [
|
|
|
38
44
|
description: "Rules 类型 (可选,默认自动检测)",
|
|
39
45
|
},
|
|
40
46
|
},
|
|
47
|
+
required: ["ide"],
|
|
41
48
|
},
|
|
42
49
|
},
|
|
43
50
|
{
|
package/src/tools/rules/push.ts
CHANGED
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
checkoutOrCreateBranch,
|
|
16
16
|
} from "./utils.js";
|
|
17
17
|
|
|
18
|
-
export async function pushRules(message?: string, rulesType?: string): Promise<string> {
|
|
18
|
+
export async function pushRules(ide: string, message?: string, rulesType?: string): Promise<string> {
|
|
19
19
|
try {
|
|
20
20
|
// 验证并获取 Rules 类型
|
|
21
21
|
const typeResult = validateAndGetRulesType(rulesType);
|
|
@@ -24,11 +24,10 @@ export async function pushRules(message?: string, rulesType?: string): Promise<s
|
|
|
24
24
|
}
|
|
25
25
|
const projectType = typeResult.type;
|
|
26
26
|
|
|
27
|
-
// 验证并获取 IDE
|
|
28
|
-
const
|
|
29
|
-
const localRulesPath = IDE_PATHS[targetIDE];
|
|
27
|
+
// 验证并获取 IDE
|
|
28
|
+
const localRulesPath = IDE_PATHS[ide];
|
|
30
29
|
if (!localRulesPath) {
|
|
31
|
-
return `❌ 不支持的 IDE: ${
|
|
30
|
+
return `❌ 不支持的 IDE: ${ide}`;
|
|
32
31
|
}
|
|
33
32
|
|
|
34
33
|
// 检测项目名称,用于创建项目级分支
|